Cloud MRS, no simulator connection detected

Description, details and error message(s)

Using an MRS setup, you can see all the coherence components being used here:
mrs-no-simulator-connection-issue
These are all the components required for an MRS setup per the wizard.

Also, everything works as expected with this setup using local RS.

Now I’m trying to get it working in Cloud the same as it is working locally, but something is going wrong in the Cloud environment.

You can also see from the screenshot above that the Bridge is connected and that the CLIENT object is created with authority in the editor, as expected.

You can also see that we are connected to the Cloud, room id # 175889, which I’ve tagged “mrs-no-sim-connect-issue” in the backend.

However, I would also expect to see a non-authoritative simulator object as well, but there is none.

I added a debug.log in Sim.Awake and am able to see in the MRS logs that the simulator is being instantiated, which suggests a connection is being made, but it is not being detected on client-side for whatever reason.

For logs review, I only ever created, joined, and made 1 connection to this particular room # 175889 to isolate it from noise as much as possible.

Expected behaviour

After joining room, I would expect to see simulator network object, as well as any network objects it instantiates on creation

How to reproduce

  1. Setup an MRS scene as directed by wizard and upload build to Cloud
  2. In Editor, use sample coherence rooms UI to create and join room
  3. On connection, client network object will exist in DontDestroyOnLoad, but simulator network object will not

Environment

SDK: 1.0.5
Unity: 2022.3.4f1
OS/Platform: Win10

Can you please share your project ID? We’ll investigate what’s going on here

Project ID: cevgfrdbo1hlhbllpep0

Thanks, so yes from your explanation and from reviewing the logs myself, it does appear that:

  1. the room is created an the MSim connects just fine
  2. your client then connects

But you aren’t seeing the msim client connection on your game client, correct?

I’m wondering if this is an order-of-events thing we can investigate on our end. When you run locally, does your game client connect first and then your msim client?

I will escalate this to our SDK team to see if we can figure out what’s going on.

One other thing: I see you’re using version 1.0.5 of the SDK - you may consider upgrading to our latest release as we have many bug fixes in place (though I am not sure related to this.) The latest version is 1.1.4

1 Like

But you aren’t seeing the msim client connection on your game client, correct?

On the game client, using the coherence connection type definitions, I accurately see the client connection object in the scene, but I do not see the simulator connection object (nor the network objects the simulator instantiates at Start).

I think this is what you’re saying, but “msim client” is ambiguous to me in this very specific context.

When you run locally, does your game client connect first and then your msim client?

Yes.

One other thing: I see you’re using version 1.0.5 of the SDK - you may consider upgrading to our latest release as we have many bug fixes in place (though I am not sure related to this.) The latest version is 1.1.4

There is a bug in 1.1.x that has been verified on coherence end and said would be fixed in next release per VersionIncompatible error after upgrading 1.0.5 -> 1.1.x

This prevents me from upgrading past 1.0.5 at this time, so unable to verify if that is fixed in future versions.

You are correct - thanks for the clarification. I mean Simulator Connection object. Ok, most of the team is out for Easter, but I’ve pinged the SDK team to take a look at your situation.

1 Like

Sounds good, and thank you for the quick responses :smile:

Hey Neodamus!

I couldn’t reproduce the problem using SDK 1.0.5.

Could you verify that the simulator connection gets registered in the CoherenceBridge?
image

Could you also make sure that the Connection Prefabs are set in both Client and Simulator bridges?
image

That is, the scene chosen in the Multi-Room Simulator component should have the same CoherenceBridge setup as the Client scene bridge when it comes to Connection Prefabs.

1 Like

@Filip thanks for the response… and I have to actually apologize.

I fixed the issue, it was a bug on my end, so it is my bad for making a bug report in the first place and having you try to reproduce on your end.

That being said, when you said you were not able to reproduce, I went back and created an empty project and tried to recreate the issue I was having, but everything worked as expected in the empty project.

With that knowledge in hand, I was able to isolate the difference between the empty project and my testing project, and it looks like there was an unexpected scene load that was occurring due to the differences between a local MRS environment and a cloud MRS environment.

In any case, thanks for taking the time to reproduce and verify it worked on your end. I’ve been very busy as of late, so I cut the corner of trying to recreate in an empty project, but in the future, I will make sure to do this before submitting any bug report.

All the best!

1 Like

No worries. I’m glad that you’ve managed to solve it.

Perhaps there’s a way we could improve the documentation to prevent other users from running into the same problem? If so, please let me know.

Good luck with the project!

I don’t think so, it’s more of a special case. This issue arises from the fact that 2 scenes was supported for MRS in 0.x and is no longer supported in 1.x.

I’m still using 2 scenes though, so I had to write a custom script to handle the differences between the 0.x and 1.x versions.

The script worked fine locally, but did not properly account for the cloud environment and was changing scenes whenever a client disconnected. This produced no error, but because client and simulator were now on different scenes, they could no longer see each other.

It took 1 line of code to fix, so really easy to fix once I figured out what was happening. I just needed verification that I was doing it wrong :smile: