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.

OperationSelectionWrites assets?
Create Destructible…Single meshYes, after explicit generation
Validate DestructibleSingle managed meshNo
Regenerate Destructible…Single managed meshYes, after explicit confirmation
Modify Destructible…Single managed mesh, its Blueprint or a placed actorYes, after explicit confirmation
Batch Generate…Multiple meshesYes, after preflight and confirmation
Batch Validate…Multiple managed meshesNo
Batch Regenerate…Multiple managed meshesYes, 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:

  1. Source — the Static Mesh, read-only.
  2. 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.
  3. Output — output folder policy, custom folder, whether to create a destructible Actor.
  4. Runtime Profile — fragile profile toggle, Max Health (0 = Family Default), Physics and, in its advanced part, Generate Simulation Collision if Needed.
  5. 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:

CodeSeverityCondition
SDF-AUTH-SRC-001ErrorNo Static Mesh source provided
SDF-AUTH-SRC-002WarningThe mesh is still compiling; measurements may change
SDF-AUTH-SRC-003ErrorNo usable LOD0 geometry
SDF-AUTH-SRC-004ErrorA dimension is below the preset’s minimum source dimension
SDF-AUTH-SRC-005WarningThe mesh has no material slots
SDF-AUTH-SRC-006WarningOne or more material slots have no assigned material
SDF-AUTH-PERF-001WarningLOD0 exceeds the triangle warning threshold (default 250 000)
SDF-AUTH-SRC-000PassPreflight 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

ModeMeaning
AutomaticLet the plan choose conservatively based on the preset and source complexity
Geometry CollectionForce the Chaos Geometry Collection path
Swap And ScatterForce the lightweight debris path
Custom Authored DebrisReserved 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:

SettingDefault
Output folder policySource Sibling / Generated / SDF
Default output folder/Game/Generated/SDF
Geometry Collection prefixGC_
Destruction profile prefixDA_SDF_
Destructible Actor prefixBP_SDF_
Manifest prefixDA_SDF_Authoring_
Warning triangle count250000
Maximum automatic triangle count500000

Next

Last updated: 2026-10-01

Type to search titles, sections and keywords.