Sometimes you need to work with models which are provided without textures thus no UV mapping. Ideally you just UV unrwap them in Blender, but it would take too long when working with sets of multiple meshes especially since you need to correct the result by hand. Still you usually want to texture them somehow, obviously with a generic tiling texture.

I was wondering what options Godot 4 offers in dealing with models that have no UV map. How can you project a tiling texture in such a way so it shows up on surfaces without stretching? Blender for instance lets you use the object coordinates as a projection point, when you plug that into a material node you can put any texture on any mesh no problem.

In Godot the only method I'm aware of is triplanar mapping: I believe that overrides the UV map to project the texture from X Y Z world axes. That's mainly intended for terrain though: Should I use it as a workaround for meshes with no UV map, and is there a better way otherwise?

    Looked closely again and the only way clearly seems to be triplanar. But it does exactly what I'm thinking of, likely similar to Blender's object coordinate projection just by its proper name. There's a warning about decreased performance but the material is only computed once, thus this shouldn't do much harm especially for static lights / objects correct?

    Megalomaniak Yep, now that I think about it. Only difference seems to be triplanar mapping has some stretching on diagonal surfaces where projections mix, but that shouldn't be anything too obvious at all. I used to think that's a feature for terrains but it can be used for a lot of things.

    Also triplanar now has a checkbox that lets me use world coordinates. This is great for static 3D tiles of the same type being repeated at different positions, since the texture mapping can seamlessly differ between meshes now, especially if you use the builtin noise instead of an image texture! That makes it all even more awesome for procedurally generated worlds.