Quick answer: Unreal SetStaticMesh on a StaticMeshComponent updating visuals but leaving the old collision? Mesh change doesn't auto-rebuild collision - call SetSimulatePhysics(false) then true.

Procedural prop swaps its mesh. New mesh is visible; players still collide with the old shape.

Toggle physics

Comp->SetStaticMesh(NewMesh);
Comp->SetSimulatePhysics(false);
Comp->SetSimulatePhysics(true);

Force physics state rebuild. New collision shape applies.

Or call RecreatePhysicsState

More explicit; same effect.

Verify with collision visualization

Show Collision; mesh swap should change the visible shape. If not, the rebuild didn't happen.

“Mesh data and collision data are linked but not auto-synced. Sync is your call.”

Wrap mesh-swap in a helper that handles physics + render + lightmap. Centralized; bug class disappears.

Related reading