Supported on
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
| Name | Type | Description |
|---|---|---|
| Network Id Type | Object Id or Custom | How 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 Id | string | Shown when Network Id Type is Custom. Must be the same on every client. Defaults to enter_unique_id. |
| Position Sync | None, Location, Local, or World | Which position space to sync, or None to skip position. Defaults to Location. |
| Rotation Sync | None, Location, Local, or World | Which rotation space to sync. Defaults to Location. |
| Scale Sync | None, Location, Local, or World | Which scale space to sync. Defaults to Location. |
| Persistence | Ephemeral, Owner, Session, or Persist | How long the store outlives its owner. Defaults to Session. |
| Sends Per Second Limit | int | Caps how often transform updates are sent. Defaults to 10. |
| Use Smoothing | boolean | Interpolates remote values instead of snapping. Defaults to false. |
| Interpolation Target | float | Shown 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.
Related
- Storage Property:
forTransform,forPosition,forRotation,forScale. - Sync Entity
- Sync Materials
Was this page helpful?