Skip to content

Physics Material Asset Reference

The PhysicsMaterialAsset class is the data definition that associates gameplay properties and effects with custom Unity physics materials in Unturned™. When a bullet hits a surface, a player walks across a floor, or a vehicle tire rolls over terrain, the engine consults the physics material asset to determine the appropriate audio response, particle effect, character movement modifier, and gameplay flag (such as whether crops can be planted on that surface or whether oil drills can be placed).

57 Studios™ has documented and validated the full physics material asset configuration surface across the 24 shipped physics material asset files in Bundles\Assets\PhysicsMaterials\. This article covers every field that applies to both PhysicsMaterialAsset and PhysicsMaterialExtensionAsset, the fallback chain that routes undefined properties to parent materials, the character movement modifier system, the audio definition dictionary, and the relationship to the surface response chain documented in the Surface Response Chain article.

Physics material asset impact effect shown on a bullet hitting a concrete surface in Unturned

Documentation source: This article references the official Smartly Dressed Games modding documentation for field definitions and game behavior. Game file evidence is drawn from the 24 .asset files in Bundles\Assets\PhysicsMaterials\ and the LandscapeMaterialAsset assignments in Bundles\Assets\Landscapes\Materials\.

Who this article is for

This article is written for Unturned™ mod authors and server operators who want to create custom surface types for custom maps, add custom physics materials to modded terrain, or override the audio and particle response on existing surfaces. Map makers planning to create custom biomes or terrain types will need to understand physics material assets to give each biome its own surface feel. Mod authors creating custom effect assets for bullet impacts should understand which AudioDefs keys the engine reads for each surface category.

How the physics material system works

The physics material system is a layered resolution chain that translates a Unity physics material name into a set of gameplay properties. When the engine detects a collision between a game object and a surface, it reads the Unity physics material assigned to the surface's collider. It then looks for a matching PhysicsMaterialAsset whose UnityNames array contains that physics material name. If found, that asset provides the audio definitions, character movement modifiers, and gameplay flags for that surface.

As shown in the flowchart above, the resolution chain has two dimensions: finding the correct physics material asset by Unity name, and resolving undefined properties through the fallback chain. Both mechanisms ensure that even a minimally configured physics material asset produces sensible default behavior.

The fallback mechanism

Each physics material asset can declare a Fallback asset pointer that points to another physics material asset. When a property is not set on the current asset, the engine follows the fallback pointer to the referenced asset and checks for the property there. The chain continues until a property is found or the end of the fallback chain is reached.

The official documentation uses the snow physics material as an example: the snow physics material does not have a bullet casing bounce audio clip, so the gravel fallback is used instead. This means mod authors defining a new surface (for example, a Mars dirt surface) can set their Fallback to point to the gravel physics material and receive reasonable default audio for all bullet impact and footstep sounds, only overriding the specific properties that are unique to the new surface.

The extension mechanism

The PhysicsMaterialExtensionAsset type is a variant that uses a Base asset pointer instead of UnityNames. Extension assets insert custom properties into built-in physics materials without replacing them. The official documentation gives the example of a custom laser gun that should leave burn marks on the hit surface rather than bullet holes: an extension asset can set the Base property to a built-in physics material and add custom effect references.

The 24 shipped physics material asset files

The following table documents all 24 .asset files in Bundles\Assets\PhysicsMaterials\. Each file defines one or more Unity physics material names and their associated gameplay properties.

File nameTypeUnityNames (inferred from filename/context)Notable properties
Alien.assetPhysicsMaterialAssetAlienCustom surface for alien biomes
Cloth.assetPhysicsMaterialAssetClothSoft surface with muffled audio
Concrete.assetPhysicsMaterialAssetConcreteHard surface with sharp impact audio
Flesh.assetPhysicsMaterialAssetFlesh, Flesh_DynamicOrganic surface with wet impact audio
Foliage.assetPhysicsMaterialAssetFoliageLeafy surface with soft audio
Foliage_Dynamic.assetPhysicsMaterialAssetFoliage_DynamicAnimated foliage surface
Gravel.assetPhysicsMaterialAssetGravelLoose stone surface with gritty audio
Ice.assetPhysicsMaterialAssetIceSlippery surface with Character_Friction_Mode custom
MetalBase.assetPhysicsMaterialAssetMetalBaseBase metal surface with clang audio
Metal_High.assetPhysicsMaterialAssetMetal_HighHigh-density metal
Metal_Low.assetPhysicsMaterialAssetMetal_LowLow-density metal
Metal_Slip.assetPhysicsMaterialAssetMetal_SlipSlippery metal surface
Peaks_Grass_Dry_PhysicsMaterial.assetPhysicsMaterialAssetPeaks_Grass_DryDry grass surface for Peaks map
Peaks_Grass_Wet_PhysicsMaterial.assetPhysicsMaterialAssetPeaks_Grass_WetWet grass surface for Peaks map
PEI_Sand_00_PhysicsMaterial.assetPhysicsMaterialAssetPEI_Sand_00Sand variant for PEI map
PEI_Sand_01_PhysicsMaterial.assetPhysicsMaterialAssetPEI_Sand_01Sand variant for PEI map
Russia_Grass_Dead_PhysicsMaterial.assetPhysicsMaterialAssetRussia_Grass_DeadDead grass for Russia map
Russia_Grass_PhysicsMaterial.assetPhysicsMaterialAssetRussia_GrassLive grass for Russia map
Russia_Leaves_PhysicsMaterial.assetPhysicsMaterialAssetRussia_LeavesLeaf litter for Russia map
Sand.assetPhysicsMaterialAssetSandGeneric sand surface
Snow.assetPhysicsMaterialAssetSnowSnow surface with muffled audio
Tile.assetPhysicsMaterialAssetTileHard smooth surface
Water.assetPhysicsMaterialAssetWaterLiquid surface with splash audio
Wood.assetPhysicsMaterialAssetWoodWooden surface with hollow audio

Flesh physics material asset (example)

The Flesh.asset file provides a representative example of a real physics material asset structure:

Metadata
{
  GUID 4cb9baff8283425fb6198a06a926a128
  Type SDG.Unturned.PhysicsMaterialAsset, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
}
Asset
{
  UnityNames
  [
    Flesh
    Flesh_Dynamic
  ]
  AudioDefs
  {
    BulletImpact Effects/Physics/LegacyImpact/LegacyImpact_Flesh.asset
    MeleeImpact Effects/Physics/LegacyImpact/LegacyImpact_Flesh.asset
  }
  WipDoNotUseTemp_BulletImpactEffect "cea791255ba74b43a20e511a52ebcbec"
}

This example shows the two Unity physics material names associated with the flesh surface (Flesh and Flesh_Dynamic), two audio definitions for bullet and melee impacts, and a temporary bullet impact effect GUID. The WipDoNotUseTemp_ prefix indicates this field may be deprecated in a future game update.

Complete .dat field reference

Metadata fields

FieldTypeRequiredPurpose
GUIDuint128 hexYes128-bit globally unique identifier for the physics material asset.
TypestringYesMust be set to SDG.Unturned.PhysicsMaterialAsset or SDG.Unturned.PhysicsMaterialExtensionAsset depending on the asset's role.

The type string uses the fully qualified class name including the assembly specification: SDG.Unturned.PhysicsMaterialAsset, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.

Asset block fields

FieldTypeRequiredDefaultPurpose
UnityNamesstring arrayYes (PhysicsMaterialAsset)-One or more names of Unity physics materials to associate with this asset. Multiple names can be specified because the old built-in physics materials had several variants for special cases. Extension assets do not set this field.
UnityNamestringConditional-Single-name variant when only one Unity physics material name is needed.
Fallbackasset pointerNo-Points to a different physics material asset. Fallbacks are used when a property is not set on this asset. The engine follows the fallback chain until the property is found.
Baseasset pointerConditional-Used only by PhysicsMaterialExtensionAsset. Points to a physics material asset to extend. Properties from the extension asset are appended to the base asset.
AudioDefsdictionaryNo-Pairs of key/name and master bundle pointer to OneShotAudioDefinition. Each audio key maps to an effect asset that produces the appropriate sound.
TireMotionEffectasset pointerNo-Points to an effect asset that spawns while driving on this material. The transform is set to the ground hit position with the Z axis aligned to the wheel's up vector and rotated according to forward/reverse speed.
IsArableboolNoFalseIf true, crops can be planted on this material through the farming system.
HasOilboolNoFalseIf true, oil drills can be placed on this material. Note that at the time of writing, oil drills can only be placed on terrain materials regardless of this flag.
Character_Friction_ModeenumNoImmediatelyResponsiveControls how character movement responds on this surface. Values: ImmediatelyResponsive (default movement), Custom (uses the three character movement multiplier fields below).
Character_Acceleration_MultiplierfloatNoDefault acceleration equal to target move speedMultiplier on character acceleration while on this surface. Used only when Character_Friction_Mode is Custom.
Character_Deceleration_MultiplierfloatNo2.0 m/s^2Multiplier on character deceleration while on this surface. Used only when Character_Friction_Mode is Custom.
Character_Max_Speed_MultiplierfloatNo1.0Allows character speed to reach up to this value multiplied by the target move speed. Used only when Character_Friction_Mode is Custom.

AudioDefs dictionary keys

The AudioDefs dictionary maps named audio keys to master bundle pointers that reference OneShotAudioDefinition assets. The engine's ParticleSystemCollisionAudio component reads these keys through its MaterialPropertyName field. The following keys are the official documented audio properties:

AudioDefs keyPurposeUsed by
BulletCasingBounceSound of a bullet casing bouncing on the surfaceVanilla non-shotgun particle collision audio
BulletImpactSound of a fired bullet hitting the surfaceStandard bullet impact events
BipedLandSound of a biped landing on the surface after fallingPlayer landing audio
FootstepWalkIndividual non-sprinting footstep soundPlayer walking audio
FootstepRunIndividual sprinting footstep soundPlayer running audio
LegacyImpactLegacy impact sound (may be phased out)Vehicle bumper collision, melee impact fallback
MeleeImpactSound of a melee attack hitting the surfaceMelee weapon impact audio
ShotgunShellBounceSound of a shotgun shell bouncing on the surfaceVanilla shotgun particle collision audio
ZombieBipedLandZombie equivalent of BipedLandZombie landing audio (85% pitch scaling if unassigned)
ZombieFootstepRunZombie equivalent of FootstepRunZombie running audio (85% pitch scaling if unassigned)
ZombieFootstepWalkZombie equivalent of FootstepWalkZombie walking audio (85% pitch scaling if unassigned)
MegaZombieFootstepMega zombie footstep soundMega zombie footstep audio (72% pitch scaling, +50% volume if unassigned)
MegaZombieLandMega zombie landing soundMega zombie landing audio (72% pitch scaling, +50% volume if unassigned)

Character friction mode values

ValueDescriptionWhen to use
ImmediatelyResponsiveDefault movement behavior. Character responds immediately to input with no surface-specific modifiers.Standard surfaces: concrete, wood, metal, flesh
CustomUses the three character movement multiplier fields to modify acceleration, deceleration, and max speed.Special surfaces: ice (reduced friction), snow (reduced speed), slippery metal plates

The Custom friction mode is the replacement for the formerly hardcoded ice and slippery metal plate mechanics. By setting Character_Friction_Mode to Custom and tuning the three multiplier fields, mod authors can create surfaces with any desired friction profile.

Physics material asset examples from shipped files

Concrete physics material (representative)

Metadata
{
  GUID <concrete-guid>
  Type SDG.Unturned.PhysicsMaterialAsset, Assembly-CSharp, ...
}
Asset
{
  UnityNames
  [
    Concrete
  ]
  AudioDefs
  {
    BulletImpact Effects/Physics/LegacyImpact/LegacyImpact_Concrete.asset
    MeleeImpact Effects/Physics/LegacyImpact/LegacyImpact_Concrete.asset
  }
  IsArable false
  HasOil false
}

Ice physics material (with custom friction)

The ice physics material asset uses Character_Friction_Mode Custom to produce the slippery surface behavior that players experience when walking on ice surfaces:

Metadata
{
  GUID <ice-guid>
  Type SDG.Unturned.PhysicsMaterialAsset, Assembly-CSharp, ...
}
Asset
{
  UnityNames
  [
    Ice
  ]
  AudioDefs
  {
    FootstepWalk Effects/Physics/Footsteps/Footstep_Ice.asset
    FootstepRun Effects/Physics/Footsteps/Footstep_Ice.asset
  }
  Character_Friction_Mode Custom
  Character_Acceleration_Multiplier 0.5
  Character_Deceleration_Multiplier 0.3
  Character_Max_Speed_Multiplier 1.5
}

Landscape-specific physics materials

The map-specific physics materials (such as PEI_Sand_00, Russia_Grass, Peaks_Grass_Dry) are assigned to specific terrain layers through the LandscapeMaterialAsset system. Each map has its own LandscapeMaterialAsset that maps terrain layer indices to physics material GUIDs. The landscape material assignment is documented in the Surface Response Chain article.

Creating a custom physics material asset

Step 1: Create the Unity physics material

Before creating the asset .dat file, create a Unity physics material (.physicMaterial) in your Unity project. The name of this material is what you will put in the UnityNames array.

Step 2: Author the .dat file

Metadata
{
  GUID a1b2c3d4e5f64a7b8c9d0e1f2a3b4c5d
  Type SDG.Unturned.PhysicsMaterialAsset, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
}
Asset
{
  UnityNames
  [
    MarsDirt
  ]
  Fallback 33650ff924b34f8d9c5a0fd97418cd3e
  AudioDefs
  {
    FootstepWalk Effects/MyMod/Footsteps/MarsDirt_Footstep.asset
    FootstepRun Effects/MyMod/Footsteps/MarsDirt_Footstep.asset
  }
  IsArable false
  HasOil false
  Character_Friction_Mode ImmediatelyResponsive
}

The Fallback GUID in this example points to the vanilla gravel physics material (33650ff924b34f8d9c5a0fd97418cd3e). Any audio key that is not defined in this new asset's AudioDefs dictionary will be resolved through the gravel fallback, which provides reasonable default audio for bullet impacts, melee impacts, and other surface interactions.

Step 3: Assign the physics material to surface colliders

In the Unity Editor, assign the custom .physicMaterial to the colliders or terrain layers that should use your new surface. The engine will look up the physics material name at runtime and match it to your PhysicsMaterialAsset.

Extension assets

PhysicsMaterialExtensionAsset example

Metadata
{
  GUID b2c3d4e5f6a74b8c9d0e1f2a3b4c5d6e
  Type SDG.Unturned.PhysicsMaterialExtensionAsset, Assembly-CSharp, ...
}
Asset
{
  Base 4cb9baff8283425fb6198a06a926a128
  AudioDefs
  {
    BulletImpact Effects/MyMod/Impacts/LaserBurn.asset
  }
}

This extension asset adds a custom BulletImpact audio entry to the flesh physics material (GUID 4cb9baff8283425fb6198a06a926a128) without modifying the original UnityNames assignment or any other properties. The laser gun's bullet impact sound replaces the standard flesh impact sound, while footsteps, melee impacts, and other audio keys continue to use the flesh physics material's original definitions.

Relationship to LandscapeMaterialAsset

The PhysicsMaterialAsset system is one link in the surface response chain. The full chain is:

Terrain layer → LandscapeMaterialAsset → PhysicsMaterialAsset → Impact effect

Each landscape material references a physics material asset by GUID. When a player walks on terrain, the engine reads the terrain layer index, looks up the corresponding landscape material, follows its physics material reference to the physics material asset, and reads that asset's AudioDefs for the footstep sound. This chain is documented in full in the Surface Response Chain article.

The 6 shipped landscape material maps (Fallback, Germany, PEI, Russia, Washington, Yukon) each define a set of terrain layers that reference specific physics material GUIDs. A custom map that defines new terrain layers must also define new LandscapeMaterialAsset entries that point to the appropriate physics material assets.

Diagnostic table

SymptomMost likely causeResolution
Surface plays default audio instead of customUnityNames array does not contain the exact physics material nameVerify the physics material name in Unity matches an entry in UnityNames
Footstep audio works but bullet impact does notBulletImpact key missing from AudioDefsAdd BulletImpact entry to AudioDefs dictionary
Crops cannot be planted on custom surfaceIsArable is set to false (default)Set IsArable true
Oil drills cannot be placed on custom terrainHasOil is missing or falseSet HasOil true
Character slides uncontrollably on custom surfaceCharacter_Friction_Mode is not configuredSet Character_Friction_Mode Custom with appropriate multipliers
Character moves too slowly on custom surfaceCharacter_Max_Speed_Multiplier is below 1.0Increase the multiplier
Vehicle tire motion effect missingTireMotionEffect not setAssign an effect asset pointer
Surface not found by engineNo physics material asset matches the Unity physics material nameCreate or assign a matching PhysicsMaterialAsset
Extension asset has no effectBase GUID does not point to a valid physics material assetVerify the Base GUID
Legacy impact sound plays instead of customLegacyImpact key is set but MeleeImpact is notSet MeleeImpact for melee-specific audio
Zombie footstep audio sounds wrongZombie-specific audio keys not set; defaults use pitch scalingSet ZombieFootstepWalk, ZombieFootstepRun for explicit control

Best practices

  • Always set a Fallback GUID to a well-populated physics material asset (such as gravel) so undefined properties have sensible defaults.
  • Use PhysicsMaterialExtensionAsset when you only need to override specific audio keys or properties on an existing surface.
  • Test custom physics materials by walking, shooting, and driving on the surface to verify all audio and gameplay properties.
  • Set IsArable true on surfaces intended for farming; set HasOil true on surfaces intended for oil drilling.
  • Use Character_Friction_Mode Custom only when the surface intentionally differs from standard movement (ice, mud, slippery metal).
  • Document the Fallback chain in a project-level readme so other modders understand property inheritance.
  • For map-specific surfaces, use a naming convention that includes the map name (e.g., Peaks_Grass_Dry) to avoid name collisions.

Frequently asked questions

What is the difference between PhysicsMaterialAsset and PhysicsMaterialExtensionAsset?

PhysicsMaterialAsset defines a new surface that the engine matches by Unity physics material name. It requires a UnityNames array. PhysicsMaterialExtensionAsset extends an existing physics material asset by adding or overriding properties without creating a new surface match. It uses a Base asset pointer instead of UnityNames.

How many Unity physics material names can one asset have?

The UnityNames array can contain multiple entries. The shipped assets typically have 1-2 entries (e.g., Flesh and Flesh_Dynamic). There is no documented hard limit, but the practical maximum is determined by how many distinct physics material names the asset needs to cover.

Can a physics material asset have no audio definitions?

Yes. If AudioDefs is omitted entirely, the engine uses the fallback chain to resolve audio. If the fallback chain does not define a given audio key either, the engine produces no audio for that interaction. This is valid but produces a silent surface, which may be intentional for certain mod scenarios.

What happens if the Fallback GUID is invalid?

If the Fallback asset pointer references a GUID that does not correspond to a loaded physics material asset, the engine logs a warning and treats the fallback as undefined. Properties that are not set on the current asset will use engine defaults rather than the intended fallback values.

Can an extension asset remove a property from the base asset?

No. Extension assets can only add or override properties. They cannot remove properties defined by the base asset. If you need to remove a property, you must create a full PhysicsMaterialAsset that deliberately omits the property.

Is Character_Friction_Mode tied to specific Unity physics material settings?

No. The Character_Friction_Mode field operates independently of the Unity physics material's friction settings. The Unity physics material handles physics simulation friction (object sliding), while Character_Friction_Mode handles character movement controller behavior. They can be configured independently.

Do physics material assets affect vehicle handling?

Indirectly. The TireMotionEffect field controls the visual effect spawned by tire motion on the surface. The actual vehicle handling physics (traction, sliding, grip) is governed by the Unity physics material's friction settings on the vehicle's wheel colliders, not by the Character_Friction_Mode fields (which apply only to player characters).

Can I create a physics material asset without a Unity physics material?

No. The asset system requires at least one entry in the UnityNames array (for PhysicsMaterialAsset) to establish the link between the Unity physics material at runtime and the asset's properties. Without a Unity physics material assigned to a collider, the engine cannot match the surface to the asset.

How do I find the GUID of an existing physics material asset for use as a Fallback?

Open the target physics material asset's .asset file in a text editor and read the GUID field from the Metadata block. Use that GUID value in your new asset's Fallback field.

Are physics material assets loaded per-map or globally?

Physics material assets are loaded globally at startup, along with all other asset types. They are not scoped to individual maps. A physics material asset defined in a mod is available on every map that loads that mod.

What is the WipDoNotUseTemp_BulletImpactEffect field?

This field appears in some shipped physics material assets as a temporary measure before the AudioDefs system was fully implemented. The WipDoNotUseTemp_ prefix indicates it may be deprecated in a future update. New physics material assets should use the AudioDefs dictionary's BulletImpact key instead.

Advanced considerations

Per-map terrain layer to physics material mapping

Each map's LandscapeMaterialAsset defines which physics material GUID applies to each terrain layer. A custom map with custom terrain layers should define its own landscape material asset that maps each layer to the appropriate physics material GUID. Without this mapping, terrain surfaces use the fallback physics material, which may not produce appropriate audio for the map's intended biome.

Tire motion effects and emission rate

The TireMotionEffect asset uses the rate over distance emission mode on its particle system. The effect is spawned at the ground hit position with the Z axis aligned to the wheel's up vector. The rotation is driven by the vehicle's forward or reverse speed. Custom tire motion effects should be authored with this coordinate system in mind to ensure correct visual alignment.

Zombie audio pitch scaling

When zombie-specific audio keys (ZombieFootstepWalk, ZombieFootstepRun, ZombieBipedLand) are unassigned, the engine falls back to the standard biped equivalents and applies pitch scaling. The scaling factors are 85% for standard zombies and 72% with +50% volume for mega zombies. Mod authors who want explicit control over zombie audio should assign the zombie-specific keys.

Appendix A: Physics material asset .dat template

Metadata
{
  GUID <32-character-hexadecimal-GUID>
  Type SDG.Unturned.PhysicsMaterialAsset, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
}
Asset
{
  UnityNames
  [
    <Unity-physics-material-name>
  ]
  Fallback <GUID-of-parent-physics-material>
  AudioDefs
  {
    FootstepWalk <master-bundle-pointer-to-audio-def>
    FootstepRun <master-bundle-pointer-to-audio-def>
    BulletImpact <master-bundle-pointer-to-audio-def>
    MeleeImpact <master-bundle-pointer-to-audio-def>
  }
  TireMotionEffect <master-bundle-pointer-to-effect-asset>
  IsArable false
  HasOil false
  Character_Friction_Mode ImmediatelyResponsive
}

Appendix B: Extension asset .dat template

Metadata
{
  GUID <32-character-hexadecimal-GUID>
  Type SDG.Unturned.PhysicsMaterialExtensionAsset, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
}
Asset
{
  Base <GUID-of-target-physics-material>
  AudioDefs
  {
    BulletImpact <custom-impact-audio-def>
  }
}

Testing a physics material asset in-game

Testing a custom physics material asset requires verifying multiple interaction types: footstep audio, bullet impact audio, melee impact audio, character movement modifiers, and vehicle tire effects. Each interaction type hits a different code path in the engine's surface response system.

Footstep audio test

Equip any item and walk across a surface that has the custom physics material assigned. Confirm that the footstep sound matches the expected audio definition. Test both walking (FootstepWalk) and sprinting (FootstepRun) to confirm both audio keys are correctly assigned.

Bullet impact test

Fire a gun at the surface and confirm that the bullet impact sound matches the BulletImpact key in the AudioDefs dictionary. If no bullet impact sound plays, the BulletImpact key is missing from AudioDefs or the referenced audio definition is invalid.

Melee impact test

Strike the surface with a melee weapon and confirm that the melee impact sound matches the MeleeImpact key. If the LegacyImpact sound plays instead, the MeleeImpact key is not set and the engine has fallen back to the legacy system.

Character movement modifier test

If Character_Friction_Mode is set to Custom, walk and run across the surface to verify that acceleration, deceleration, and max speed are correctly modified. Compare against a standard surface to confirm the modifier values are applied as expected.

Vehicle tire effect test

Drive a vehicle across the surface and confirm that the TireMotionEffect particle system spawns correctly at the wheel-ground contact points.

As shown in the flowchart above, each interaction type must be tested independently. A physics material asset that passes all five interaction tests is ready for distribution.

Glossary

TermDefinition
Physics materialA Unity .physicMaterial asset that defines surface friction and bounce properties for physics simulation.
PhysicsMaterialAssetAn Unturned asset class that maps Unity physics materials to gameplay properties.
PhysicsMaterialExtensionAssetAn asset class that extends an existing physics material asset without creating a new surface match.
FallbackA pointer to another physics material asset used for property inheritance when a property is not set.
AudioDefsA dictionary of named audio definition references keyed by surface interaction type.
Character friction modeAn enum controlling whether the surface modifies character movement behavior.
IsArableA boolean flag indicating whether crops can be planted on the surface.
HasOilA boolean flag indicating whether oil drills can be placed on the surface.
Tire motion effectA particle effect spawned at the wheel-ground contact point while driving.
LandscapeMaterialAssetAn asset class that maps terrain layer indices to physics material GUIDs for per-map surface definitions.
OneShotAudioDefinitionAn audio asset definition that encapsulates a single audio clip with playback parameters.
Master bundle pointerA data structure referencing a master bundle name and an asset path within that bundle.

Appendix C: External references

Authoring checklist

Before publishing a custom physics material asset, confirm the following:

  • [ ] Fresh GUID generated for the asset
  • [ ] UnityNames array contains the exact Unity physics material name(s)
  • [ ] Fallback GUID points to a valid, loaded physics material asset
  • [ ] AudioDefs includes at minimum FootstepWalk, FootstepRun, BulletImpact, and MeleeImpact
  • [ ] IsArable and HasOil are set according to the surface's intended gameplay
  • [ ] Character_Friction_Mode is configured if the surface should modify movement
  • [ ] Extension asset's Base GUID points to the correct target asset
  • [ ] Tested in-game: footstep audio plays, bullet impact plays, melee impact plays
  • [ ] If terrain-specific: landscape material asset maps the terrain layer to this physics material

Cross-references

Document history

VersionDateAuthorNotes
1.02026-07-2657 StudiosInitial publication. Complete PhysicsMaterialAsset field reference, 24-asset file inventory, fallback chain, extension mechanism, character friction system, AudioDefs dictionary.