Can't click certain (Nanite) meshes in scene?

(Unreal version 5.0.2-20280985+++UE5+Release-5.0)

I’m creating a bunch of actors that use Nanite mesh. The meshes have 3 material groups, none of which use WPO, and it’s just a normal static mesh rigid body. The one that can’t be clicked is a literal box shape, essentially a steamer trunk-shaped crate. A bunch of other meshes created using an identical process (just different shapes that tend to be more rounded and less square) are clickable fine, they’re also all Nanite, and they all use identical parent materials, only difference is unclickable ones happen to use the green material instance.

If I disable Nanite on the meshes, they’re clickable again instantly. If I disable and then re-enable Nanite, they often start working again, but when clicked, the selection outline is odd. Instead of surrounding the entire object, only one mesh group is surrounded. As it happens, each side of the box has a green-colored center part and metallic framed edges, and it chooses to draw the highlight outline around only the green parts.

I have a suspicion that when they stop working, it’s because the engine has arbitrarily chosen to make a different material group clickable. Because when in not-clickable state, sometimes if I click in just the right place, they selected? But they don’t appear to be visually selected. Maybe I’m just clicking on the metallic edge in that case or the little front medallion, which are small and I likely wouldn’t see the outline.

When the clicks fall through, what gets selected instead is something called “Brush (Instance)”. Which doesn’t exist in my scene, as far as I can tell. If it helps, it reports the position of that Brush Instance as (-2835, -2075, 195).

As an added oddity, all of these meshes (even the ones that select normally) have what I can only describe as wiggly outlines when selected. If I make them non-Nanite and select them, I get the normal orange outline, totally standard. If I turn on Nanite and select them, the orange outline is, for lack of a better term, wiggly. Like that effect you get in hand-drawn animation where the line changes a tiny bit each frame because of how pencil lines work. It’s quite bizarre.

I’m assuming all of this is down to Nanite objects not having complex collision. As confirmed by going into the mesh editor and attempting to turn on complex collisions and seeing absolutely nothing on these Nanite meshes, but it of course draws fine on them if I turn Nanite off. Nanite meshes are, I gather, supposed to use some kind of Nanite proxy for complex collisions, and presumably these objects aren’t making it in there. Which would imply that this could actually cause gameplay problems too? Guessing that any complex traces would similarly fail to hit them? They behave normally as rigid bodies, but that would be because they still have functioning simple collisions- a single essentially-a-box convex collider, if that matters.

EDIT: Correction, the click behavior is even weirder. Depending on which material group I click, I get completely random things. As it happens, right now when I click the green sides of these boxes, it selects an entirely different (also Nanite) mesh in the scene. Though it draws as though I’ve selected that box, and outlines only the green sides of the box. Meanwhile if I click the metallic edges of the box, NOW it selects the actual box these relate to, and only draws an outline around the metallic edges. Quite bizarre. Presumably the bug is down to Nanite meshes with multiple material groups? Not sure why the others all work fine though.

Ah, and how these objects are created might be relevant? Including it for completeness’s sake anyways. These are all the same BP actor class, both the ones I can click and the ones I can’t, and I feed in a PrimaryDataAsset that specifies the mesh and material. Those are assigned in as part of the construction script. Runtime it streamloads, but it does a blocking load in editor.

Looks like this, with the handle just being an optional secondary mesh that has some dangle-down logic driving it. The second image with the Sequence is the meat of the OnPackageLoaded custom event. The material overrides is just looking for material slots by name and then assigning in the appropriate override, since the PrimaryDataAsset lets you specify things like “make the shiny_metal slot use X material instance”.

(EDIT: I’ve also now included the meshes themselves, in case that’s relevant)

Roadcase_30_50_30.fbx (3.4 MB)
Roadcase_30_50_30_padlock.fbx (37.2 KB)

I’m having this exact same issue, though I’m not even spawning them. Just placing static meshes in the scene like any other asset. Cant select parts of the mesh if its nanite, then if I move/rotate the mesh in viewport, all other instances break and start rotating as well.

Ok, I think I solved it. At least for me it was caused by having unused, extra materials in my mesh. I removed all the ones that werent in my mesh with the trashcan icon. Now everything works as intended.

Swanton007, thank you for making me feel I was not alone with this issue.
However just to make the information complete for the next person that runs against this issue.

  1. I removed the duplicate material in the mesh editor.
    Once I removed the duplicate material my mesh reverted back to UE’s default checker
    material in the viewport only.
  2. In order to fix this I had to turn of "generate Lightmaps UV’s and apply.

I had the same issue with a couple of meshes exported from ZBrush with no UVs. I was able to fix it by applying UVs to the mesh with the modeling tool.