How can i stop the stretch effect of a material when i add it to an object and then resize it

When i add a material to an object and then resize the object, the material stretches and goes all fuzzy. How can i stop this?

Is there a way to tile it?

Unity borrows the idea of Materials and UVs, tiling … all of it from standard 3D modeling. Unity borrows a lot of things from a a lot of places, which is a good thing.

The best way to understand why textures stretch, an so on, is to learn about the normal, non-Unity, way that Textures are applied, what tiling means, how UV mapping works … . Do searches without the word Unity in them. Things that are about 3dsMax or blender (3D modeling programs) might be good, but look for an explanation, not exact settings.

Then all of this will make sense, including why the rule is for textures to stretch. Sure, you can find a line or two that will solve one exact particular problem. But if you plan to do this for real, it’s better to do the reading. Then you’ll also have a skill that applies to any sort of 3D computer stuff, and be able to solve all sorts of Unity texture problems.

When you scale a model, UV mapping stays the same. In the case of simple models such as quads, planes and boxes, sometimes it could be useful to use procedural UV generation, such as planar texture mapping which uses world coordinates to generate UV coordinates. The answer then would be to use a shader (i.e. find, buy or write it) which supports planar texture mapping.

Triplanar texture mapping can also be used to automatically texture an object on all three axis and is often used with voxel terrain. These shaders can be used on all kinds of geometry while planar mapping will look fine if it’s flat but will look stretched if vertices start pointing along the axis it’s projecting from.

It can also be called texture projection or uv projection.