VersionIncompatible error after upgrading 1.0.5 -> 1.1.x

Description, details and error message(s)

After upgrading to 1.1.x versions from 1.0.5, attempting to connect to a room locally produces the following errors:

Editor:

RS:

After upgrading, I have tried:

  • Deleting/rebuilding Unity Library folder
  • Ensuring RS was not running during package upgrade (suggested by Miguel)

Expected behaviour

I expect that no error would occur and the client would stay connected

How to reproduce

Steps:

  1. Run RS Server from Editor
  2. Create room and try to connect to it (in my case, I’m using CoherenceScene to connect)

Environment

SDK: VS 2017
Unity: 2022.3.4f1
OS/Platform: Win10

1 Like

Hey Neodamus!

In the Replication Server screenshot that you’ve provided I can see two connections being made, one that carries proper RSVersion: v4.0.4 field (top log) and another one that has the RSVersion field empty.

Since SDK 1.1.0 Replication Server requires clients to provide a semver compatible version, to prevent old, incompatible clients from connecting.

Is there any chance that there is a built client that tried to connect using older SDK version? Or perhaps some custom code that uses IClient.Connect(EndpointData, ConnectionSettings)?

1 Like

Thanks for the response!

I’m pretty sure I’ve discovered the issue with your help, but at the very least, this should help point in the right direction.

The first connection being made is a client connection, auto-connecting through CoherenceScene, this appears to work as expected.

This is an MRS setup, so the the second connection being made is an MRS connection and appears to be initiated by the coherence Multi-Room Simulator Local Forwarder as when I disable this component, the error is no longer produced.

Without knowing the code inside and out, I’m guessing the issue is at MultiRoomSimulatorLocalForwarder.cs (line 86):

var joinRoomRequest = JoinRoomRequest.FromEndpointData(endpointData);

It appears the JoinRoomRequest.FromEndpointData(endpointData) method does not provide the newly required RSVersion info, and maybe it should?

Thanks a lot for the investigation!

Indeed, that was the part of the problem. You can expect fix in the nearest release.

For now, the only workaround I could come up with would be embedding the package and changing the source (Coherence.Toolkit/CoherenceScene.cs : 201)

from:

Client.Connect(data.EndpointData, settings, data.ConnectionType);

to

bridge.Connect(data.EndpointData, data.ConnectionType, settings);
1 Like

Awesome to hear, and I can wait until the release to upgrade, no rush here. Just want to be able to keep the version current in the chance case something really critical needs to be fixed.

Thanks again for the help :smile:

1 Like