Textures different in Unity

Hi, I’m trying to import a mesh that uses shader nodes in Blender. I know that shader nodes in Blender are not supported by Unity, but I was wondering if there’s a way to do what I did in Blender, in Unity.
In Blender, the texture is always facing up and doesn’t stretch. Is there a way to do this in Unity?
The image attached shows what is happening in both Unity and Blender.

I would bake the material in Blender, but it’s a very big object that needs a lot of detail. I have tried unwrapping the UV as big as the actual sides are, but I couldn’t find out how.

Any Blender node that generates texture coordinates is probably not going to work in Unity, unless you write your own shader to do it. Here’s some ways to write shaders in Unity:

Otherwise, unwrap your objects in Blender and assign your materials. Pretty much any basic Youtube tutorial untexture unwrapping and painting in Unity will show you the steps. This guy does some good stuff:

1 Like

Mostly it looks like the following:

  • The texture is rotated 180’ versus Blender’s version. Unity’s materials don’t support rotation innately, so you’d need to rotate the UVs of the objects themselves.
  • It looks like you’ve swapped the X and Y axis scaling (Tiling) factors of the material in Unity. That is, in Unity the pattern looks half as wide, but twice as tall. Look at the material’s Tiling in Unity, and try doubling the X and halfing the Y value. (Or play around with those two values.)

Thanks so much for your help, I ended up making my own shader in the shader graph. If anyone wants it, here’s the tutorial I followed:
https://www.youtube.com/watch?v=vIh_6xtBwsI

1 Like