I'm reading the proof of Theorem 3.28. in Brezis's Functional Analysis.
Theorem 3.28. Let $E$ be a Banach space. If $B_{E^{\star}}$ is metrizable in $\sigma\left(E^{\star}, E\right)$, then $E$ is separable.
Proof: Suppose $B_{E^{\star}}$ is metrizable in $\sigma\left(E^{\star}, E\right)$ and let us prove that $E$ is separable. Set $$ U_n=\left\{f \in B_{E^{\star}} ; d(f, 0)<1 / n\right\} $$
and let $V_n$ be a neighborhood of $0$ in $\sigma\left(E^{\star}, E\right)$ such that $V_n \subset U_n$. We may assume that $V_n$ has the form $$ V_n=\left\{f \in B_{E^{\star}} ; |\langle f, x\rangle|<\varepsilon_n \quad \forall x \in \Phi_n\right\} $$
with $\varepsilon_n>0$ and $\Phi_n$ is a finite subset of $E$. Set $$ D=\bigcup_{n=1}^{\infty} \Phi_n, $$
so that $D$ is countable. We claim that the vector space generated by $D$ is dense in $E$ (which implies that $E$ is separable). Indeed, suppose $f \in E^{\star}$ is such that $\langle f, x\rangle=0 \quad \forall x \in D$. It follows that $f \in V_n \quad \forall n$ and therefore $f \in U_n \quad \forall n$, so that $f=0$.
My question: I could not see the role of $B_{E^\star}$ in above proof besides the fact that $0 \in B_{E^\star}$. In my "unreal" proof below, I don't use $B_{E^\star}$. Could you elaborate on where I made logical mistakes?
My attempt: Fix $g \in E^\star$ such that $g \neq 0$. Let $C := \{0, g\}$. Let $\sigma_C\left(E^{\star}, E\right)$ be the subspace topology on $C$ that is induced from $\sigma\left(E^{\star}, E\right)$. Because $\sigma\left(E^{\star}, E\right)$ is Hausdorff, we get $$ \sigma_C\left(E^{\star}, E\right) = \{\emptyset, \{0\}, \{g\}, \{0, g\}\}. $$
As such, $\sigma_C\left(E^{\star}, E\right)$ is metrizable by a metric $d$ defined on $C$ by $d(g, 0) = 1$. Set $$ U_n := \left\{f \in C ; d(f, 0)<1 / n\right\}. $$
Then $U_n$ is an open ball, and thus an open neighborhood (nbh) of $0$ in $\sigma_C\left(E^{\star}, E\right)$. Then there is an open nbh $U'_n$ of $0$ in $\sigma\left(E^{\star}, E\right)$ such that $U_n = U'_n \cap C$. WLOG, $U'_n$ has the form $$ U'_n=\left\{f \in E^\star ; |\langle f, x\rangle|<\varepsilon_n \quad \forall x \in \Phi_n\right\}. $$ with $\varepsilon_n>0$ and $\Phi_n$ is a finite subset of $E$. Because $U_n = U'_n \cap C$, we get $$ U_n=\left\{f \in C ; |\langle f, x\rangle|<\varepsilon_n \quad \forall x \in \Phi_n\right\}. $$
Set $$ D=\bigcup_{n=1}^{\infty} \Phi_n, $$ so that $D$ is countable. We claim that the vector space generated by $D$ is dense in $E$ (which implies that $E$ is separable). Indeed, suppose $f \in E^{\star}$ is such that $\langle f, x\rangle=0 \quad \forall x \in D$. It follows that $f \in U_n \quad \forall n$, so that $f=0$.
Reading the "unreal" proof, I do not think that $f\in U_n$ holds but rather $f\in U_n'$ holds, so you would have to show that $f\in C$ as well to conclude that $f\in U_n$. This does not seem feasible for a general $f$ as belonging to $C$ is pretty restrictive condition.
As for the proof, not only are you using the fact that $0\in B_{E^\star}$ but also the fact that a function being zero can be accurately determined by checking at countable points, as $\cap_n V_n = \{0\}$ and if $f=0$ over $\phi_n$ you guarantee $f\in V_n$. The important concept appears to be that this can be guaranteed by countable $V_n$, or that $0$ has a countable neighbourhood basis, which one can of course conclude easily when the ball is metrizable but may not hold in general spaces.