Authoring overview
The six editor operations Souls Destruction Framework adds to Static Meshes, and the full non-destructive authoring workflow behind them.
Authoring lives entirely in the SoulsDestructionEditor module. It never ships with your game, and
the runtime module has no dependency on it.
The seven operations
Right-click one or more Static Meshes in the Content Browser and open the Souls Destruction submenu. Modify Destructible… is also available on a placed actor in the level and on the generated Blueprint.
| Operation | Selection | Writes assets? |
|---|---|---|
| Create Destructible… | Single mesh | Yes, after explicit generation |
| Validate Destructible | Single managed mesh | No |
| Regenerate Destructible… | Single managed mesh | Yes, after explicit confirmation |
| Modify Destructible… | Single managed mesh, its Blueprint or a placed actor | Yes, after explicit confirmation |
| Batch Generate… | Multiple meshes | Yes, after preflight and confirmation |
| Batch Validate… | Multiple managed meshes | No |
| Batch Regenerate… | Multiple managed meshes | Yes, after preflight and confirmation |
A managed mesh is one that already has an SDF authoring manifest pointing at it.
Create Destructible
Opens the Souls Destruction Authoring tab with the selected mesh assigned. The tab is a details-panel workflow organised in numbered sections:
- Source — the Static Mesh, read-only.
- Authoring — preset, destruction mode, fracture density. When the semantic barrel preset is selected, the stave count appears here too (8 – 32). Wood presets add Custom Cuts Along Length (0 – 5 cuts per board), and Wooden Furniture adds Collision Shape (Boxes or Convex); see Cuts along length.
- Output — output folder policy, custom folder, whether to create a destructible Actor.
- Runtime Profile — fragile profile toggle, Max Health (0 = Family Default), Physics and, in its advanced part, Generate Simulation Collision if Needed.
- Results — preflight analysis, resolved authoring plan and the last generation report.
Physics decides how the intact prop behaves once placed: Simulated (the default for every
preset family) rests on its support and falls when that support breaks; Static stays fixed where
it is placed; Keep Existing leaves the mesh’s own physics settings untouched. Your choice is kept
when you change the preset. Ceramic and Glass Vessel generations also enable height-based fall
damage on the generated profile; the other families keep it off.
Generate Simulation Collision if Needed (on by default, available while Physics is Simulated)
lets generation publish an SDF-owned copy of the mesh with usable simple collision when the source
cannot simulate as it stands. The source mesh is never modified. With the option off, such a mesh
stops generation with SDF-AUTH-PHYS-001. A composite glass window is always published Static
(SDF-AUTH-PHYS-003). See
Intact physics and fall damage.
Max Health is the hit points before the prop breaks. Zero keeps the family template’s health
defaults. A positive value publishes a ready-to-play multi-hit profile: Use Health enabled,
Max Health set to your value, and Destroy On Single Valid Hit turned off — the property that
would otherwise silently override the hit points. The field is hidden while Fragile is checked,
because fragile means one hit by definition. The value is recorded in the manifest, so a later
regeneration reproduces it.
Advanced exposes the custom fragment count, the per-object interior material override, the random
seed and the advanced fracture overrides (minimum fragment size, grout, noise amplitude, island
splitting, and the wood-specific cut controls — island weld distance, minimum part length and
aspect ratio, cross-cuts per part, cut angle/offset variation, cut noise amplitude).
Validate Destructible
Reads the manifest associated with the mesh and reports the state of the setup without touching anything: missing outputs, broken references, ownership drift and unsaved editor changes. See Validation and regeneration.
Regenerate Destructible
Re-runs generation for an existing managed setup, replacing the outputs in place while preserving their object paths. It requires explicit confirmation, and a second confirmation when it detects manual edits to a generated asset.
Modify Destructible
Rebuilds an existing setup with new choices — preset, density, cuts along length, collision shape, fragility, health — in place, so every copy already placed in your levels updates. Same protections as regeneration. See Modify Destructible.
Batch operations
The same three operations across a multi-selection, with a mandatory preflight pass and a CSV report. See Batch authoring.
The full workflow
Select Static Mesh
↓
Souls Destruction -> Create Destructible...
↓
Preflight analysis (read-only)
↓
Resolved authoring plan
↓
Generate (staged, transient)
↓
Staging validation
↓
Publish assets + stamp ownership
↓
Place Actor -> Play -> send a hit
1. Preflight analysis
FSDFStaticMeshAnalyzer::Analyze inspects the source and produces an FSDFStaticMeshAnalysis: LOD
count, vertex and triangle counts, material slots, missing material slots, bounding dimensions and
volume, plus a list of issues with an overall severity of Pass, Warning or Error.
Checks performed:
| Code | Severity | Condition |
|---|---|---|
SDF-AUTH-SRC-001 | Error | No Static Mesh source provided |
SDF-AUTH-SRC-002 | Warning | The mesh is still compiling; measurements may change |
SDF-AUTH-SRC-003 | Error | No usable LOD0 geometry |
SDF-AUTH-SRC-004 | Error | A dimension is below the preset’s minimum source dimension |
SDF-AUTH-SRC-005 | Warning | The mesh has no material slots |
SDF-AUTH-SRC-006 | Warning | One or more material slots have no assigned material |
SDF-AUTH-PERF-001 | Warning | LOD0 exceeds the triangle warning threshold (default 250 000) |
SDF-AUTH-SRC-000 | Pass | Preflight passed with no issues |
Analysis never creates or modifies an asset.
2. Resolved authoring plan
BuildPlan turns the analysis plus your options into an FSDFResolvedAuthoringPlan: whether
generation can proceed, the requested versus resolved destruction mode, the target fragment count,
the output folder and the four planned object paths, with a stated decision reason.
Automatic mode resolves conservatively: it prefers the Geometry Collection path when the preset
allows it and the source is below the automatic triangle ceiling (default 500 000), and recommends
the lightweight path otherwise.
3. Staged generation
FSDFDestructionAuthoringService::Generate builds everything as transient objects first: the
Geometry Collection with its Voronoi fracture, the interior material assignment on the generated
internal faces, collision and cooked simulation data, the runtime profile, the optional
destructible Blueprint and, when a Simulated setup needs one, the simulation mesh copy.
Setting bCommitAssets to false keeps every output transient. That mode is used by the automation
tests and by determinism checks.
4. Staging validation
Before anything is published, ValidateGeneratedSetup produces an FSDFValidationReport covering:
- the source signature is unchanged;
- exterior materials are preserved;
- fragment count, internal face count and interior material index;
- collision data and cooked simulation data are present;
- smallest and largest fragment dimensions and the count of remaining micro-fragments;
- a structure hash of the generated collection.
If validation fails, nothing is published.
Atomic publication
There is no partially published setup. Either every asset of the setup is written — including the simulation mesh copy when one is needed — and the ownership baseline is stamped, or the operation is cancelled and the diagnosed issues are reported.
5. Publication and ownership
Published assets are saved, then StampCurrentOwnership records package fingerprints — object path,
package-file MD5 and package-file size — for the source mesh, the preset, the interior material and
each generated output, including the simulation mesh copy, into the authoring manifest. The manifest
also records the physics policy, so a later regeneration keeps the mode you chose. That baseline is what later Validate and
Regenerate operations compare against.
Destruction modes
| Mode | Meaning |
|---|---|
Automatic | Let the plan choose conservatively based on the preset and source complexity |
Geometry Collection | Force the Chaos Geometry Collection path |
Swap And Scatter | Force the lightweight debris path |
Custom Authored Debris | Reserved for hand-authored fragment meshes |
Scope limitation
Automatic batch generation supports the Geometry Collection path. Automatic extraction of bespoke
SwapAndScatter fragment meshes is not implemented; author those profiles by hand.
Output settings
Configured under Project Settings → Plugins → Souls Destruction Authoring:
| Setting | Default |
|---|---|
| Output folder policy | Source Sibling / Generated / SDF |
| Default output folder | /Game/Generated/SDF |
| Geometry Collection prefix | GC_ |
| Destruction profile prefix | DA_SDF_ |
| Destructible Actor prefix | BP_SDF_ |
| Manifest prefix | DA_SDF_Authoring_ |
| Warning triangle count | 250000 |
| Maximum automatic triangle count | 500000 |
Next
Last updated: 2026-10-01