The usual "Calculus" definition of convergence of a sequence of functions is
"\{f_n(x)\} converges to f(x) if and only if, for each x_0, given \epsilon> 0, there exist an integer N such that if n>N then |f_n(x_0)- f(x_0)|< \epsilon"
which looks like a metric statement.
However, you can phrase it more generally as
"\{f_n(x)\} converges to f(x) if and only if, given an open set U containing f(x_0), there exist an integer N such that if n> N then f_n(x_0)\in U" which can be given in any topological space, not just metric spaces.
But the definition of "uniform" convergence of a sequence of functions is
"\{f_n(x)\} converges to f(x) if and only if, for each x_0, given \epsilon> 0, there exist an integer N such that if n>N then |f_n(x_0)- f(x_0)|< \epsilon"
Do you see the difference? The "for each x_" and "given \epsilon> 0" have been switched. That means that, for a given \epsilon the same N must work for every x_0. Comparing it to the second definition, above, that did not require a metric, it is saying that the open sets, at different f(x_0) must be of the same "size"- and "size" of sets is only defined in metric spaces.