Search Issue Tracker

By Design

Votes

0

Found in [Package]

1.1.0

1.1.6

1.2.0-pre.1

Issue ID

MTTB-1514

Regression

No

ISession Handle is returned after Network Spawn and Client Connected events are called

Package: Multiplayer Services

-

Steps to reproduce:

  1. Open the attached project
  2. Open ReproScene1 Scene
  3. Enter Play mode
  4. Observe the Console window for event execution order

Actual results: MatchmakeSessionAsync() method returns the ISession handle after all Network Spawn and ClientConnected events have fired

Expected results: MatchmakeSessionAsync() method returns the ISession handle before Network Spawn or ClientConnected events are fired, allowing for the retrieval of session data when joining.

Reproducible with versions: 1.1.0 (6000.1.15f1 and NGO 2.4.4), 1.1.6(6000.2.1f1 and NGO 2.4.4), 1.2.0-pre.1 (6000.3.0a5 and NGO 2.5.0)

Tested on (OS): macOS 15.6

Notes:

  • Tested with OnNetworkSpawn, OnNetworkPostSpawn, OnNetworkSessionSynchronized, OnInSceneObjectsSpawned, ConnectionEvent.ClientConnected events
  1. Resolution Note:

    This is working as expected.
    MatchmakeSessionAsync used with any network option will only return once everything is initialized, including your network connection being connected.

    If you want to manage the network connection yourself, you would have to use a CustomNetworkHandler or the new delayed network API added in 1.2.0:
    Session.AsHost().Network.StartXXXNetworkAsync - https://docs.unity3d.com/Packages/com.unity.services.multiplayer@1.2/api/Unity.Services.Multiplayer.IHostSessionNetwork.html

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.