{% hint style="info" %} Mirror is published to the Asset Store at the start of every month, unless some critical issue causes a delay. {% endhint %}
{% hint style="info" %} Mirror uses semantic versioning, and the versions shown here are those that were published to the Asset Store, and occasionally major version bumps happen mid-month between store submissions and are therefore not individually shown here. {% endhint %}
v96.0.1 -- 2025-Feb-27
- Hex Spatial Hash Interest Management 2D and 3D (docs coming soon).
- Network Manager now has a Clear button for spawnable prefabs.
- Scene Distance Interest Management (combines Scene and Distance IM's).
- Interest Management SetHostVisibility now handles terrains with tree details, lights, audio sources, and particle systems correctly.
- NetworkTransform now exposes
velocity
andangularVelocity
on the receiving side. - Encryption Transport now logs hardware accelleration status.
- PlayerControllerRB in example controllers: uses non-kinematic rigidbody instead of Character Controller.
- Vector4Long implemented for quarternions delta compression.
- Half Floats for Quaternion compression.
- Entering play mode while in prefab edit mode works now.
- HashSet is now supported in SyncVar / Command / ClientRpc / TargetRpc / NetworkMessage.
- NetworkIdentity.OnDestroy verifies spawned[netId] before removing.
- NetworkTransformHybrid that emits Reliable full state on a slow interval and Unreliable deltas in between.
- PlayerTest example now has PlayerContollerHybrid prefab for testing.
- PickupsDropsChilds example now has interface implemented to show how that should be done.
- HashSet is now a supported type for SyncVar / Cmd / Rpc.
- HalfFloats added to Compression.
- NetworkClient now defers spawn payload until after all objects have been created, eliminating many common race conditions.
- Fixed bug in 96.0.1 for missing message.payload.count check.
- Reader / Writer Processor now works across assemblies.
- Simple Web Transport jslib improved to support more platforms.
- Network Manager StopClient no longer calls OnClientDisconnectInternal (Transport calls it).
- NetworkServer now correctly calls NetworkClient.InvokeUnSpawnHandler from UnSpawnInternal
- NetworkAnimator no longer double calls HandleAnimSetTrigger / HandleAnimResetTrigger on host client.
- NetworkTransform now calls Physics.SyncTransforms in ResetState, which is called from OnTeleport, making it easier to teleport without special handling for character controllers and non-kinematic rigidbodies that would resist being repositioned.
- NetworkTransform now supports FixedUpdate, so non-kinematic rigidbody players don't stutter.
- All forms of Interest Management now use LateUpdate.
- Netgraph improvements.
- Examples updated.
- Edgegap Plugin updated to 2.3.1.
- Encryption Transport now implements Port Transport.
- Network Server now checks
listen
and rejects connections if not listening. - KCP handles nulls in OnClientError during shutdown better now.
- Room and Multiple Additive Scene examples now demonstrate Pooling (See Spawner and Reward scripts).
- Portal script in Additive Levels example now properly waits for RemovePlayerForConnection to complete.
- PredictionUtils now correctly sets freeze rotation before constraints.
- Entering playmode when in prefab edit mode is no longer prevented (now it works).
- NetworkClient, for initial spawning, now defers applying spawn payload until after instantiating all networked objects and adding them into the
spawned
dictionary. This means SyncVars and Sync* collections that cross-reference other networked objects should be much more robust, as the long-standing race condition should now be eliminated. - Network Server
dontListen
renamed tolisten
to eliminate double negative bool. - Moved connectionId to NetworkConnectionToClient (it's meaningless on clients).
- Deprecated Network Manager's virtual OnApplicationQuit - Use OnDestroy instead.
- Deprecated Transport's virtual OnApplicationQuit - Use OnDestroy instead.
- Deprecated Snapshot interpolation settings in Network Client in favor of SnapShotSettings.
- Bouncy Castle moved to Encryption Transport folder.