Quick answer: Use the Mesh Orientation module (or Update Mesh Orientation), set Alignment to Velocity or Custom, and verify the source mesh’s forward axis matches what Niagara expects (+X).
Bullet meshes spawn with random or fixed-but-wrong rotation. Without orientation logic Niagara just uses identity rotation; meshes don’t auto-align to motion.
Add Mesh Orientation
In the Mesh Renderer’s particle setup, ensure orientation is computed each tick — either via the Mesh Orientation module or by writing to the MeshOrientation particle attribute in script. Without it, all meshes face whatever the default is.
Pick an Alignment Mode
- Velocity: the mesh’s forward follows the particle’s velocity. Right for arrows/bullets.
- Custom: provide a direction (a target, the source, etc.). Good for “face the camera but only Y” cases.
- From Spawn Position: orient outward from the emitter origin. Good for explosions.
Match the Mesh's Forward Axis
Niagara assumes the mesh’s forward is +X. If your mesh was modeled along Y or Z, it appears rotated 90° off. Re-export the mesh aligned to +X, or apply a fixed rotation offset in the orientation module.
Verifying
Bullets fly tip-forward. Explosion debris faces outward from the center. Changes to velocity show in mesh orientation immediately.
“Mesh particles don’t auto-orient. Add the module, pick the mode, and match the mesh’s forward axis.”
Standardize meshes used in Niagara on +X forward — one less per-emitter offset to maintain.