Quick answer: Physics bodies that come in rotated by 90 degrees or point the wrong direction are nearly always a symptom of an up-axis mismatch between your DCC (Maya/Blender) and Unreal, compounded by a stale physics asset that was generated against the pre-correction skeleton. Fix the export axis, reimport, then Regenerate Bodies from scratch so the capsules align.

You reimport a character, open its physics asset, and every capsule is pointing sideways. The arm capsules rotate through the torso, the leg capsules are horizontal, and any ragdoll simulation looks like a broken marionette. The mesh renders fine in the editor — it is only the physics bodies that are rotated. This is an import-pipeline bug with a precise cause.

Up-Axis and Why It Matters

Different DCC tools use different up-axis conventions. Maya defaults to Y-up. Blender defaults to Z-up (matching Unreal). 3ds Max defaults to Z-up. When an FBX is exported, it records which axis was “up” so importers can convert. Unreal’s FBX importer has a Convert Scene option that applies the necessary axis rotation during import. But here is the problem: physics bodies you created on a previously imported skeleton do not get re-rotated when the skeleton is re-imported with a different axis. The mesh gets corrected, the bones get corrected, but the physics capsules keep their old local orientations.

The result: a skeleton that used to import as Y-up now imports as Z-up, but the physics asset still thinks bones point along Y. All the capsules look rotated by 90 degrees.

Fix the Export Axis at the Source

The cleanest fix is to export Z-up from your DCC so Unreal does not need to convert at all. In Maya, change Up Axis to Z under Preferences > Settings, or switch only the FBX export to Z-up via the export options. In Blender, the FBX exporter has Forward and Up fields — set Forward = -Y and Up = Z for Unreal compatibility, which matches the engine’s coordinate system exactly.

Avoid the Apply Transform trick where you bake the rotation into the mesh data. It often introduces a permanent 90-degree offset between the mesh and its skeleton root, which creates subtler bugs that only show up under IK or constraint systems weeks later.

Clean Reimport Workflow

When the export is correct, reimport with these settings:

After reimporting the skeletal mesh, the physics asset usually displays the rotated-capsule artifact. That is expected — you now need to regenerate.

Regenerate Bodies From Scratch

Open the physics asset. In the tree, select all bones (click the top bone, shift-click the bottom). Press Delete to remove every body. Now click Tools > Regenerate Bodies. The dialog lets you choose how bodies are constructed:

// RegeneratePhysicsAsset.cpp - editor utility to rebuild bodies
#include "PhysicsEngine/PhysicsAsset.h"
#include "PhysicsEngine/SkeletalBodySetup.h"
#include "PhysicsAssetUtils.h"

bool RegenerateFromSkinnedVerts(UPhysicsAsset* PhysAsset,
                                USkeletalMesh* Mesh)
{
    if (!PhysAsset || !Mesh) return false;

    FPhysAssetCreateParams Params;
    Params.GeomType            = EFG_Capsule;
    Params.VertWeight          = EVW_DominantWeight;
    Params.MinBoneSize         = 5.0f;
    Params.bAutoOrientToBone   = true;
    Params.bCreateConstraints  = true;

    FText ErrorMessage;
    return FPhysicsAssetUtils::CreateFromSkeletalMesh(
        PhysAsset, Mesh, Params, ErrorMessage);
}

After regeneration, the capsules should align with bone directions. If a particular limb is still rotated — commonly the clavicles or twist bones — select the body, switch to manual mode, and rotate the capsule until its long axis matches the bone. Save.

Capsule Alignment and bAutoOrientToBone

The bAutoOrientToBone flag on body setup creation is the magic setting most tutorials skip. When enabled, the generator rotates each capsule so its long axis follows the parent bone’s vector rather than leaving it aligned to world axes. If you regenerate without it, you get a grid of axis-aligned capsules that only happen to point the right way when the bone itself was axis-aligned in its bind pose.

For non-capsule primitives (boxes, spheres), orientation is inherited from the bone’s local frame. If you still see wrong rotation on box primitives after regeneration, the problem is upstream — the bone’s local frame is rotated in the source file. Fix it in the DCC by zeroing out joint orient, or apply Freeze Rotations in Maya before export.

“Never manually rotate a physics capsule you plan to keep. If bodies come in wrong, the skeleton is wrong. Fix the skeleton.”

Related Issues

If cloth simulation on the same character also behaves strangely after import, read Chaos Cloth Crashing on Skeletal Mesh — both issues share the underlying skeleton-mismatch root cause. If the mesh is imported correctly but animations play with wrong root motion, see Animation Montage Not Playing.

Fix the axis in the DCC, reimport, then regenerate bodies with Skinned Vertices + Auto Orient. Do not manually rotate capsules.