A physics-based scatter painting tool for Unreal Engine. Paint with simulating objects that fall, collide, and settle naturally, then bake the result into HISM instances for production-ready scenes.
This documentation assumes you're comfortable with UE basics: editor modes, the viewport, the content browser, and what a static mesh is. You don't need prior physics or scatter-tool experience — those concepts are explained as they come up.
FT_Chaos lets you paint scatter patterns in your level using real physics simulation. Instead of placing meshes at exact positions on a click, the tool spawns simulating actors that fall under gravity, collide with your level geometry, settle into natural-looking piles, and then bake into Hierarchical Instanced Static Meshes (HISMs) for runtime efficiency.
This produces results that traditional scatter tools struggle with:
Piles and slopes - rocks settling against cliffs, debris accumulating in valleys
Penetration-free placement - meshes don't intersect each other or the ground
Variation without manual placement - natural rotation and spacing from physics, not random number generators
When you click and drag with the brush, the tool spawns one or more AStaticMeshActors with SetSimulatePhysics(true) at points within the brush radius. They fall under gravity (Chaos's editor-world physics ticking handles this), collide with your scene, and settle. Once the tool detects an actor has come to rest (low velocity over multiple ticks), it removes the actor and adds an instance to a HISM at the actor's final transform.
Result: the scene displays a single HISM component (efficient at render time) instead of thousands of individual actors.
HierarchicalInstancedStaticMesh is UE's standard way to render thousands of copies of the same mesh efficiently. It draws all instances in a single draw call, supports culling and LOD per-instance, and integrates with World Partition. Once your paint stroke bakes, you're left with a HISM that performs identically to one you'd build manually - no scatter-tool overhead at runtime.
Every paint stroke creates a layer - a logical grouping that tracks which HISM instances came from that stroke, what brush settings produced them, and when. Layers can be renamed, deleted, or merged. They're the unit of organization for your scatter work, similar to layers in image editors.
Layers persist with the level (saved to disk), so reopening the level shows your scatter work intact and editable.
To activate the mode, navigate to either FT Menu>Start Chaos Scatter mode, or under the vanila UE mode selection (Where you would usually select editing Landscape, Foliage, Mesh Paint etc.) and pick FT_Chaos.
With the mode active, look at the toolkit panel on the left side of the editor. You'll see four collapsible sections: Mesh Palette, Brush Settings, Layers, Mode Settings.
Drag a static mesh asset from the content browser into the Mesh Palette section. The mesh appears as a row with a thumbnail, weight slider, and scale multipliers.
Place a flat or sloped mesh in your level (a landscape, a floor, a hillside - anything with collision authored on it).
With the mode active, click and drag in the viewport over that surface. Cubes spawn in the brush radius, fall, and settle.
After about a second, the settled cubes will bake into a HISM - visible in the outliner as a child of the FT_Chaos_HISM manager actor.
That's a complete scatter session. The Layers section shows your stroke as "Layer 1" with the count of baked instances.
If your meshes don't have simple collision authored (boxes, spheres, capsules, or convex), they won't simulate. The tool will refuse to spawn them and log a warning. This is intentional - Chaos can't reliably simulate dynamic bodies with only complex (per-triangle) collision.
To check or add simple collision:
Double-click the mesh in the content browser to open the Static Mesh Editor.
Use Collision → Add Box/Sphere/Capsule Simplified Collision or Collision → Auto Convex Collision. If you must, you can also do "Use Complex Collision as Simple".
Save the asset.
The level surface you paint onto also needs collision — a landscape works automatically, but custom mesh-based floors need the same treatment.