In many physics textbooks it is given the following definition of unit vector: "A unit vector is every vector whose magnitude is 1 unit". I don't like this definition.
On one hand, it is quite common to use a notation for unit vectors (for instance a hat, $\hat{u}$) different to the one used for vectors in general (usually, an arrow, $\vec{A}$). We could have a vector $\vec{A}$ in an exercise or problem and find at the end that it has a magnitude of 1 unit. ¿Would $\vec{A}$ be a unit vector? I don't think so.
I think that unit vectors arise as a consecuence of normalizing another vector $\vec{A}$, that is, by dividing it by its magnitude,
$$ \hat{u} = \frac{\vec{A}}{|\vec{A}|} $$
so that we get a vector $\hat{u}$ with just vector $\vec{A}$'s direction information.
According to units, at this point we can consider two paths:
Suppose that $|\vec{A}|$ has the same units as $\vec{A}$. Then $\hat{u}$ is a dimensionless quantity.
Suppose that $|\vec{A}|$ is dimensionless. Then $\hat{u}$ has the same units as $\vec{A}$.
I think the first option is the one that is usually used.
This last thing would also be a reason to not consider every vector with magnitude 1 unit a unit vector. In order to be a unit vector it must be dimensioness.
Is correct my definition of unit vector?