So… I’ve been doing OK getting into the meat of Epic Games’ Unreal Engine 5.5. A lot of the general knowledge I picked up when learning Blender translates pretty well.
What doesn’t translate well, it turns out, are the UV maps I so painstakingly set up in Blender.
I discovered this doing a tutorial on setting up an Unreal Engine 5 material so that it could be used to paint vertices. I got my material all set up and working, then decided to try it on a mesh I’d imported.
Nothing.
Turns out, you can’t paint on nanite-enabled meshes. So you have to disable nanite for the mesh to get access to the paint brush in mesh paint mode. Only… going into wireframe mode showed a UV that was NOTHING like the one I’d created in Blender. Examining the UV channel when editing the mesh details showed me something that looked like it was made by a kindergartner after too much soda (… or pop if you wanna argue about it).
I tried LOTS of stuff that had me doing things like reading Reddit forums and wading through post after post of people having similar but different-enough issues that nothing helped. When I disabed nanite for the mesh, I lost the UV map.
The trick, in my case at least, is to not build nanite in the first place.
During the import process, unticking the “build nanite” option let me get the UV map into Unreal Engine with no problems. If I look at the UV channel in the mesh editor, I still see overlapping sections, but that’s because I separated out materials in Blender and applied a separate instance of my UE5 material to each material slot. (I don’t know how this will affect lighting, so I’ll probably avoid any overlap in UVs for finished pieces.)
Painting on my mesh now works like a dream!
You can easily enable nanite for an imported mesh by browsing for the asset in the Content Drawer, right-clicking (MB2) on it, going to nanite, and then enabling or disabling it. A HUGE caveat here is that you can’t vertex paint on a nanite-enabled mesh at this point. So if you spend a lot of time painting a mesh and then enable nanite, all your hard work will disappear.
There is a slot in the material properties for a material to use when nanite is enabled, so at least you can have options from which to choose. Like importing two versions of meshes – one for use with nanite and one without. That way, you can drop an instance of the rigid mesh only when you want to vertex paint on it, and take advantage of nanite in all other instances.
I’ll probably keep “build nanite” enabled, then only import a separate “no build nanite” version of something when I want to do some vertex painting.
Disabling nanite for the mesh will retain the correct UV map imported from Blender. So it’s really just a matter of losing any vertex painting you were doing. At least, as far as I know at this point.
