Choose a Wardrobe and Wear an Outfit
In the DMO test project, open /Game/Maps/L_RuntimeClothingSwap and press Play. The two Adrian characters compare the original body with a body generated by runtime occlusion. The test component has no mapping table, so clothing swaps exercise live detection and transient mesh generation.
The showroom starts dressed. Click Casual or Layered in the wardrobe panel, then click a look to wear a T-shirt, button-up shirt, both layers, or a full outfit with jeans and shoes. Click Hide clothes to inspect the generated body; the reference character remains clothed. Click Show clothes to return. Selecting a different look always shows its clothing again. If PIE is ejected into editor inspection, press F8 to return to gameplay and see the buttons.
The source body and clothing meshes have CPU access enabled. Keep clothing aligned with the body's reference pose; detection uses mesh asset geometry. The panel also offers an async swap toggle and pause/resume motion.
| Key | Action |
|---|---|
| 0 | Remove clothing and restore the original body. |
| 1 / 2 / 3 / 4 | Wear a T-shirt, shirt, both layers, or the full outfit. |
| V | Hide/show the runtime character's clothes while preserving its generated mesh. |
| A | Toggle synchronous or asynchronous outfit swaps. |
| T | Run the verification sequence. |
| C | Clear runtime mesh caches and restore the original body. |
| Space / Arrow keys | Pause animation, orbit the camera, or zoom. |
Read the Result
The wardrobe panel reports removed LOD0 triangle counts and building/ready state; running the verification sequence also shows checks and failures. Runtime output must be transient, contain fewer triangles for covered outfits, and leave the original body unchanged. The sequence also checks layered garment restoration, cache reuse, duplicate inputs, detection setting changes, animation preservation, cache eviction, and cancellation of overlapping async requests.
For integration, call Apply Occlusion for Clothing when the equipped mesh set changes. With runtime detection and fallback enabled, a missing mapping-table entry triggers live generation. Use Apply Runtime Occlusion for Clothing Async and its completion event for asynchronous requests. An empty clothing array restores the original body.