Troubleshooting

Problem, cause and solution for the authoring, batch, regeneration and runtime issues Souls Destruction Framework reports, with their issue codes.

Every blocking condition the plugin reports carries an issue code. Search this page for the code shown in the dialog, the Message Log or the batch CSV report.

Authoring

ProblemCauseSolution
Geometry Collection does not generate (SDF-AUTH-GC-002)Deterministic Voronoi fracture failed for this mesh. LOD0 is not closed or manifold enough for planar cuttingRepair the source geometry, or author this asset manually with hand-made fragment meshes
Conversion produced no geometry (SDF-AUTH-GC-001)Static Mesh conversion produced no Geometry Collection transformsConfirm LOD0 has real triangles and is not an empty or proxy mesh
Generation refused: source and interior material required (SDF-AUTH-GEN-001, SDF-AUTH-REQ-001)The preset has no interior material and none was supplied per objectAssign an interior material in the Advanced section, or use a preset that ships with one
Interior material could not be resolved (SDF-AUTH-MAT-001)The material reference is unresolvableReassign the material asset; check it was not deleted or renamed
Interior faces do not use the expected material (SDF-AUTH-VAL-003)The generated internal faces did not receive the interior material objectRegenerate; if it persists, test with a plain opaque material to rule out a material-domain problem
Mesh is open or non-manifold (SDF-AUTH-SRC-003, SDF-AUTH-GC-002)No usable LOD0, or geometry that cannot be cutImport or build a valid, closed LOD0 before authoring
Fragments are too small (SDF-AUTH-VAL-008, warning)Fragments remain below the configured minimum dimension after conservative mergingIncrease the preset’s MinimumFragmentSizeCm, or lower the fracture density. SDF does not delete geometry to satisfy the minimum
Pot fracture looks too denseCeramic at High density on a small objectUse Low or Medium, or a Custom density with an explicit fragment count
Preflight warns about triangle count (SDF-AUTH-PERF-001)LOD0 exceeds the warning threshold (default 250 000)Use a lower-complexity source mesh, or accept the warning knowingly for a hero prop
A dimension is below the safe minimum (SDF-AUTH-SRC-004)The mesh is too small, or its scale is wrong at importFix the source scale and reimport
Missing material slots (SDF-AUTH-SRC-005, SDF-AUTH-SRC-006)Exterior material slots are emptyAssign every exterior material before generating
Exterior materials missing from the collection (SDF-AUTH-MAT-007)The generated collection lost one or more source exterior materialsVerify the source material slots, then regenerate
Fragment budget exceeded (SDF-AUTH-VAL-005)Requested fragment count is above the bounded limitReduce the custom fragment count; the supported range is 2–150
Collision or simulation data missing (SDF-AUTH-VAL-004)The generated collection has no cooked simulation dataRegenerate; if it persists, the source geometry is likely unsuitable for cooking
Output package already exists (SDF-AUTH-COMMIT-001)A previous setup occupies the planned pathChoose another output folder, or regenerate the existing setup explicitly instead
Packages could not be saved (SDF-AUTH-COMMIT-002)Source control checkout or filesystem permissionsCheck out the files, verify write permissions, remove the diagnosed output packages and retry
Source signature changed during staging (SDF-AUTH-SRC-007)The source mesh was modified while generation was runningDo not edit or reimport the source during generation; retry
Generated Blueprint failed validation (SDF-AUTH-ACTOR-001)The destructible Actor could not be validated; publication was cancelledRetry with Create Destructible Actor disabled to isolate the problem, then report it

Batch

ProblemCauseSolution
Batch item is BlockedThe row failed preflight; the CSV report contains the exact codeFix the reported cause and preflight again
No authoring preset selected (SDF-BATCH-GLOBAL-001)The batch has no presetSelect a preset before preflighting
No interior material (SDF-BATCH-GLOBAL-002)The preset has none and no batch override was suppliedSet the batch interior material override
Mesh already managed (SDF-BATCH-GEN-001)The mesh already has an SDF manifestUse Batch Regenerate instead of Batch Generate
No manifest references this mesh (SDF-BATCH-MANIFEST-001)Validate or Regenerate was run on an unmanaged meshGenerate a setup first
Planned output already exists (SDF-BATCH-GEN-003)A package occupies the planned pathChange the output policy or remove the stale asset
Several meshes resolve to the same output (SDF-BATCH-GEN-004)Identically named sources with a shared output folderUse the source-sibling output policy, or rename the source meshes
Unsupported backend (SDF-BATCH-GEN-002)The resolved backend is not supported by automatic batch generationAuthor that asset individually
Preflight became staleThe operation, preset, density, output policy, material override or selection changed after preflightRun Preflight All again; the previous confirmation no longer applies
Editor freezes briefly during a batchOne expensive fracture occupies the editor thread until that asset finishesExpected. Cancellation is sampled between assets, not inside a fracture

Validation and regeneration

ProblemCauseSolution
Regeneration detects manual changesA generated asset was edited by hand and savedConfirm the replacement explicitly, or keep the manual edits and stop regenerating that setup
Unsaved changes block regenerationThe source, preset, profile or Blueprint has unsaved editor changesSave or discard those changes first. In-memory work is never overwritten
Legacy manifest refuses to regenerate (SDF-REGEN-ADOPT-001 to 003)The manifest predates the current schema version (4), or ownership is ambiguousAdopt the setup explicitly when prompted. Ownership is never guessed
Regeneration refuses a simulated setup (SDF-REGEN-013)The source mesh can no longer simulate as it stands — its simple collision was removed, or it now uses Use Complex As Simple — and the setup owns no simulation copy to rebuildRestore simple collision on the source, or set the setup to Static. No output was modified
Managed output is missingA generated asset was deleted or movedRestore or redirect it, so replacement can preserve external references
Geometry Collection reports as changed after simply opening itDerived simulation data was rebuilt on loadThat dirty flag alone is not treated as a manual edit; saved package changes are what fingerprints detect

Runtime

ProblemCauseSolution
Object does not breakThe hit’s DestructionPower is below the profile’s MinimumDestructionPowerRaise the hit’s power or lower the profile’s requirement. Outcome will read Rejected
Damage is applied but nothing breaksDamage is passing, but power is insufficient, or health has not reached zeroCheck AppliedDamage and RemainingHealth in the result. Consider bDestroyOnSingleValidHit for fragile props
Hits do nothing at allNo profile assigned, or no intact component resolvedOutcome reads InvalidConfiguration. Assign a profile and confirm the intact primitive component
Chaos representation does not appearDestructionMode is not GeometryCollection, or no collection asset is assignedCheck the profile; verify the Geometry Collection asset reference
Fallback is used unexpectedlyThe Chaos representation budget was saturatedbUsedFallback is true. Raise MaxActiveChaosRepresentations, or shorten DebrisLifetime so slots return faster
Debris never appears on a large blastThe per-frame presentation budget suppressed itbPresentationSuppressedByBudget is true. Raise MaxDestructionEventsPerFrame for that scene
Fallback destroys the object with no visualsThe profile has an empty Debris arrayAlways provide debris entries, even on GeometryCollection profiles
Melee swing does nothingNo swing window is openbRejectedBecauseSwingInactive is true. Call Begin SDF Melee Swing first
One swing removes several times the damageDuplicate suppression disabledEnable bSuppressRepeatedActorsPerSwing
Collision behaves incorrectly — nothing breaks while movingContact speed is below MinimumContactSpeedbRejectedBelowMinimumSpeed is true and ContactSpeed reports the measured value. Lower the gate or drive faster
Collision fires repeatedly during one rollThe collision window is not used, or duplicate suppression is disabledOpen a window with Begin SDF Collision Window and keep bSuppressRepeatedActorsPerWindow enabled
Projectile does nothingNo projectile profile assignedbMissingProfile is true. Assign a USDFProjectileHitProfile
Pooled projectile stops working after reusePer-target impact history persistsCall Reset SDF Projectile Impacts when the projectile is taken from the pool
Debris flies toward the attackerImpactDirection or AttackDirection is reversedIt must point from the attacker toward the target
No sound or VFX although requests fireBuilt-in playback or spawning is disabled on the profileEither enable the built-in path or handle the delegate requests in your own systems
Hit reaction request fires but nothing movesThe intact component does not simulate physicsExpected for Static, Keep Existing and older non-migrated setups: the built-in impulse only applies to a simulating intact. Drive your own reaction from the request, or use Simulated
Decals stop appearing on an objectThe per-object decal limit was reachedbSuppressedByObjectLimit is true. Raise MaximumImpactDecals or shorten LifeSpan
Chain reaction never propagatesPropagation is disabled, or neighbours reject the propagated powerEnable bAllowDestructionPropagation; compare PropagationPower against the neighbours’ MinimumDestructionPower
Wood splinters fall through the floorThe splinters land on surfaces that block the Camera trace channel, and this floor ignores itUse a collision preset that blocks Camera (BlockAll and the default static mesh collision do). Splinters more than 10 m below the object are removed
Splinters keep the default brown instead of the object’s woodNo usable colour texture was found on the object’s materialRun Modify Destructible… or Regenerate Destructible… once so the Base Color texture is recorded. Normal, roughness, AO, mask and virtual textures never qualify. See Splinters that look like the object
The whole wood break effect disappeared after editing itOne emitter fails to compile, which stops the entire Niagara systemOpen the system, fix the compile error (often a custom HLSL module reading User. values directly), recompile and save
A spring-arm camera no longer collides with debrisSDF debris ignores the Camera channel so splinters can pass through itExpected. The camera passes through broken pieces instead of being pushed in by them

Modify Destructible

ProblemCauseSolution
The menu entry asks to regenerate firstThe setup was published by an older plugin versionRun Regenerate Destructible… once to adopt it, then use Modify
Switching preset is refused (SDF-REGEN-014)A Glass setup and another family produce different kinds of assetsCreate a new destructible with the other preset
Modify is blocked by unsaved changesThe source, preset, profile or Blueprint has unsaved editor changesSave or discard them first. In-memory work is never overwritten
Generation stops with SDF-AUTH-GC-WOOD-005Cuts Along Length is 0 on a mesh made of one single piece, which would not break at allUse at least 1, or model the prop as separate pieces

Physics and falls

ProblemCauseSolution
Generation stops with SDF-AUTH-PHYS-001Physics is Simulated, the mesh has no usable simple collision (none, Use Complex As Simple, or undersized), and Generate Simulation Collision if Needed is offTurn the option back on so SDF publishes a simulation copy, add simple collision to the source, or choose Static
Generation stops with SDF-AUTH-PHYS-002The simulation collision copy could not be generatedCheck the source mesh’s LOD0 geometry and retry; nothing was published
The report mentions SM_SDF_<Name>_Sim (SDF-AUTH-PHYS-004)The source could not simulate as it stands, so the Blueprint uses an SDF-owned copyExpected. The source mesh was not modified; keep the copy with the setup
An older prop does not fall when its support breaksIt was generated before this feature: its profile reads Keep ExistingMigrate it explicitly with SDF.MigrateToSimulatedPhysics (run VerifyOnly first), or set its instance to Force Simulated
A new prop does not fallIt is Static, its instance is forced static, or Simulated was refusedRead GetEffectivePhysicsMode and GetIntactPhysicsStatus; a Refused… status names the reason
RefusedIntactNotRootThe destructible component sits on your own Actor class and its intact is not the rootMake the intact mesh the root of that Actor, or use Force Static
RefusedMultipleDestructiblesThe Actor carries several destructibles and cannot move as one bodySplit them into separate Actors, or keep them Static
RefusedNoSimpleCollision / RefusedComplexAsSimpleThe intact mesh on a placed Actor cannot simulateFix the mesh’s simple collision, or generate the setup as Simulated through authoring so SDF can publish a simulation copy
A prop tips over, sinks or slides at restIts simple collision does not match the visible mesh, or it was placed overlapping or floating above its supportCheck the collision in the Static Mesh editor, and place the prop resting on its support
A prop hangs in the air after its support brokeThe support was not a destructible, or it did not actually destroy (rolled back)The support wake only follows committed destruction of a destructible. GetLastSupportWakeCount on the support shows how many bodies were woken
A pot falls but does not breakThe drop was below MinimumFallHeightCm, fall damage is off, or the landing failed the profile’s power, speed or health rulesRead GetLastFallHeightCm / GetLastFallDamage; compare with ComputeFallDamage and the profile’s gates
A statue falls and does not breakStone generations keep fall damage offExpected. Enable bEnableFallDamage on its profile and raise FallDestructionPower to at least the profile’s MinimumDestructionPower
A prop took fall damage on something that looked like a wallOnly contacts on surfaces facing upward count as landings; a slope less steep than about 78° still doesCheck the surface it hit. Wall scrapes, ceilings, Pawns and repeated contacts of one landing are ignored; the damaging hit carries the SDF.Source.Collision.Fall tag
A pushed prop reappears at its placed pose after loadingPhysics transforms of intact props are not savedExpected. Reset and load restore the placed pose

Editor and project

ProblemCauseSolution
Plugin content not visiblePlugin content is hidden in the Content BrowserContent Browser Settings → Show Plugin Content
Souls Destruction context menu missingThe plugin is not enabled, or the editor was not restartedEnable the plugin and restart; check the Output Log for load errors
Blueprint does not load after removing the pluginThe Blueprint derives from ASDFDestructibleActorRe-enable the plugin, or rebuild the Actor on your own base class before uninstalling
Generated Blueprint fails to openA managed reference is missingRun Validate Destructible; it reports OutputMissing or ReferenceMismatch with the affected asset

Still stuck

Collect the plugin version, engine version, reproduction steps, the issue code and the batch CSV when relevant, then write to support.

Last updated: 2026-10-01

Type to search titles, sections and keywords.