Comment on page
The Network Transform component synchronizes the position, rotation, and scale of networked game objects across the network.
Network Transform Component
Mirror currently provides two NetworkTransform variations:
- Reliable: low bandwidth, same latency as Rpcs/Cmds/etc.
- Unreliable: high bandwidth, extremely low latency
Use NetworkTransformReliable unless you need super low latency.
A game object with a Network Transform component must also have a Network Identity component. When you add a Network Transform component to a game object, Mirror also adds a Network Identity component on that game object if it does not already have one.
By default, Network Transform is server-authoritative unless you change the Sync Direction to Client To Server. Client Authority applies to player objects as well as non-player objects that have been specifically assigned to a client, but only for this component. With this enabled, position changes are send from the client to the server.
You can use the Sync Interval to specify how often it syncs (in seconds).
NetworkTransformsends movement updates every
Network conditions are never ideal, so those updates may come in out of order, delayed or get dropped somewhere on the way.
Smooth movement over non ideal network conditions is one of the more difficult problems in game networking. Our
NetworkTransformcomponent solves it by using Snapshot Interpolation. We recommend reading through the linked chapter to understand it in detail.
In short, smooth movement over non ideal conditions is achieved through buffering. The worse the conditions, the higher the Buffer Time Multiplier needs to be. However, the higher it is the longer it buffers too.
The total buffer time is calculated by
sendInterval * Buffer Time Multiplier. It's usually recommended to use a factor of '3'.
This means that while you can increase the
Buffer Time Multiplierto make up for worse conditions, you could also decrease the
sendIntervalto still keep a reasonably low buffering delay.
Note: In Newer Mirror versions, sync interval has moved to NetworkManager as "Send Rate". Send rate of 10, would be 0.1 sync interval.