Movement Materials
Movement materials let you define unique physics and audio-visual properties for how colliders interact with avatars in your space.
Getting Started
-
Create a new movement material by right clicking in the project view and selecting
Create > Spatial > MovementMaterial. You can also find it in theAssets > Createmenu at the top of the editor. -
The default movement material that’s applied to every object can be assigned in the Environment Override Settings component.

-
If you would like to override the default movement material for a specific object, then assign a movement material to the specific collider using the
Movement Material Surfacecomponent.
Movement Events
| Property | Function |
|---|---|
| Footstep Walk | When the avatars foot touches the ground while walking |
| Footstep Run | When the avatars foot touches the ground while running |
| Jump | When the avatar jumps while grounded |
| Land | When the avatar lands with enough vertical velocity |
| Stop | When the avatar decelerates very quickly in a single frame. |
| Takeoff | When the avatar accelerates very quickly in a single frame. |
How To Setup Particle Systems
Important
For every movement event with VFX, the prefab will be repositioned and a ParticleSystem.Emit(1) call is made on the particle system.
This means your particles will not be “played” like normal. A single particle will be emitted from the parent system. This lets us use a single particle GameObject per event/material across all avatars keeping the system extremely lightweight.
Use World Space
Because the particle prefab is re-positioned every time we emit, your systems need to simulate in World Space

How To Use Child Emitters
Because we Emit(1) instead of Play() , child particle systems will not play by default. You can trigger them by assigning them as SubEmitters on Birth.
