LogoLogo
HomeOnline DashboardAPIDiscordForums
SDK 1.7 Preview
SDK 1.7 Preview
  • Welcome
  • Overview
    • Features
    • Roadmap
  • Getting started
    • Get the Unity SDK
    • Setup a project
      • 1. Scene setup
      • 2. Prefab setup
      • 3. Test your game locally
        • Local testing using builds
        • Local testing via Unity's Multiplayer Play Mode
        • Local testing via ParrelSync
      • 4. Test in the cloud
        • Deploy a Replication Server
        • Share builds
    • How to... ?
    • Single-player to multiplayer
    • Video tutorials
    • Samples and tutorials
      • Package samples
      • Sample Connection UIs
      • First Steps tutorial
        • 1. Basic syncing
          • 1.1 Animation parameters
          • 1.2 Sending commands
        • 2. Physics / Authority transfer
        • 3. Areas of interest
        • 4. Parenting entities
        • 5. Complex hierarchies
        • 6. Persistence
      • Campfire project
        • Game mechanics
        • Leveraging object pooling
        • Remote interactions: Chairs
        • Remote interactions: Trees
        • A unique object with complex state
        • Custom instantiation and destruction
        • Running a server-side NPC
        • Playing audio and particles
        • A simple text chat
      • Beginner's guide to networking
    • Troubleshooting
  • Manual
    • Unity Components
      • CoherenceSync
      • CoherenceBridge
      • CoherenceLiveQuery
      • CoherenceTagQuery
      • CoherenceGlobalQuery
      • CoherenceInput
      • CoherenceNode
      • PrefabSyncGroup
      • Order of execution
    • Networking state changes
      • Instantiate and Destroy Objects
      • Supported types
      • Messaging with Commands
      • Syncing child GameObjects
      • Animation
      • CoherenceSync references
      • [Sync] and [Command] Attributes
      • [OnValueSynced] Attribute
      • Creating your own syncable member
      • Custom Component Actions
      • Rigid Bodies
      • Interpolation
    • Authority
      • Authority transfer
      • Server-authoritative setup
    • Lifetime
      • Persistence
      • Uniqueness
      • Example: A global counter
    • Parenting network entities
      • Direct children CoherenceSyncs
      • Deeply-nested CoherenceSyncs
      • Nesting Prefabs at Edit time
    • Asset management
      • Instantiating from CoherenceSyncConfig
      • Instantiate via
      • Load via
    • Scene management
    • Multiple Connections within a Game Instance
    • Baking (code generation)
      • Conditional compilation
    • Replication Server
      • Rooms and Worlds
      • Replication Server API
    • Simulators (Servers)
      • Scripting: Client vs Simulator
      • Run local Simulators
      • World Simulators
      • Room Simulators
      • Advanced Simulator Authority
      • Simulator slugs
      • Build and Deploy
      • Command-line arguments
    • Client Connections
    • Optimization
      • Areas of Interest
      • Level of Detail (LOD)
      • Profiling
      • Simulation Frequency
    • Project Settings
    • Advanced topics
      • Big worlds
        • World Origin Shifting
        • Load balancing
      • Competitive games
        • Simulation Frame
        • Determinism, Prediction and Rollback
      • Team workflows
        • Version Control integration
        • Continuous Integration
      • Schema explained
        • Specification
        • Field settings
        • Archetypes
      • Code stripping
      • Replication Server CLI
      • Single-player gameplay
    • Scripting API
  • Hosting
    • Choosing where to host
    • coherence Cloud
      • Online Dashboard
      • Manage Worlds
      • Configure Rooms
      • Player Accounts
      • Game Services
        • Lobbies
        • Cloud Storage
        • Key-Value Store (Legacy)
      • APIs
        • Worlds
        • Rooms
        • Lobbies
        • Cloud Storage
        • Key-Value Store (Legacy)
    • Peer-to-peer
      • Implementing Client hosting
        • Steam Relay
        • Epic Online Services (EOS) Relay
        • Azure PlayFab Relay
  • Support
    • Release notes
    • Glossary
    • Unreal Engine support
    • WebGL support
    • ECS / DOTS support
    • Known issues
    • Upgrade guide
      • Upgrade 1.6 -> 1.7
      • Upgrade 1.5 -> 1.6
      • Upgrade 1.4 -> 1.5
      • Upgrade 1.3 -> 1.4
      • Upgrade 1.2 -> 1.3
      • Upgrade 1.1 -> 1.2
      • Upgrade 1.0 -> 1.1
      • Upgrade 0.10 -> 1.0
      • Upgrade 0.9 -> 0.10
    • Credit cost & pricing
    • Report a bug
Powered by GitBook
On this page
  • WebGL builds running locally don't work with Firefox
  • RS can rarely start dropping packets with Steam Relay
  • RS rejects mismatched persistent save data
  • Byte arrays don't sync when changing values by index
  • Warning messages when running GGPO network rollback
  • Warnings about missing hashes
  • Changing parent teleports the Entity to world zero for a frame
  • CoherenceSync Prefab instances on the scene not appearing when using "No Duplicates" uniqueness setting
  • Types missing the ExtensionOfNativeClass attribute
  • Scripts losing references to Prefabs, Fix Serialized Data button appears
  • The Optimize window stops rendering components
  • I can't see Rooms or Worlds
  • Prefab Variants use excessive memory
  • Binding is interpolated into an incorrect position after instantiating
  • Clicking on a Prefab instance logs "CoherenceSyncEditor: Upgraded legacy archetype name on the CoherenceSync Prefab instance"
  • InvalidOperationException: Insecure connection not allowed
  • Random Crashes running the SDK on Unity 2021.3 on a Mac
  • Fix Prefab Instance button missing when a component is removed from a prefab scene instance on Unity 2021

Was this helpful?

Export as PDF
  1. Support

Known issues

WebGL builds running locally don't work with Firefox

WebGL builds running locally can't connect to the coherence Cloud on Firefox.

RS can rarely start dropping packets with Steam Relay

Steam Relay can sometimes suffer from intermittent lag spikes, followed by packet bursts. These will conflict with RS rate throttling rules, leading to the RS flagging the Steam Relay as a malicious or malfunctioning connection and start dropping packets. This should mainly affect only users who connect with Steam over sub-par mobile connections. We are aware if the issue and a fix is in the works.

RS rejects mismatched persistent save data

This is an issue you can encounter when updating your project from coherence v1.2 to v1.3.

If the schema changes, the persistent save data is invalidated and will not load. You need to update your persistent save data before applying the new schema.

Check your warning log for more details.

Byte arrays don't sync when changing values by index

When binding a byte[] field, the field will not be synced when changed by someField[x] = y. The only way to actually update the field, is through someField = new byte[]... which assigns a new reference.

Warning messages when running GGPO network rollback

We have identified a misprediction bug in coherence 1.1.3 and earlier versions that causes a failed rollback right after a new Client joins a session, throwing relevant error messages. However if the Client manages to connect, this won't affect the rest of the simulation. The bug is fixed in the following release.

Warnings about missing hashes

If you're getting errors such as the ones below, the issue is that your Prefab has multiple AnimationControllers, but coherence only supports a single AnimationController.

Parameter 'Hash 1963678224' does not exist.

CoherenceSync: We can't find any binding for component 'GenericFieldQuaternion0' when receiving a component update.

Or see an error on saving a Prefab from the sample:

Error while saving Prefab: 'Assets/Samples/coherence/1.1.1/Connect Dialog_ Rooms/Room Connection Dialog.prefab'. You are trying to save a Prefab that contains the script '', which does not derive from MonoBehaviour. This is not allowed.
Please change the script to derive from MonoBehaviour or remove it from the GameObject 'Room Connection Dialog'.
UnityEditor.EditorApplication:Internal_CallUpdateFunctions ()

Delete the sample itself (mind any modifications you might have done), close Unity and delete the Library folder. Note that by doing so you're forcing a reimport of all your assets, which might take time depending on your project size.

Changing parent teleports the Entity to world zero for a frame

When using CoherenceNode on your CoherenceSync, if CoherenceNode's networked variables have interpolation applied, you'll experience this issue. Turn off interpolation for such variables.

CoherenceSync Prefab instances on the scene not appearing when using "No Duplicates" uniqueness setting

This can happen if coherence fails to set a Unique ID on your scene instances. Check the CoherenceSync inspector on Prefab instances. Look for Prefab Instance Unique ID. Click the button to generate an ID. Do this for every Prefab instance that is missing its ID.

Alternatively, you can set a Manual Unique ID of your own on the Prefab itself or per-Prefab instance on your scene.

Types missing the ExtensionOfNativeClass attribute

Reimport assets via menu item Assets / Reimport All.

Scripts losing references to Prefabs, Fix Serialized Data button appears

The Optimize window stops rendering components

I can't see Rooms or Worlds

Check that all your Clients are using the same Schema ID.

Prefab Variants use excessive memory

When working with Prefab Variants, Unity leaks managed references (fields marked with [SerializeReference]). This can make your Prefab grow big and use more memory than necessary. Until Unity fixes this issue, we provide you with the ability to prune the leaked references. You can prune within the Configure window.

Binding is interpolated into an incorrect position after instantiating

The current recommended workaround is to make sure that the Prefab has initial values set before instantiation. Or in the case of position and rotation, those could be directly supplied to Instantiate() instead of setting them later in the frame.

Clicking on a Prefab instance logs "CoherenceSyncEditor: Upgraded legacy archetype name on the CoherenceSync Prefab instance"

If you see this message, the CoherenceSync Prefab instance has been modified to point to the correct archetype name. If that's the case, select every CoherenceSync Prefab instance on your scene(s) to make sure this fixup happens. Even if you don't see the message, you're good to go. Make sure you save your project (Ctrl+S) to apply the changes (if any) to disk.

InvalidOperationException: Insecure connection not allowed

Random Crashes running the SDK on Unity 2021.3 on a Mac

On a Mac, when the cursor is moved quickly over the user name in the hub it can cause a crash of the Unity editor. If possible upgrade to a later version of the Unity editor.

Fix Prefab Instance button missing when a component is removed from a prefab scene instance on Unity 2021

Unity 2021 does not update the inspector window and the user cannot see the Fix Prefab Instance button. There are two ways to fix this. The first is to manually revert the removal of the component(s) from the Prefab instance. The second is to force Unity to refresh the view by clicking the Presets button in the CoherenceSync component header and then close the presets window. This will refresh the view and allow you to click the Fix Prefab Instance button.

Was this helpful?

If you still need multiple AnimationControllers, a workaround is detailed in the article.

There is in some early versions of Unity 2022 LTS that causes Prefabs to be corrupted on reimport, leading to all sorts of issues like scripts losing references, or the CoherenceSync component showing a button to "Fix Serialized Data" (which cures the problem, but only temporarily).

The real solution is to upgrade to a newer version of Unity 2022. Unity claims they in version 2022.3.5f1 (note the specific patch number, .5).

The current workaround to avoid this issue is to open your CoherenceSync Prefabs in .

If you are instantiating a Prefab from a coherence event (such as a , , , ...) and then changing its bindings in the same frame, the remote Clients will not instantly get updated values. Instead, if the binding has interpolation enabled, the value of the binding will be interpolated from the original value (from the instantiation step) to the updated value (from the change later in the frame).

Keep in mind that coherence both detects Invalid Bindings and also gives you the option to fix them with a click of a button. Read more under .

Make sure you allow HTTP connections in Editor to avoid InvalidOperationException: Insecure connection not allowed errors. Find out how to enable HTTP connections in Unity's article.

Animations
a bug
fixed the bug
Prefab mode
InsecureHttpOption
Command
OnValueSynced
OnStateAuthority
Fix Invalid Bindings
OnLiveQuerySynced
Schema ID in coherence Hub (Baking section)