Release notes

2.0

Published 18.11.2025

Added

  • PingClient - new functionality for measuring latency to coherence servers. Supports both UDP and TCP protocols with configurable timeout and cancellation token support.

  • CoherenceNode and CoherenceSync editors now detect if CoherenceSync contains invalid configuration for the CoherenceNode, and display warning messages as well buttons to fix the issue.

  • Support for ClientID as a command and component primitive.

  • coherence logging to file now supports game builds.

  • Improved error messages for when a Simulator Slug has been set but Simulator support has not been enabled for Rooms in the Online Dashboard.

  • Support for multiple tags in coherence sync tags and tag queries using the | separator.

  • CoherenceSync inspector now disables Request Authority buttons when Authority Transfer is set to "Not transferable", providing clear visual feedback to users.

  • Error icons on Scene Hierarchy window for CoherenceBridge, CoherenceQuery and CoherenceCloudLogin (shown when errors found while in Play Mode).

  • Optimization window now visualizes prefab values overrides of optimizations done on prefab variants.

  • Added ability to apply prefab value overrides to base prefab in the Optimization window.

  • Added ability to revert prefab value override changes done on top of a base prefab in the Optimization window.

  • You will now see warnings if you have synced more than the maximum number of variables per component (32) in the CoherenceSync Editor, the Configuration window and during baking.

  • Support for syncing bindings and commands containing big data over fragmented channels.

  • Extended Project Settings with ability to customize whether messages logged to the Console window by coherence should include a watermark, timestamp or source type.

  • An error box is shown in CoherenceSync Editor if the GameObject is not a prefab nor a prefab instance.

  • Worlds UI sample will now automatically try to reconnect to the last connected World if the backend shuts it down, in case the backend restarts the World.

  • Added ICoherenceSync.SetActive(bool). This works the same as GameObject.SetActive(bool), except that it handles unparenting child networked objects before setting the GameObject inactive if 'Preserve Children' is enabled, which can help avoid encountering the error 'Cannot set the parent of the GameObject 'X' while activating or deactivating the parent GameObject 'Y'.

  • Added support for sending commands to an interface as well as the concrete class.

  • Added optional IRelay.Flush() callback method for custom relay implementations.

  • Added CloudService.Regions access point for region-related functionality.

  • Refresh button in Networked Prefabs window to update the view.

Changed

  • Updated Simulator Slug configuration GUI in the Hub to better clarify that it applies to the project as a whole, and not just Simulator builds. Also added a link to documentation.

  • Removed the size limit of commands and inputs.

  • Removed the size limit of strings and byte arrays in both commands and bindings.

  • Made it possible to create lobbies that are not associated with any rooms. This makes it possible to create lobbies even if you have a Simulator Slug configured in coherence Hub, but have not enabled simulators for rooms in the Online Dashboard.

  • Migrated CloudStorage access point to CloudStorage from CloudService.GameServices.

  • Marked GameServices.MatchmakerService as obsolete. CloudService.Lobbies should be used instead.

  • CoherenceSync.CoherenceBridge will now continue returning a non-null value even after the networked entity has been destroyed. This means that other components can safely access the bridge via this property during their OnDisable and OnDestroy events and more easily do things like unsubscribe event handlers from the CoherenceBridge's events.

  • Made LobbiesService.GetLobbySessions obsolete, because it could not reliably return data for the lobbies that the player belongs if they log out out then log back in while inside a lobby. Added LobbiesService.GetLobbySessionsAsync and LobbiesService.GetLobbySessionIds which work reliably even in this situation.

  • INetworkObjectInstantiator.Destroy is no longer unnecessarily executed for networked objects during a disconnection event if the object's scene is already being unloaded.

  • Renamed CreateLobbyOptions.Secret to CreateLobbyOptions.Password.

  • 'Remove All Invalid Bindings' buttons in CoherenceSync's Editor and the Networked Prefabs window now clearly list which objects contain which invalid bindings when prompting for confirmation.

  • Messages logged to the Console window by coherence are now cleaner by default, no longer including timestamps or message source types. This can be customized in Project Settings.

  • Improved some coherence Hub window error messages in cases where upload operations fail.

  • Removed requirement of an unlock token for launching the Replication Server in the runtime settings since the Replication Server restrictions are now lifted for everyone.

  • Marked CloudRooms region-specific functionality obsolete; RegionsService should now be used for those instead.

  • Configure window will only inspect a CoherenceSync when it's selected, following more closely how the Inspector works.

  • Configure window button in CoherenceSync inspector usable in Play Mode.

  • An OnApplicationQuitSender GameObject is no longer created in the hierarchy during initialization.

  • Improved compilation speed by lowering the amount of files baking generates.

  • Renamed 'Import Connect Dialog...' into 'Open Sample UIs in Hub'.

  • Clone Mode message box changed into a toolbar.

  • New icon for Clone Mode to indicate 'Allow Editing' is enabled.

Fixed

  • Fixed "Write to File" logging option not setting the scripting symbols.

  • Fixed inconsistent terminology used when referring to the Online Dashboard.

  • All async methods in LobbiesService now automatically defer sending of requests as needed to avoid "Too Many Requests" errors.

  • Fixed Hub sections maintaining scroll position when switching between modules.

  • Fixed obsolete member warnings in Unity versions 6.2 and 6.3.

  • Dialog asking to restore old setting is now shown properly if local Simulator build is cancelled midway through the process.

  • Fixed exception if AuthClient was disposed while a Login operation was in progress and the Login operation was not cancelled.

  • Fixed possible NullReferenceException in CoherenceClientConnectionManager when exiting Play Mode.

  • CoherenceSync editor now shows warning about invalid bindings also when inspecting prefab instances and prefab assets that are not being edited in prefab mode.

  • CoherenceSync editor now also warns about invalid bindings targeting components in child GameObjects.

  • Fixed issue in Matchmaking sample where leaving and re-entering lobbies would result in errors about LobbySession not being disposed properly.

  • Improved reliability of applying optimizations made to a base prefab to all its variants.

  • Fixed an issue in the Matchmaking sample where a NullRefereceException would occur for non-lobby owners when joining a lobby.

  • Coherence Node Editor buttons for automatically fixing Coherence Sync configuration issues are now dynamically disabled for scene objects in Play Mode, as well as handle different kinds of prefab targets properly.

  • Fixed crash when changing the selected project in the coherence Hub window in Unity 6.3 Alpha.

  • Fixed possible NullReferenceException in World UI sample.

  • Don't allow negative sizes for pooled networked instantiations.

  • Dynamically added prefabs to a CoherenceSync with a complex nested prefab seup using PrefabSyncGroup will now delete on non-auth clients correctly where before they would not.

  • 'Select All' in the Configuration window will no longer ever select more than the maximum supported number of variables per component (32).

  • Fixed issue where 'Delesect All' could deselect bindings from different components of the same type.

  • A descriptive warning is now logged if a CoherenceSync that is not an instance of a prefab is loaded at runtime, instead of a generic NullReferenceException getting thrown.

  • Added [Serializable] attribute to all types used with [SerializeReference] to get rid of warnings from Unity.

  • Fixed MissingReferenceException in CoherenceSyncConfigPostprocessor when both a networked prefab and its config were deleted simultaneously.

  • Fixed compile error in Unity 6+ when baking if a LOD's Distance was set to a very high value in the Optimization window.

  • 'Find Match' button Matchmaking UI sample is now disabled when no regions are selected.

  • Fixed issue where selected prefab asset could get deselected when making changes to its state because of usage of AssetDatabase.StartAssetEditing in an AssetPostprocessor, even if no changes actually were made to any prefabs.

  • Made it possible to instantiate and destroy networked objects inside [OnValueChanged] event handlers without it resulting in exceptions.

  • Fixed Optimize window throwing a NullReferenceException if you open a networked prefab in the prefab stage, delete the prefab asset, and select the GameObject in the prefab stage.

  • Updated CoherenceSync header tooltip to refer to Networked Prefabs window using its correct name.

  • Interpolation artifacts when InterpolationSettings.TeleportDistance is triggered.

  • Fixed issue with the error "Cannot set the parent of the GameObject 'X' while activating or deactivating the parent GameObject 'Y'." sometimes appearing in the Console when a networked object with nested networked objects and 'Preserve Children' enabled was set inactive.

  • WebTransport dropping last packet containing the disconnect request, reporting the disconnect reason always as channel closed.

  • Fix ArgumentException when making changes to a prefab asset when the open scene contains an instance of said asset and the prefab instance contains a CoherenceSync component but the prefab asset doesn't.

  • Unticking 'Sync with coherence' in the GameObject header no longer results in a GUI error.

  • Ticking 'Sync with coherence' no longer applies any prefab instance overrides to prefab asset except for the CoherenceSync component, as intended.

  • Many races around Shifting Origin which would lead to entities having wrong position.

  • Fixed scale interpolation issue when parenting changes.

  • Improved accuracy of Schema In Cloud sync state indicator.

  • Fixed possible NullReferenceException from CoherenceSceneLoader when exiting Play Mode or quitting the application.

  • Fixed CoherenceSceneLoader causing 'ArgumentException: SceneManager.SetActiveScene failed; invalid scene' if the scene that it loaded was unloaded immediately after being loaded.

  • Fixed issue where could encounter "Some objects were not cleaned up when closing the scene. (Did you spawn new GameObjects from OnDestroy?)" warning when exiting Play Mode.

  • Fixed issue where OnApplicationQuit could get executed multiple times for INetworkObjectInstantiator and INetworkObjectProvider when quitting the application.

  • Fixed issue where a NullReferenceException could occur when a login attempt failed in certain circumstances.

  • 'Fix Invalid Bindings' to be used only on Prefab Assets.

  • Bake icon (Project window) marks when to bake in many more scenarios.

  • Stability of Configure and Optimize windows when kept open.

  • Able to inspect Gathered.schema when using enums.

  • Support enums with negative values.

  • Deleting a folder with networked prefabs was not deleting their linked configs properly.

  • Fixed issue where local Schema would not get uploaded to the Cloud after baking, even if Upload Schemas to Cloud On Baking Complete was enabled in Project Settings, if the baking process didn't result in any changes to scripts.

  • Fixed transform interpolation artifacts when entities are unparented or re-parented under a non-CoherenceSync GameObjects (also known as folders for scene organization).

  • Fixed 'Sync Prefab Stage' button not always working.

  • Disallow certain operations, like uploading schemas, when working with clones (ParrelSync, MPPM, etc).

  • Performance regression of Networked Prefabs window when having lots of prefabs.

  • Disallow certain operations, like uploading schemas, when working with clones (ParrelSync, MPPM, etc).

  • 'Sync with coherence' header now works with added components to instances.

  • CoherenceSync inspector prompts to apply prefab override instead of creating a new prefab.

  • Fixed a race when an entity is instantiated, parented and transferred authority in the same frame, causing the parenting to not be replicated.

  • Fixed 'Fix Authority Type' on Coherence Bridge Editor not updating all in-memory versions of the targeted prefab immediately.

  • Fixed issue where 'Select All' button in Configuration window could result in maximum number of bound variables per component getting exceeded if some members had the [Sync] attribute but were not yet added into the bindings list of the component.

Last updated

Was this helpful?