Skip to content
CRUSHFORMV1.1.0
GET IT ON FAB

INTEGRATIONPROJECT SETTINGS

Project settings

Crushform has seven settings classes. Each one appears under Project Settings › Plugins, under its display name. Six save to Config/DefaultGame.ini. The zone editor saves to Config/DefaultEditor.ini. Keep those files under version control, so the whole team shares one set of values.

The lists below give the properties a project changes first. Each default is the value the code sets. The API reference lists every property.

Crushform (UCFSettings) holds the atlas, the default assets, the dirt, the look materials, the hinged parts and the collision.

Crushform Wheels (UCFWheelSettings) holds the rolling sound and the rolling FX of wheels.

Crushform Tire (UCFTireSettings) holds which tyres deform, the tyre budget, the sleep of resting wheels, and what the ground trace ignores.

Crushform Engine (UCFEngineSettings) holds the engine sound.

Crushform Impact Feedback (UCFImpactFeedbackSettings) holds the impact set that plays and the limits on sound and effects.

Crushform Breakable (UCFBreakableSettings) holds the limits and collision of broken units and their debris.

Crushform Zone Editor (UCFEditorSettings) holds the presets that the zone editor offers. It is the only class saved to DefaultEditor.ini.

  • UCFEditorSettings::ZonePresets: the presets in the zone editor’s context menu, in this order. Each preset is an FCFZonePreset with a Name, a Stiffness, a Max Depth and an Edge Width (20 cm by default). A Max Depth of 0 uses the profile’s Max Displacement. The defaults are Frame (stiffness 3, Max Depth 0), Cabin (2, 12 cm), Crumple (0.5, 0) and Neutral (1, 0).

Open Project Settings › Plugins and find the seven Crushform entries. They are:

  • Crushform
  • Crushform Wheels
  • Crushform Tire
  • Crushform Engine
  • Crushform Impact Feedback
  • Crushform Breakable
  • Crushform Zone Editor

Then press Play In Editor on a level with a Crushform body and run Crushform.Stats in the console. The first line it prints is the atlas count, Crushform atlas: <used> of <total> slots used. A dedicated server process prints Crushform atlas: none in this process (a dedicated server draws nothing). instead.

Atlas
AtlasRT_CF_LatticeAtlas
Slot Width256
Slot Height8
Custom Data Offset0
Wheel Custom Data Offset34
Tire Custom Data Offset0
Glass Custom Data Offset18
Scratch AtlasRT_CF_ScratchAtlas
Network
Contact
Repair
Surfaces
Profile
Dirt
Look
Body Dirt LookNone
Wheel Dirt LookNone
Glass Crack LookNone
Loose Parts
Collision
The Crushform settings: Atlas and Look are open, the other groups are collapsed.

Plugins - Crushform Tire

Budget
ScopeBudgeted
Enabled
Max Wheels30
Radius4000.0
Lod Distance 11500.0
Lod Distance 23000.0
Hysteresis0.15
Update Interval0.25
On Screen Tolerance0.5
Sleep
Sleep Distance1.0
Sleep Angle Deg0.5
The Crushform Tire settings: the Budget and Sleep categories, with their defaults.

Plugins - Crushform Zone Editor

The stiffness zone editor's presets: Project Settings > Plugins > Crushform Zone Editor, kept in DefaultEditor.ini for the team.

Zones
Zone Presets4 Array elements
Index [ 0 ]Frame
NameFrame
Stiffness3.0
Max Depth0.0
Edge Width20.0
Index [ 1 ]Cabin
NameCabin
Stiffness2.0
Max Depth12.0
Edge Width20.0
Index [ 2 ]Crumple
NameCrumple
Stiffness0.5
Max Depth0.0
Edge Width20.0
Index [ 3 ]Neutral
NameNeutral
Stiffness1.0
Max Depth0.0
Edge Width20.0
The zone presets in Project Settings, under Plugins > Crushform Zone Editor.

No body gets dirty. Cause: Surfaces (UCFSettings::Surfaces) is empty, or it names no Surfaces asset. Without it no body gets dirty. Fix: assign /Crushform/Surfaces/DA_CF_Surfaces, or your own surfaces asset.

Most Recent on Top falls back to ZOrder. Cause: the Dirt Fresh Atlas is missing or unusable. The Output Log then prints No usable Crushform dirt fresh atlas (Project Settings > Plugins > Crushform > Dirt Fresh Atlas). Fix: set Dirt Fresh Atlas to /Crushform/Atlas/RT_CF_DirtFreshAtlas, or to a usable render target of your own.

There are no scratch lines. Cause: the Scratch Atlas is missing, or is not an RG8 render target of the lattice atlas’s size. The Output Log then prints No Crushform scratch atlas (Project Settings > Plugins > Crushform); scratch lines stay invisible, or names the atlas and the size it must have. Fix: set Scratch Atlas to /Crushform/Atlas/RT_CF_ScratchAtlas, or to an RG8 render target of your own with the lattice atlas’s size.

Materials bake the wrong offset after a change. Cause: the editor rebuilds the material functions when a Custom Data Offset changes, but the rebuilt functions are not saved. Fix: save the material functions, or run Crushform.RebakeOffsets and then save them.