Static props are just mesh + materials. Held props are a mesh whose origin sits at the grip. That origin becomes the pivot Unreal uses when it attaches the prop to a hand socket — so the wrist drives the blade automatically, from every camera angle, with no hand-nudging. Getting the origin right in Blender is the whole game; everything else is ordinary modeling.
Two flavors of prop, same start, one critical difference at the end: static props stay put; held props need their origin placed with intent.
Hard-surface / box-model the prop with clean topology at real-world scale — the same discipline as Phase 1 asset sourcing, focused on a single hero or set-dressing object.
Unwrap, build PBR materials, and texture-paint detail as needed so the prop reads correctly under any lighting once it's in the shot.
Snap the 3D cursor to the grip point (select the grip vertex/edge → Shift S → Cursor to Selected), then Object → Set Origin → Origin to 3D Cursor. The object origin is now the grip — and that is the point Unreal aligns to the hand socket.
Ctrl A → All Transforms so scale is 1.0 and rotation is baked. A held prop with unapplied scale imports at the wrong size and the socket offset math goes sideways.
Export FBX/glTF with the origin preserved. In Unreal it's a Static Mesh that attaches to the character's hand socket — swappable, and correct in every pose because the pivot is right.
| Prop type | Blender prep | In Unreal |
|---|---|---|
| Static prop (set dressing) | mesh + UV + materials; origin wherever convenient | placed in the level |
| Held prop (sword, mug, tool) | origin set at the grip; transforms applied | attached to a hand socket — rides the wrist |
If a held prop's origin isn't at the grip, it will float or offset from the hand at the socket no matter how you pose the character — the exact “floating sword” symptom. Nudging it per-shot never truly fixes it because the pivot is wrong at the source.
Fix: set the origin to the grip in Blender, apply transforms, export. Then in Unreal it's just attach-to-socket and it's correct from every angle.