# 2025 Change Log

{% hint style="info" %}
Mirror is published to the [Asset Store](https://assetstore.unity.com/packages/tools/network/mirror-129321) 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](https://assetstore.unity.com/packages/tools/network/mirror-129321) -- 2025-Feb-27

### Added

* [Hex Spatial Hash Interest Management](https://mirror-networking.gitbook.io/docs/manual/interest-management/hex-spatial-hashing) 2D and 3D with additional optimizations.
* 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` and `angularVelocity` 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.

### Fixes

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

### Changes

* 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 to `listen` 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mirror-networking.gitbook.io/docs/manual/general/changelog/2025-change-log.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
