Release Notes

Read about new features, important changes and fixes for version 1.1

Don't forget to check out our SDK Upgrade Guide when switching versions!

1.1.4

Published 26.03.2024

Fixed

  • Commands routing pop-up doesn't block information with scrollbars on a few specific scaling settings anymore.

  • CoherenceRelayManager no longer causes a stack overflow in rare circumstances if there are errors in the underlying UDP transport.

1.1.3

Published 08.02.2024

Fixed

  • Labels no longer overflow when UI Scaling is set above 100% (on Windows: Edit > Preferences... > UI Scaling).

Changed

  • Creating a Command on the Configure Window now defaults to "Send to Everyone, including yourself".

1.1.2

Published 23.01.2024

Added

  • Sample Scenes were added and are now accessible from the package samples section and coherence's Explore Samples menu.

Fixed

  • Source Generator no longer skips baked scripts that don't compile.

  • CoherenceNode: no longer teleports to origin when reparenting.

1.1.1

Published 12.12.2023

Added

  • coherence > Local Replication Server > Backup World Data toggle.

Changed

  • Hub: Persistence renamed to Backup World Data, and disabled by default for local replication servers.

Fixed

  • Version label in the Hub now copies correct OS information to the clipboard.

  • CoherenceSync's Configure window no longer shows the Animator Controller on variables that have the same name as animation parameters.

  • No longer send invalid updates when gaining authority.

1.1

Published 28.11.2023

Check out our blog post on 1.1!

Added

  • CoherenceSync: added support for nested Prefabs and hierarchies via PrefabSyncGroup component.

  • Sample: matchmaking with manual authentication.

  • CoherenceBridge: added ability to disconnect from within the inspector.

  • CoherenceSync: added support for byte, sbyte, short, ushort and char.

Changed

  • CoherenceNode: improved stability.

  • CoherenceSync: reworked Play Mode panel on the inspector.

  • CoherenceSync: we now allow sending commands while disconnected (method gets called locally).

  • CoherenceSync: Configure window shows variables and methods tagged with [Sync] and [Command].

  • CoherenceScene: editor scene visibility settings split for Clients and Simulators.

  • Reworked interpolation. Removed overshoot settings.

  • Reworked code generation. Now, it's implemented on the Unity/C#-side.

  • Updated JWT implementation, which is no longer provided as a pre-build DLL. This also prevents dependency conflicts.

  • HTTP request timeout changed from 1 second to 10 seconds.

  • Multi-Room Simulators Wizard: reworked, simplified layout.

Fixed

  • Game Object getting deselected after adding CoherenceSync.

  • Reduced the amount of GC allocs made for better performance.

  • Release WebSocket when leaving Play Mode.

  • Instantiated InterpolationSettings never getting destroyed.

  • Time scale related issues, including jitter and low-FPS scenarios.

  • Restrict and warn about the 31 components per entity limitation.

  • Resolve inheritance when sending commands.

  • Client Connection Prefab instances initialization issue when using the CreateScene API.

  • Issue where mixing Transform and RectTransform networked variables could break.

  • Console error after baking when Upload Schema on Baking Complete was on.

  • Profiler: count messages received.

  • Sample: wasn't refreshing Worlds properly in some scenarios.

  • CoherenceSync: deleting a Component or a GameObject on the hierarchy spammed errors on the console.

  • Uploading WebGL builds now shows the correct information on the progress bar.

  • Console errors after deleting a Prefab, when the Coherence Objects Window has been opened and closed.

Removed

  • Unity 2020 support. (Minimum supported version is now Unity 2021.3 LTS)

1.0.5

Published 06.10.2023

Added

  • Extrapolation: Max Overshoot Allowed range increased to [0, 20].

  • Extrapolation: Expose stale factor (defaults to 2).

Changed

  • Highly reduced GC allocs made while serializing.

Fixed

  • WebSocket request timings.

  • OnValueSynced not triggering when the update packet came with a parenting change.

  • Shifting the floating origin now correctly shifts rigidbodies in the same frame without kicking in the physics interpolation.

1.0.4

Published 05.09.2023

Added

  • Descriptor Providers: two new properties were added to Bindings, called OverrideGetter and OverrideSetter. Setting this to true will allow you to write custom code blocks in your getters and setters, as opposed to being limited to "UnityComponent.{myCustomCode}".

  • CoherenceBridge API: TranslateFloatingOrigin(Vector3d) overload.

Fixed:

  • Floating Origin: fixed entities jittering on remote clients when Floating Origin is changed.

1.0.3

Published 11.08.2023

Added

  • Tutorial Project: Released the Campfire Tutorial Project where you will be able to delve into more advanced aspects of how to use coherence.

1.0.2

Published 10.08.2023

Fixed

  • CoherenceNode: Reset on OnDisable.

  • Reset entity reference when destroying the entity.

  • Force re-cache SchemaID after writing Gathered.schema to disk.

1.0.1

Published 25.07.2023

Fixed

  • Commands: fixed trying to send a command from an inherited class that is bound in the parent class.

  • Bindings: fixed rare cases where RectTransform bindings would be reported as missing.

  • Client Connection Prefabs: fixed Client Connection instances duplication when changing Physics scene.

  • Coherence Profiler: fixed count of messages received.

  • ReplicationServerRoomsService: fixed RemoveRoom methods.

  • Optimize window rendering issue where rows would disappear.

1.0

Published 04.07.2023

Still, nothing beats Release Notes for a quick and comprehensive review of the changes, so go ahead!

If you're updating from version 0.10, please check out our Upgrade Guide.

Minimum supported version is now Unity 2021.3 LTS.

New features and functionality

  • Lobby Rooms

  • Unity multi-scene support

  • TCP Fallback

  • Client-hosting

  • Profiler: a coherence Profiler module for basic networking information.

  • Added support for object pooling and a default pooling implementation.

  • Protocol: added support for ordered components so parenting component changes always arrive with related position changes.

  • CloudService: non-static public API to communicate with your coherence Cloud project.

  • Samples: Explore Samples window.

  • Samples: New Connection Dialog Samples for Rooms and Worlds.

  • Enter Play Mode Options (No Domain Reload) is now fully supported.

  • CoherenceSyncConfigRegistry: Added new ScriptableObject to soft reference CoherenceSync assets in runtime and serialize how they are loaded and instantiated.

  • INetworkObjectProvider: Added runtime interface to be able to customize how CoherenceSync assets are loaded, with three default implementations (Resources, Direct Reference and Addressables)

  • INetworkObjectInstantiator: Added runtime interface to be able to customize how CoherenceSync prefabs are instantiated, with three default implementations (Default, Pooling and DestroyCoherenceSync)

  • CoherenceSyncConfigUtils: Editor public API to be able to add, delete and browse CoherenceSync assets, aswell as start or stop syncing variables via scripting.

  • CoherenceSync Objects Editor Window: New Editor window to be able to browse CoherenceSync assets, found under coherence => CoherenceSync Objects menu item.

  • UniquenessManager: Encapsulated uniqueness logic under CoherenceBridge.UniquenessManager, where you will be able to register unique IDs at runtime.

  • AuthorityManager: Encapsulated authority transfer logic under CoherenceBridge.AuthorityManager, where you will be able to send authority transfer requests without accessing the CoherenceSync directly.

  • ReplicationServerRoomsService: non-static public API to be able to create, delete and fetch rooms from self-hosted Replication Servers.

  • CoherenceSync: Rigidbody Update Mode.

  • CoherenceSync: Advanced Uniqueness Options.

  • CoherenceSync: CoherenceBridge resolver API.

  • Coherence.Editor.UploadBuildToCoherence API.

Changed

  • CoherenceSync: CoherenceSync instances are now automatically synced and unsynced with the network in the OnEnable/OnDisable methods, instead of Start/OnDestroy.

  • CoherenceSync: CoherenceSync instances can now be disabled and reused for different network entities, which allows for object pooling to happen.

  • CoherenceSync Baked Scripts: Baked scripts for CoherenceSync prefabs are no longer MonoBehaviours.

  • Uniqueness: Improved handling unique IDs for Unique CoherenceSyncs when creating serialized scene Prefab instances.

  • Updated JWT to 10.0.2.

  • Reworked AutoSimulatorConnection component.

Fixed

  • ParrelSync/symlink support: avoid read exceptions on Gathered.schema.

  • CoherenceSync: Initialization of disabled objects.

  • CoherenceSync: adding the component to a Prefab no longer deselects it.

  • Source Generator: avoid running on IDEs, to avoid IO-related exceptions.

  • Simulator Slug not being encoded correctly.

  • CoherenceNode: race condition when setting parent.

Removed

  • PrefabMapper has been removed in favor of CoherenceSyncConfigRegistry.

  • NetworkTime.Time

Deprecated

  • PlayResolver API: Play, PlayClient and PlayResolver have been deprecated in favor of CloudService API.

  • Sample UI: the old Sample UI that depended on the PlayResolver API has been deprecated in favor of the new Unity Package Samples.

  • CoherenceUUID: This Component is no longer needed and it has been deprecated, the functionality has been baked into the Editor and now works automatically. Prefabs that use this Component can stop using it.

  • CoherenceMonoBridgeSender: This Component is no longer needed and it no longer has any functionality, it can be safely removed.

  • Client Connection Prefab References: References to the Prefabs in CoherenceBridge have been deprecated. Please use CoherenceSyncConfig references instead.

Last updated