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.

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
.assetfiles inBundles\Assets\PhysicsMaterials\and the LandscapeMaterialAsset assignments inBundles\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 name | Type | UnityNames (inferred from filename/context) | Notable properties |
|---|---|---|---|
| Alien.asset | PhysicsMaterialAsset | Alien | Custom surface for alien biomes |
| Cloth.asset | PhysicsMaterialAsset | Cloth | Soft surface with muffled audio |
| Concrete.asset | PhysicsMaterialAsset | Concrete | Hard surface with sharp impact audio |
| Flesh.asset | PhysicsMaterialAsset | Flesh, Flesh_Dynamic | Organic surface with wet impact audio |
| Foliage.asset | PhysicsMaterialAsset | Foliage | Leafy surface with soft audio |
| Foliage_Dynamic.asset | PhysicsMaterialAsset | Foliage_Dynamic | Animated foliage surface |
| Gravel.asset | PhysicsMaterialAsset | Gravel | Loose stone surface with gritty audio |
| Ice.asset | PhysicsMaterialAsset | Ice | Slippery surface with Character_Friction_Mode custom |
| MetalBase.asset | PhysicsMaterialAsset | MetalBase | Base metal surface with clang audio |
| Metal_High.asset | PhysicsMaterialAsset | Metal_High | High-density metal |
| Metal_Low.asset | PhysicsMaterialAsset | Metal_Low | Low-density metal |
| Metal_Slip.asset | PhysicsMaterialAsset | Metal_Slip | Slippery metal surface |
| Peaks_Grass_Dry_PhysicsMaterial.asset | PhysicsMaterialAsset | Peaks_Grass_Dry | Dry grass surface for Peaks map |
| Peaks_Grass_Wet_PhysicsMaterial.asset | PhysicsMaterialAsset | Peaks_Grass_Wet | Wet grass surface for Peaks map |
| PEI_Sand_00_PhysicsMaterial.asset | PhysicsMaterialAsset | PEI_Sand_00 | Sand variant for PEI map |
| PEI_Sand_01_PhysicsMaterial.asset | PhysicsMaterialAsset | PEI_Sand_01 | Sand variant for PEI map |
| Russia_Grass_Dead_PhysicsMaterial.asset | PhysicsMaterialAsset | Russia_Grass_Dead | Dead grass for Russia map |
| Russia_Grass_PhysicsMaterial.asset | PhysicsMaterialAsset | Russia_Grass | Live grass for Russia map |
| Russia_Leaves_PhysicsMaterial.asset | PhysicsMaterialAsset | Russia_Leaves | Leaf litter for Russia map |
| Sand.asset | PhysicsMaterialAsset | Sand | Generic sand surface |
| Snow.asset | PhysicsMaterialAsset | Snow | Snow surface with muffled audio |
| Tile.asset | PhysicsMaterialAsset | Tile | Hard smooth surface |
| Water.asset | PhysicsMaterialAsset | Water | Liquid surface with splash audio |
| Wood.asset | PhysicsMaterialAsset | Wood | Wooden 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
| Field | Type | Required | Purpose |
|---|---|---|---|
GUID | uint128 hex | Yes | 128-bit globally unique identifier for the physics material asset. |
Type | string | Yes | Must 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
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
UnityNames | string array | Yes (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. |
UnityName | string | Conditional | - | Single-name variant when only one Unity physics material name is needed. |
Fallback | asset pointer | No | - | 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. |
Base | asset pointer | Conditional | - | Used only by PhysicsMaterialExtensionAsset. Points to a physics material asset to extend. Properties from the extension asset are appended to the base asset. |
AudioDefs | dictionary | No | - | Pairs of key/name and master bundle pointer to OneShotAudioDefinition. Each audio key maps to an effect asset that produces the appropriate sound. |
TireMotionEffect | asset pointer | No | - | 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. |
IsArable | bool | No | False | If true, crops can be planted on this material through the farming system. |
HasOil | bool | No | False | If 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_Mode | enum | No | ImmediatelyResponsive | Controls how character movement responds on this surface. Values: ImmediatelyResponsive (default movement), Custom (uses the three character movement multiplier fields below). |
Character_Acceleration_Multiplier | float | No | Default acceleration equal to target move speed | Multiplier on character acceleration while on this surface. Used only when Character_Friction_Mode is Custom. |
Character_Deceleration_Multiplier | float | No | 2.0 m/s^2 | Multiplier on character deceleration while on this surface. Used only when Character_Friction_Mode is Custom. |
Character_Max_Speed_Multiplier | float | No | 1.0 | Allows 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 key | Purpose | Used by |
|---|---|---|
BulletCasingBounce | Sound of a bullet casing bouncing on the surface | Vanilla non-shotgun particle collision audio |
BulletImpact | Sound of a fired bullet hitting the surface | Standard bullet impact events |
BipedLand | Sound of a biped landing on the surface after falling | Player landing audio |
FootstepWalk | Individual non-sprinting footstep sound | Player walking audio |
FootstepRun | Individual sprinting footstep sound | Player running audio |
LegacyImpact | Legacy impact sound (may be phased out) | Vehicle bumper collision, melee impact fallback |
MeleeImpact | Sound of a melee attack hitting the surface | Melee weapon impact audio |
ShotgunShellBounce | Sound of a shotgun shell bouncing on the surface | Vanilla shotgun particle collision audio |
ZombieBipedLand | Zombie equivalent of BipedLand | Zombie landing audio (85% pitch scaling if unassigned) |
ZombieFootstepRun | Zombie equivalent of FootstepRun | Zombie running audio (85% pitch scaling if unassigned) |
ZombieFootstepWalk | Zombie equivalent of FootstepWalk | Zombie walking audio (85% pitch scaling if unassigned) |
MegaZombieFootstep | Mega zombie footstep sound | Mega zombie footstep audio (72% pitch scaling, +50% volume if unassigned) |
MegaZombieLand | Mega zombie landing sound | Mega zombie landing audio (72% pitch scaling, +50% volume if unassigned) |
Character friction mode values
| Value | Description | When to use |
|---|---|---|
ImmediatelyResponsive | Default movement behavior. Character responds immediately to input with no surface-specific modifiers. | Standard surfaces: concrete, wood, metal, flesh |
Custom | Uses 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 effectEach 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
| Symptom | Most likely cause | Resolution |
|---|---|---|
| Surface plays default audio instead of custom | UnityNames array does not contain the exact physics material name | Verify the physics material name in Unity matches an entry in UnityNames |
| Footstep audio works but bullet impact does not | BulletImpact key missing from AudioDefs | Add BulletImpact entry to AudioDefs dictionary |
| Crops cannot be planted on custom surface | IsArable is set to false (default) | Set IsArable true |
| Oil drills cannot be placed on custom terrain | HasOil is missing or false | Set HasOil true |
| Character slides uncontrollably on custom surface | Character_Friction_Mode is not configured | Set Character_Friction_Mode Custom with appropriate multipliers |
| Character moves too slowly on custom surface | Character_Max_Speed_Multiplier is below 1.0 | Increase the multiplier |
| Vehicle tire motion effect missing | TireMotionEffect not set | Assign an effect asset pointer |
| Surface not found by engine | No physics material asset matches the Unity physics material name | Create or assign a matching PhysicsMaterialAsset |
| Extension asset has no effect | Base GUID does not point to a valid physics material asset | Verify the Base GUID |
| Legacy impact sound plays instead of custom | LegacyImpact key is set but MeleeImpact is not | Set MeleeImpact for melee-specific audio |
| Zombie footstep audio sounds wrong | Zombie-specific audio keys not set; defaults use pitch scaling | Set ZombieFootstepWalk, ZombieFootstepRun for explicit control |
Best practices
- Always set a
FallbackGUID to a well-populated physics material asset (such as gravel) so undefined properties have sensible defaults. - Use
PhysicsMaterialExtensionAssetwhen 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 trueon surfaces intended for farming; setHasOil trueon surfaces intended for oil drilling. - Use
Character_Friction_Mode Customonly when the surface intentionally differs from standard movement (ice, mud, slippery metal). - Document the
Fallbackchain 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
| Term | Definition |
|---|---|
| Physics material | A Unity .physicMaterial asset that defines surface friction and bounce properties for physics simulation. |
| PhysicsMaterialAsset | An Unturned asset class that maps Unity physics materials to gameplay properties. |
| PhysicsMaterialExtensionAsset | An asset class that extends an existing physics material asset without creating a new surface match. |
| Fallback | A pointer to another physics material asset used for property inheritance when a property is not set. |
| AudioDefs | A dictionary of named audio definition references keyed by surface interaction type. |
| Character friction mode | An enum controlling whether the surface modifies character movement behavior. |
| IsArable | A boolean flag indicating whether crops can be planted on the surface. |
| HasOil | A boolean flag indicating whether oil drills can be placed on the surface. |
| Tire motion effect | A particle effect spawned at the wheel-ground contact point while driving. |
| LandscapeMaterialAsset | An asset class that maps terrain layer indices to physics material GUIDs for per-map surface definitions. |
| OneShotAudioDefinition | An audio asset definition that encapsulates a single audio clip with playback parameters. |
| Master bundle pointer | A data structure referencing a master bundle name and an asset path within that bundle. |
Appendix C: External references
- Smartly Dressed Games official modding documentation - the authoritative field reference for PhysicsMaterialAsset and PhysicsMaterialExtensionAsset.
- Unturned on Steam - the Unturned store page and community hub.
- Surface Response Chain - the complete surface response system article that covers the full chain from terrain to impact effect.
- Effect Asset Reference - covers the effect assets referenced by AudioDefs keys.
- Outfit Asset Reference - the previous article in this section.
- Stereo Song Asset Reference - the next article in this section.
Authoring checklist
Before publishing a custom physics material asset, confirm the following:
- [ ] Fresh GUID generated for the asset
- [ ]
UnityNamesarray contains the exact Unity physics material name(s) - [ ]
FallbackGUID points to a valid, loaded physics material asset - [ ]
AudioDefsincludes at minimumFootstepWalk,FootstepRun,BulletImpact, andMeleeImpact - [ ]
IsArableandHasOilare set according to the surface's intended gameplay - [ ]
Character_Friction_Modeis configured if the surface should modify movement - [ ] Extension asset's
BaseGUID 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
- Outfit Asset Reference - the previous article in this section.
- Stereo Song Asset Reference - the next article in this section.
- Surface Response Chain - the complete chain from terrain to impact effect.
- Effect Asset Reference - effect assets referenced by AudioDefs keys.
- Item Asset Anatomy - shared identity fields across all asset types.
- Smartly Dressed Games modding documentation - official field reference.
- Unturned on Steam - game page and community.
Document history
| Version | Date | Author | Notes |
|---|---|---|---|
| 1.0 | 2026-07-26 | 57 Studios | Initial publication. Complete PhysicsMaterialAsset field reference, 24-asset file inventory, fallback chain, extension mechanism, character friction system, AudioDefs dictionary. |
