Quick answer: Chaos Cloth crashes at runtime are almost always caused by zero-weight skin vertices inside the cloth mask, missing collision bodies referenced by the clothing asset, or LOD sections that strip the bones the cloth solver depends on. Verify skin weights, add collision capsules, and map cloth correctly across every LOD.

Your character looks great with a flowing cape in the editor. You PIE, take one step, and the engine crashes with a stack trace somewhere deep inside FClothingSimulation::Simulate. This is a particularly nasty bug to diagnose because the crash can happen long before the cape visibly moves — the solver may fail during its first pre-simulation step, producing a crash report that looks like an engine bug rather than a content bug.

Read the Callstack First

Before editing anything, open the Saved/Logs folder and read the most recent crash log. Chaos Cloth crashes tend to cluster around three specific failure sites:

Knowing which family of failure you are in narrows the investigation dramatically. If you cannot access the callstack, run the editor with -nullrhi -fullcrashdump and repro the scenario; the crash will be attached to your project’s log file.

Clothing Asset Setup

Open the skeletal mesh in the Skeletal Mesh Editor and switch to the Clothing panel. Every clothing asset on the mesh lists the bones it is skinned to and the vertices it paints. Three things must be true:

To inspect weights, switch to the Skin Weights visualization inside the Clothing Editor. Vertices that are pure black have zero weight. Reskin them manually or re-export from your DCC tool with a fallback bone (often root or spine_03) to cover weights that would otherwise be zero.

Collision Assets

A cloth simulation without collision will still run, but it will clip through the character’s body. The crash risk comes from misconfigured collision, not from the absence of it. Open the clothing asset and expand the Collision section. You can add Spheres and Capsules attached to specific bones, or tick Use Physics Asset to import capsules from the character’s existing Physics Asset.

// ClothingCharacter.cpp - runtime collision binding
#include "ClothingCharacter.h"
#include "ChaosCloth/ChaosClothingSimulationInteractor.h"

void AClothingCharacter::BeginPlay()
{
    Super::BeginPlay();

    USkeletalMeshComponent* Mesh = GetMesh();
    if (!Mesh) return;

    // Rebind cloth collision against the current physics asset.
    // Prevents stale references from a previous skeleton.
    Mesh->RebuildClothingSectionsFixedVerts();
    Mesh->ForceClothNextUpdateTeleportAndReset();

    if (UClothingSimulationInteractor* Interactor =
            Mesh->GetClothingSimulationInteractor())
    {
        Interactor->PhysicsAssetUpdated();
    }
}

If a Physics Asset capsule references a bone that was removed or renamed, the cloth solver crashes on first tick. Reopen the Physics Asset, delete orphaned bodies, and resave it before launching again.

Skin Weights and Vertex Influences

Chaos Cloth uses per-vertex mass derived from skin weight. A vertex with an impossibly small or zero mass causes a divide-by-zero deep in the solver. When importing a mesh from Blender or Maya, ensure every cloth vertex has at least three positive influences summing to 1.0. If your DCC exports normalized weights with epsilon-sized tail values, trim them: weights below 0.001 should be clamped to zero and re-normalized before export.

Also check Max Bone Influences in the mesh import settings. If the incoming mesh has 6 influences per vertex but the target setting is 4, the import silently drops two influences per vertex — which may be the only influences holding a cloth vertex in place.

LOD Cloth Fallback

Cloth runs per-LOD. On LOD 0 everything works, but when the engine streams you to LOD 1 or LOD 2 and the cloth section is not configured for that LOD, the solver attempts to run against a mesh that no longer contains the cloth triangles. That is a fast way to crash in shipping builds even though everything worked in PIE at full detail.

Open the skeletal mesh, expand LOD Info for each LOD, and look at the Cloth field on every section. For non-zero LODs, either:

Never leave it ambiguous. A null reference where the engine expects a cloth mapping is a crash; an explicit None is a no-op.

“If Chaos Cloth crashes, it is almost never a bug in the solver. It is a bone that moved, a weight that went to zero, or an LOD that forgot it had cloth.”

Related Issues

If your cloth runs without crashing but visibly glitches when the character teleports, see Motion Warping Not Aligning — the fix there also discusses cloth teleport thresholds. If you are seeing LOD pops when cloth swaps out, check Skeletal Mesh LOD Popping Artifacts for the LOD streaming policies that keep cloth consistent across distances.

Zero-weight cloth vertex = zero-lifespan simulation. Paint them or lose them before the solver wakes up.