Skip to main content
Supported on
Snapchat

Sync Transform

SyncTransform keeps a scene object's transform in sync across the session. Add it to the object you want synced and it creates its own Sync Entity. No scripting required.

Component Inputs

NameTypeDescription
Network Id TypeObject Id or CustomHow the network id is generated. Use Object Id for an object that exists in the scene at edit time. Defaults to Object Id.
Custom Network IdstringShown when Network Id Type is Custom. Must be the same on every client. Defaults to enter_unique_id.
Position SyncNone, Location, Local, or WorldWhich position space to sync, or None to skip position. Defaults to Location.
Rotation SyncNone, Location, Local, or WorldWhich rotation space to sync. Defaults to Location.
Scale SyncNone, Location, Local, or WorldWhich scale space to sync. Defaults to Location.
PersistenceEphemeral, Owner, Session, or PersistHow long the store outlives its owner. Defaults to Session.
Sends Per Second LimitintCaps how often transform updates are sent. Defaults to 10.
Use SmoothingbooleanInterpolates remote values instead of snapping. Defaults to false.
Interpolation TargetfloatShown when Use Smoothing is on. Defaults to -0.25.

The Sync Entity this component creates is always Unowned, so any client may write to it. If you need ownership control, build it yourself with Sync Entity and StorageProperty.forTransform.

Choosing a send rate

Ten sends per second is a deliberate default: it is smooth enough for most gameplay without risking rate limiting. Raise it only for something fast and close to the camera, and turn on Use Smoothing rather than raising the rate if the motion looks choppy. Smoothing costs nothing on the network.

Was this page helpful?
Yes
No