Getting Started
Package Types
Scene Setup
Custom Collision, Layers, and Tags
Key Differences from Standard Unity3D development
Economy
Scripting
C# Scripting
Visual Scripting
Sync and Multiplayer
Components
Environment Settings Overrides
Render Pipeline Settings Overrides
Guidelines
Supported Features and Limitations
Support
<aside> ⚠️ This is an experimental component, It is likely to receive large changes in the future!
</aside>
<aside> <img src="/icons/book_gray.svg" alt="/icons/book_gray.svg" width="40px" /> The synced animator component is used to mark an animator to be network synced. This will make sure that all the animator parameters and triggers on the animator are synced across all clients.
</aside>
<aside> <img src="/icons/warning_red.svg" alt="/icons/warning_red.svg" width="40px" /> Network syncing animations are tricky so make sure to read carefully!
</aside>
The synced animator will only sync changes to parameters and triggers applied through Animator Events.
The synced animator will not control the animator state or clip. This means that without care the animator state can become de-synced across clients even though parameters are synced.
In the animator below. A,B, and C are clips that play in sequence. If the animator is in state C and the trigger is activated it will reset the animator back to state A.
This kind of setup has a high chance of de-sync because it requires all clients to be on the same state for the trigger to have an effect.
This is an issue because clients don’t sync animation states. Two clients that join at different times will progress through A-B-C at different times. So while the host might be on state C, a freshly joined user might still be on state A or B.
To keep this trigger nicely synced we instead need to define a transition for every state. So no matter what state the local client is in they will always reset when the trigger is activated.
← Previous
Next →