Skip to content
← Back to Blog 3d-modeling

Cloth Simulation for Game Characters: Blender to Unity, Unreal Engine 5, and Godot 4

By BitSoul3D6 min read251 views

Cloth that moves convincingly sells a character instantly — and cloth that jitters, clips, or tanks your frame rate ruins one just as fast. Most tutorials show you how to simulate a cape in Blender and stop there, leaving you stranded when the asset has to actually run inside Unity, Unreal Engine 5, or Godot 4. This guide covers the full pipeline: simulating in Blender, baking the result into an export-friendly format, and choosing the right runtime cloth system per engine.

Cloth Simulation for Game Characters: Blender to Unity, Unreal Engine 5, and Godot 4

Why Real-Time Cloth Is Nothing Like Offline Simulation

Blender's cloth solver iterates over every vertex with collision checks, self-collision passes, and pressure forces — at whatever cost it takes, because it only has to produce frames, not hit 16 ms. A game engine has no such luxury. Runtime cloth must share a frame budget with rendering, AI, and physics, which is why every engine implementation is an approximation: fewer solver iterations, simplified collision proxies (capsules and spheres instead of the actual character mesh), and aggressive constraints on how far vertices can travel.

That difference drives every decision in this pipeline. You have two fundamentally different strategies. Baked cloth means simulating in Blender and exporting the motion as animation data — deterministic, cheap at runtime, but unable to react to gameplay. Runtime cloth means letting the engine simulate a low-resolution proxy mesh live — reactive, but more expensive and harder to tame. Most production characters use both: baked or bone-driven motion for primary garments, runtime simulation only for elements that must respond to movement, like a cape or dangling straps.

Pick the strategy per garment, not per character. A tight shirt needs nothing but skinning. A skirt needs a handful of physics bones. Only a cape or cloak truly earns a runtime solver.

Why Real-Time Cloth Is Nothing Like Offline Simulation — illustrated

Setting Up a Clean Cloth Simulation in Blender

Start with simulation topology, not render topology. A 60–80 cm cape simulates well at 30×40 quads — roughly 1,200 faces. Even, square quads matter more than density: the solver distributes stretch and bend forces along edges, so irregular topology produces irregular wrinkles.

The critical setup steps:

Set fabric presets as a starting point — Cotton for general clothing, Silk for flowing capes — then tune. The values that matter most for game cloth are Stiffness > Bending (higher = fewer, larger folds that read better at game LODs) and Damping > Air Viscosity (higher = calmer motion that loops more cleanly).

Bake the simulation from the Cache panel, run the timeline once end to end, and scrub backwards to confirm the cache is solid before moving on.

Baking Cloth Motion for Export: Shape Keys, Bones, or VAT

A raw cloth simulation cannot survive a GLB or FBX export — exporters ship vertex positions, armatures, and shape keys, not physics caches. You need to convert the motion into one of three portable formats.

Shape keys (morph targets) work for short, fixed clips like a flag waving or a banner loop. With the simulated frame visible, apply the Cloth modifier as a shape key per sampled frame (Modifier dropdown > Apply as Shape Key), then key the shape values along the timeline. Heavy on memory — every frame stores a full vertex snapshot — so keep it to small meshes and short loops.

Bone baking is the production workhorse for character garments. Add a chain of 3–6 bones along the cloth's flow direction, parent the mesh with automatic weights, then constrain each bone to an empty hooked to the simulated surface and bake the action:

import bpy

# Bake constrained cloth bones to keyframes, 30fps, frames 1-120
bpy.context.view_layer.objects.active = bpy.data.objects["CapeArmature"]
bpy.ops.object.mode_set(mode='POSE')
bpy.ops.nla.bake(
    frame_start=1, frame_end=120, step=1,
    only_selected=False, visual_keying=True,
    clear_constraints=True, bake_types={'POSE'}
)

The result is a standard skeletal animation that every engine imports natively, plays through the normal animation system, and blends with locomotion.

Vertex Animation Textures (VAT) encode per-vertex motion into texture data sampled by a shader — ideal for many instances of ambient cloth like market-stall awnings. They require engine-side shader support, so treat them as the specialist option.

MethodRuntime costReacts to gameplayBest for
Shape keysLow–mediumNoFlags, banners, short loops
Baked bonesVery lowVia blending onlySkirts, coats, character cloth
VATVery lowNoMassed ambient cloth, crowds
Runtime clothHighYesCapes, cloaks, hero garments

If you source rigged characters from a marketplace, check whether cloth bones are already in the skeleton — most game-ready characters on the BitSoul marketplace ship with skirt or coat bones you can drive directly instead of building chains from scratch.

Baking Cloth Motion for Export: Shape Keys, Bones, or VAT — illustrated

Engine-Side Cloth: Unity, Unreal Engine 5, and Godot 4

Unity ships a Cloth component that runs on skinned meshes. Add it to the garment's SkinnedMeshRenderer, paint per-vertex Max Distance constraints (zero at the waistband, increasing toward the hem), and assign capsule colliders for the limbs. Keep the cloth mesh under ~2,000 vertices; constraint painting is what separates stable cloth from rubber sheeting.

Unreal Engine 5 uses Chaos Cloth. In the Skeletal Mesh editor, create cloth data from a material section, then paint Max Distance and Backstop weights directly on the mesh. Backstop is UE5's standout feature — it defines a virtual surface the cloth cannot penetrate, which kills most leg-through-skirt clipping without expensive per-triangle collision.

Godot 4 has SoftBody3D, a general-purpose soft-body node rather than a dedicated garment system. It works for flags and banners with pinned vertices, but it does not run on skinned character meshes. For Godot characters, baked bone animation plus a few jiggle-bone addons (or SkeletonModifier3D physics in 4.3+) is the practical route — another reason the bone-baking workflow above is the safest default for cross-engine assets.

Whichever engine you target, simulate a separate low-resolution proxy and render the detailed mesh — never simulate render topology directly.

Performance Budget Checklist

Run through this before calling a cloth asset done:

Cloth is one of the highest-effort asset types to build from scratch, which makes it one of the best things to source ready-made. The BitSoul marketplace carries game-ready GLB characters and props with cloth bones, baked animations, and engine-tested skinning already in place — grab one, drop it into your engine, and spend your time on gameplay instead of solver settings.


Build with real assets: grab the 98-model Character Pack on the BitSoul marketplace and drop them straight into your project.

Tags: characters

Skip the modeling — download it instead

A free BitSoul3D account gets you 2 GLB downloads every month for personal use plus 25 one-time AI Engine credits, no card required. PBR-textured GLB downloads with a full 3D preview before you buy, for Unreal, Unity, Godot or Blender — OBJ and 3D-printable STL come with any purchase or paid plan.

Browse 1,051 models — from $4.99 → or start free (2 downloads a month)