Now, I have a 32x32 texture. Something a smartphone can handle.
Problem is, it sorta garbles it and I don’t know why. I don’t recall fooling with any texture settings, but I may have without realizing it.
What could lead to it becoming so garbled?
Texture type “Texture” has a preset which says to use filtering, refer to this page:
In order to override that, try to change the type to “Advanced” and set the filter mode to “Point”. Also make sure to deactivate mip maps, you won’t really need those with a 32x32 texture and may get unexpected results.
Note though that in this case the mip maps were not the issue - they only come into play once the camera distance from the object increases in order to a) decrease aliasing effects (like fffMalzbier said) and b) to decrease the texel load on the graphics operations, or in other words, usually they are used to make things look better and increase performance. They consume more memory though (1/3 of the original texture size added on top).
In Unity mip maps may also be used to decrease the overall quality of the graphics to better suit not-so-well-equipped devices. The Quality settings in Unity tell exactly what kind of texture (from the generated mipmaps, if there are any for the corresponding texture) to use based on the quality level’s “Texture Quality” setting.
Along with mip maps goes filtering, yet that is done one step before actually applying any mip maps. Filtering takes a pixel of the texture (texel) and interpolates it with the pixels around it to get a smoother look. This is what happened with your texture. In your case though it is clear that you will need every single pixel of the texture to actually have it display alright and thus turn filtering off (“Point”).
Then there are several ways of filtering, bilinear being the simpliest one. In this technique the mip maps are applied based on the distance. No matter what. That could lead to some bad looking edges. Trilinear interpolates those, so it’ll look better, but will still give you blurry textures in the distance. Anisotropic filtering is the best and gives you the best looking results, but it also uses considerably more power than the other two.
Tom’s Hardware had a nice article on that topic a few years ago. It was somehow explaining that for ATI devices in detail, but still gives a very good general overview of the different filtering techniques and mip maps, and is still valid nowadays though posted in 2004.
Anisotropic is a different thing, and is additional to bilinear/trilinear. It’s used for textures viewed at an angle so they are less distorted in the distance, and is useless if textures are always viewed straight on.