Destruction profiles

Every property of USDFDestructionProfile — health, resistance, presentation mode, debris, audio, VFX, hit reactions, damage stages, decals, loot and propagation.

USDFDestructionProfile is a UPrimaryDataAsset. It holds every decision about how one class of object behaves, and it is shared by every Actor that uses it. Authoring generates one per object; you can also create them by hand and reuse a single profile across a whole prop family.

Only properties that exist in the shipped class are listed here.

Health

PropertyDefaultMeaning
bUseHealthfalseWhen false, the object has no health pool and relies entirely on the power gate
MaxHealth1.0Starting health
MinimumDamageThreshold0.0Minimum conventional damage required to reduce health at all
DamageMultiplier1.0Scales incoming Damage
ImpactDamageMultiplier0.0Scales the impact-derived damage contribution
bDestroyOnSingleValidHittrueAny hit that passes the power gate destroys the object

MinimumDamageThreshold is what makes an object ignore chip damage. A valid power-only hit can still produce a reaction, or break a fragile object, without ever reducing health.

bDestroyOnSingleValidHit overrides the health pool

While bDestroyOnSingleValidHit is on, bUseHealth and MaxHealth never get a say: the first hit that passes the power gate destroys the object. For a multi-hit prop, turn it off and enable the health pool — or simply set Max Health in the authoring window, which publishes all three properties correctly in one step.

Resistance

PropertyDefaultMeaning
MinimumDestructionPowerVeryLightHits below this power are rejected
MinimumImpactSpeed0.0Hits carrying an impact speed below this are rejected
bBreakByPawnCollisionfalseLet a pawn walking or rolling into the object break it
PawnCollisionMinimumSpeed200.0Pawn speed required for such a break
PawnCollisionPowerLightPower assigned to a pawn-collision break
bAllowPowerOverridefalseEnables the instant-break rule below
InstantBreakPowerMassiveWith the override enabled, a hit at or above this power destroys the object regardless of remaining health

See Destruction hit for why power and damage are separate.

Physics and fall damage

The Default column is the value of the profile class — what a profile created by hand, or saved before these properties existed, holds. New generations write different values per preset family; those are listed in the second table.

PropertyDefaultUnitMeaning
PhysicsModeKeepExisting—KeepExisting leaves the intact mesh’s own physics settings alone; Static switches its simulation off; Simulated puts it under physics with gravity at BeginPlay
bEnableFallDamagefalse—Lets a simulating intact prop take damage when it lands after a fall
MinimumFallHeightCm80.0cmSafe distance: how far the intact body’s centre must descend before a landing can hurt it
FallDamagePerMeter50.0damage per metreDamage per metre of drop beyond the safe distance
FallDestructionPowerVeryLight—Power of the landing hit, checked against MinimumDestructionPower like any other hit

ComputeFallDamage(DropHeightCm) returns max(0, (DropHeightCm - MinimumFallHeightCm) / 100 * FallDamagePerMeter), or 0 while fall damage is off. The result is damage, not a chance to break: it still goes through health, power and speed gates.

Values written by new generations:

Preset familyPhysicsModebEnableFallDamageMinimumFallHeightCmFallDamagePerMeterFallDestructionPower
CeramicSimulatedtrue6050VeryLight
Glass VesselSimulatedtrue8080VeryLight
Every other familySimulatedfalse———
Composite glass windowStaticfalse———

A placed instance can override the mode through PhysicsModeOverride on its destructible component. Collision requirements, the support wake, migration and diagnostics are in Intact physics and fall damage.

Presentation mode

PropertyDefaultMeaning
DestructionModeNoneNone, SwapAndScatter, GeometryCollection or Glass

Glass

Only relevant when DestructionMode is Glass:

PropertyDefaultMeaning
GlassSettingssee belowAn FSDFGlassFractureSettings struct — the runtime crack pattern, shard physics and cleanup

The full struct is documented in Runtime glass fracture.

Geometry Collection

Only relevant when DestructionMode is GeometryCollection:

PropertyDefaultMeaning
GeometryCollectionAssetnoneThe pre-fractured collection to activate
bFallbackToSwapAndScattertrueUse the debris path when a Chaos representation cannot be activated
GeometryCollectionDamageRadius100.0Radius around the impact inside which fragments are activated. Size it against the prop: a radius shorter than the prop leaves distant fragments standing
GeometryCollectionRadialBias0.55Share of each fragment’s launch pointing away from the impact
GeometryCollectionDistantFragmentScale0.35Launch scale applied to fragments far from the impact
GeometryCollectionBreakVelocity85.0Velocity given to newly breaking pieces along the resolved attack direction
GeometryCollectionLinearDamping2.0Linear damping of the broken pieces
GeometryCollectionAngularDamping4.0Angular damping of the broken pieces
GeometryCollectionRestitution0.0Bounciness of the broken pieces
GeometryCollectionFriction0.8Friction of the broken pieces

Why the asset is a soft UObject reference

The property is typed as a soft UObject reference with an editor filter that accepts only Geometry Collection assets. That keeps Chaos implementation types out of the plugin’s public API while still giving you a correct asset picker.

Swap and Scatter

Used both as a primary mode and as the fallback:

PropertyDefaultMeaning
DebrisemptyArray of FSDFDebrisEntry fragment definitions
MaximumDebrisPieces12Hard cap on spawned pieces (0–64)
SpawnRadius25.0Scatter radius around the impact
DefaultImpulseStrength500.0Impulse used when the hit carries none
DirectionalImpulseWeight0.75Share of impulse along the attack direction
RandomImpulseWeight0.15Share of random deviation
UpwardImpulseWeight0.2Share of upward lift

Each FSDFDebrisEntry carries a soft UStaticMesh reference, a minimum and maximum count, a minimum and maximum scale, and a local spawn offset.

Cleanup

PropertyDefaultMeaning
bRemoveDebrisAfterLifetimefalseDestroy debris after the lifetime instead of keeping it settled
DebrisLifetime2.0Seconds before the subsystem’s centralised cleanup considers the debris
bDisableCollisionAfterSettlingtrueOnce settled, debris stops colliding with pawns and weapon sweeps
bWaitForDebrisToResttrueWait for real physical rest before freezing kept debris
DebrisSettleTimeout4.0Extra seconds granted past the lifetime for debris to come to rest

With the default settings, debris is Souls-persistent: it settles where it fell, is frozen asleep, and stays until the settled-debris budget evicts it or a reset restores the prop. The subsystem never freezes a piece that is still moving — and because the physics engine can put a slow fragment to sleep in mid-air, it wakes apparently-resting debris a couple of times before trusting the rest state, so airborne pieces fall instead of hanging where they were.

Audio

PropertyDefaultMeaning
bEnableAudioRequeststrueEmit middleware-neutral audio requests
bEnableBuiltInAudioPlaybacktrueAlso play through UGameplayStatics
SoundAttenuationnoneOptional attenuation asset applied to built-in playback
SoundConcurrencynoneOptional concurrency asset applied to built-in playback
HeavyImpactMinimumPowerHeavyPower at which an impact counts as heavy
HeavyImpactMinimumImpulse600.0Impulse at which an impact counts as heavy
LightImpactSoundsemptyWeighted variations
HeavyImpactSoundsemptyWeighted variations
BreakSoundsemptyWeighted variations
DebrisImpactSoundsemptyWeighted variations
MinimumDebrisImpactSpeed150.0Below this, a debris collision is silent
DebrisImpactCooldown0.12Seconds between debris sounds
MaximumDebrisImpactSoundsPerDebrisActor1Cap per debris piece (0–32)

See Audio.

VFX

PropertyDefaultMeaning
bEnableVFXRequeststrueEmit middleware-neutral VFX requests
bEnableBuiltInVFXSpawningtrueAlso spawn Niagara systems directly
HeavyImpactVFXMinimumPowerHeavyPower threshold for the heavy impact event
HeavyImpactVFXMinimumImpulse600.0Impulse threshold for the heavy impact event
LightImpactEffectsemptyWeighted Niagara variations
HeavyImpactEffectsemptyWeighted Niagara variations
BreakEffectsemptyWeighted Niagara variations
DebrisImpactEffectsemptyWeighted Niagara variations
CustomEffectsemptyWeighted variations for Custom events
MinimumDebrisImpactVFXSpeed200.0Below this, a debris collision spawns nothing
DebrisImpactVFXCooldown0.15Seconds between debris effects
MaximumDebrisImpactVFXPerDebrisActor1Cap per debris piece (0–32)

See Niagara and VFX.

Hit reactions

PropertyDefaultMeaning
bEnableHitReactionsfalseEmit a reaction request for valid non-destroying hits
MinimumHitReactionPowerVeryLightPower gate for reactions
bApplyBuiltInPhysicsReactiontrueApply a bounded impulse when the intact component already simulates physics
HitReactionImpulseMultiplier0.2Fraction of the incoming impulse used
MaximumHitReactionImpulse250.0Hard cap

See Decals and hit reactions.

Damage stages

PropertyDefaultMeaning
DamageStagesemptyArray of FSDFDamageStage

Thresholds are evaluated by value, so the array order is not gameplay-significant. See Damage stages.

Decals

PropertyDefaultMeaning
bEnableImpactDecalsfalseDecals are opt-in
bEnableBuiltInDecalSpawningtrueDisable when an external listener owns decal presentation
MinimumDecalPowerVeryLightPower gate
MaximumImpactDecals3Per-object limit (0–32)
ImpactDecalsemptyWeighted FSDFWeightedDecal variations

Loot

Generic post-destruction behaviour, independent from any inventory system:

PropertyDefaultMeaning
LootModeDisabledDisabled, ExternalOnly, SpawnLoot or RevealExistingActor
LootActorsemptyWeighted candidates used by SpawnLoot
LootSpawnOffsetzeroOffset from the owner or the assigned loot spawn component
ModeBehaviour
DisabledNothing happens
ExternalOnlyA loot request is emitted; your own systems decide what to do
SpawnLootExactly one weighted candidate can be selected per destruction, then its SpawnChance, quantity and scatter are applied
RevealExistingActorLevel-placed Actors registered with AddActorToReveal are activated

Each FSDFWeightedLootActor carries a soft Actor class, a weight, a SpawnChance evaluated after selection, minimum and maximum quantity, a horizontal ScatterRadius and a symmetric VerticalScatter. The outcome is reported through OnLootRequested as an FSDFLootRequest.

Propagation

PropertyDefaultMeaning
bAllowDestructionPropagationfalseEnable chain reactions from this object
PropagationRadius250.0Neighbour search radius
PropagationDamage100.0Damage delivered to each neighbour
PropagationPowerLightPower of the propagated hit
PropagationImpulse600.0Impulse of the propagated hit
MaxPropagationDepth2Hard depth cap for chains this profile starts (0–32)

See Chain reactions.

Two worked profiles

Fragile ceramic pot

bUseHealth                = true
MaxHealth                 = 20
MinimumDestructionPower   = VeryLight
bDestroyOnSingleValidHit  = true
DestructionMode           = GeometryCollection
bFallbackToSwapAndScatter = true
DebrisLifetime            = 4.0

Resistant wooden crate

bUseHealth                = true
MaxHealth                 = 100
MinimumDamageThreshold    = 5
MinimumDestructionPower   = Light
bAllowPowerOverride       = true
InstantBreakPower         = Massive
DestructionMode           = GeometryCollection
DamageStages              = [ 0.66 cracked mesh, 0.33 heavily damaged mesh ]

Last updated: 2026-09-15

Type to search titles, sections and keywords.