Getting Started

Introduction

Installation

Project Configuration

Testing in Your Sandbox

Samples & Examples

Core Concepts & Glossary

Package Types

Spaces & Space Templates

Custom Avatars

Custom Avatar Animations

Avatar Attachments

Custom Prefab Objects

Embedded Packages

Drivable Vehicles

Scene Setup

Testing In Unity vs Sandbox

Controlling the Camera

Custom Collision, Layers, and Tags

Audio Mixers and Groups

Key Differences from Standard Unity3D development

Economy

Quests and Rewards

Economy Overview

Monetization

Items

Consumable Items

Rewarding Items

World Currency

Selling Items

Scripting

Components

Entrance Point

Camera Passthrough

Interactable

Trigger Event

Point Of Interest

Environment Settings Overrides

Render Pipeline Settings Overrides

Movement Materials

Climbable

Avatar Teleporter

Empty Frame

Projector Surface

Seat Hotspot

Guidelines

Supported Features and Limitations

Performance Guidelines

Lighting

Publishing to Spatial

Finding Published Packages

Support

FAQs

Help and Support

Release Notes

Asset Import Settings

Synced Animator

<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>

Untitled

How To Use

<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.

Example: Synced Trigger

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.

Screenshot 2022-11-28 at 11.16.58 AM.png

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.

Untitled

← Previous

Spatial Netcode Introduction

Next →

Synced Object