#[HELP] Unity 6 + NGO 2.x Scene Load Issue (Host moves, clients don’t)

1 messages · Page 1 of 1 (latest)

stone cedar
#

🛠 Setup / Flow

Unity 6 + NGO (latest)

Using Unity Multiplayer Services Sessions + Relay

Flow:

Game starts in GameUI scene (menu, lobby, ready-up)

Host creates a session → friends join via join code

Everyone is still in GameUI → players ready-up

Host presses Start Game → should load GameScene for everyone

❌ Problem

Host always loads into GameScene

Clients stay stuck in GameUI (they never follow the host)

✅ Things I’ve Tried

Using NetworkManager.SceneManager.LoadScene(path, LoadSceneMode.Single) (not UnityEngine.SceneManager)

GameScene is in Build Settings

Load call returns SceneEventProgressStatus.Started

Enable Scene Management is ON in NetworkManager

ActiveSceneSynchronizationEnabled = true

Tried loading by both name and path

Added a sync gate: only allow Start after all clients hit SceneEventType.SynchronizeComplete

Verified only one NetworkManager exists

stable hemlock
#

Post your code here so we can see exactly what's happening here

stone cedar
#

Project Overview: Host starts a game, sends out codes for others to join. Everyone enters a ready up menu and the host StartGame Button is inactive until everyone sets their status to ready. Host presses the start button once everyone is ready and I call

` private void StartGame()
{
if (!IsServer)
return;

        NetworkManager.Singleton.SceneManager.LoadScene("GameScene", LoadSceneMode.Single);
        //lock session, no late joins allowed
        _ = LockNowAsync();
    }`

Only the host loads into the Ganescene for some reason. Clients are still in the MenuScene rather than getting moved into the GameScene

stable hemlock
#

If you are using sessions and the Relay service, then I would first simplify things way down to test, ditching the Session Manager script completely. With the Multiplayer widgets, there is a Quickjoin button that will automatically create and join a session. Both host and clients can use it to quickly connect.

You can check the session.Players list or use the Session View to verify the clients are actually connected. Once you are sure they are connected, then you can use your RPC to set the player Ready State. As long as the clients are connected to the host then NetworkManager.SceneManager.LoadScene() will bring everyone to the new scene

stone cedar
#

Understood, ill give it a try after work today. Thanks! Will let you all know the outcome after