[Solved] Vertex Painting Mesh not working for imported meshes

I’m trying to figure out why vertex painting isn’t working on my Quixel mesh. The big white/red floor underneath this wicker basket is a simple static mesh created inside UE5 with a handful of polygons (~50). It has the exact same material applied to it as the basket. That material is very simple - two colors blended by a lerp, controlled by a vertex color input. The floor paints fine, but the basket ignores the paintbrush (the brush UI is there and looks normal, the colors just don’t change as they should). I created a wooden pillar in blender that I’ve also tested this on, and the pillar isn’t painting either. I’m trying to figure out what step I missed, such that unreal-created geometry paints fine but imported geometry doesn’t. I’m using weight painting, default paint settings.

Update: Just tried importing the same mesh from Blender into Unreal 4.27 and Unreal 5 - it worked fine in 4.27 but not in 5. Maybe this is broken in UE5?

Found it - can’t mesh paint on a Nanite mesh.

Nanite is currently limited to rigid meshes. These represent greater than 90% of the geometry in any typical scene for projects and is the initial focus of Nanite development. Nanite supports dynamic translation, rotation, and non-uniform scaling of rigid meshes, but does not support general mesh deformation, whether it is dynamic or static. This means any position of a Nanite mesh in a way that is more complex than can be expressed in a single 4x3 matrix multiply applied to the entire mesh.

Deformation not supported includes, but is not limited to:

** Skeletal animation*
** Morph Targets*
** World Position Offset in materials*
** Spline meshes*

Nanite meshes also do not currently support:

** Custom depth or stencil*
** Vertex painting on instances*

    • This specifically means per-instance painted colors using the editor’s Mesh Paint mode.*
    • Vertex colors imported on the original mesh are supported.*