Here are the different data types available for vertex attributes in a Mesh. The ones that have a smaller range take up less memory, which improves performance a bit. The "u" stands for "unsigned", which means it can't hold negative values but instead has a larger positive range.

byteA signed 8 bit number, from -128 to 127.
ubyteAn unsigned 8 bit number, from 0 to 255.
shortA signed 16 bit number, from -32768 to 32767.
ushortAn unsigned 16 bit number, from 0 to 65535.
intA signed 32 bit number, from -2147483648 to 2147483647.
uintAn unsigned 32 bit number, from 0 to 4294967295.
floatA 32 bit floating-point number (large range, but can start to lose precision).

See also