Copyright © 2026 Unity Technologies
Steps to reproduce:
1. Open the attached Unity project “MultiplayerSessionError.zip” from provided Google Drive link
2. Enter Play mode
3. Wait for a few second and observe the Console window
Actual results: "SessionException [Error: Unknown] [Message: Object reference not set to an instance of an object.]" is thrown by ReconnectAsync()
Expected results: ReconnectAsync() either rejoins the session, or throws a SessionException whose SessionError describes why reconnecting is not possible
Reproducible with versions: 2.3.1 (6000.7.0a6)
Can’t test with versions: 6000.6.1f1 and lower (project breaks after downgrade)
Tested on (OS): macOS Tahoe 26.6
Unknown: Object reference not set to an instance of an object UnityEngine.Debug:LogError (object) UgsTestbed.ReconnectRepro/<Start>d__0:MoveNext () (at Assets/Scripts/Multiplayer/ReconnectRepro.cs:45) System.Runtime.CompilerServices.AsyncTaskMethodBuilder:SetResult () Unity.Services.Multiplayer.SessionHandler/<LeaveAsync>d__133:MoveNext () (at ./Library/PackageCache/com.unity.services.multiplayer@17f5d8518517/Runtime/Multiplayer/Session/SessionHandler.cs:824) System.Runtime.CompilerServices.AsyncTaskMethodBuilder:SetResult () Unity.Services.Multiplayer.LobbyHandler/<ResetAsync>d__111:MoveNext () (at ./Library/PackageCache/com.unity.services.multiplayer@17f5d8518517/Runtime/Multiplayer/Lobby/LobbyHandler.cs:931) System.Runtime.CompilerServices.AsyncTaskMethodBuilder:SetResult () Unity.Services.Multiplayer.LobbyHandler/<LobbyUnsubscribeCallbacksAsync>d__75:MoveNext () (at ./Library/PackageCache/com.unity.services.multiplayer@17f5d8518517/Runtime/Multiplayer/Lobby/LobbyHandler.cs:255) System.Runtime.CompilerServices.AsyncTaskMethodBuilder:SetResult () Unity.Services.Lobbies.Internal.LobbyChannel/<UnsubscribeAsync>d__13:MoveNext () (at ./Library/PackageCache/com.unity.services.multiplayer@17f5d8518517/Runtime/Lobbies/SDK/LobbyUpdates/Internal/LobbyChannel.cs:84) System.Threading.Tasks.TaskCompletionSource`1<bool>:SetResult (bool) Unity.Services.Wire.Internal.Client/<>c__DisplayClass53_0/<<CreateChannel>b__0>d:MoveNext () (at ./Library/PackageCache/com.unity.services.wire@1e3b97d30fb3/Runtime/Centrifuge/Client.cs:797) System.Runtime.CompilerServices.AsyncTaskMethodBuilder:SetResult () Unity.Services.Wire.Internal.Client/<UnsubscribeAsync>d__55:MoveNext () (at ./Library/PackageCache/com.unity.services.wire@1e3b97d30fb3/Runtime/Centrifuge/Client.cs:851) System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<Unity.Services.Wire.Protocol.Internal.Reply>:SetResult (Unity.Services.Wire.Protocol.Internal.Reply) Unity.Services.Wire.Internal.Client/<SendCommandAsync>d__31:MoveNext () (at ./Library/PackageCache/com.unity.services.wire@1e3b97d30fb3/Runtime/Centrifuge/Client.cs:158) System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<Unity.Services.Wire.Protocol.Internal.Reply>:SetResult (Unity.Services.Wire.Protocol.Internal.Reply) Unity.Services.Wire.Internal.CommandManager/<WaitForCommandAsync>d__6:MoveNext () (at ./Library/PackageCache/com.unity.services.wire@1e3b97d30fb3/Runtime/Centrifuge/CommandManager.cs:67) System.Threading.Tasks.TaskCompletionSource`1<Unity.Services.Wire.Protocol.Internal.Reply>:TrySetResult (Unity.Services.Wire.Protocol.Internal.Reply) Unity.Services.Wire.Internal.CommandManager:OnCommandReplyReceived (Unity.Services.Wire.Protocol.Internal.Reply) (at ./Library/PackageCache/com.unity.services.wire@1e3b97d30fb3/Runtime/Centrifuge/CommandManager.cs:90) Unity.Services.Wire.Internal.Client:HandleCommandReply (Unity.Services.Wire.Protocol.Internal.Reply) (at ./Library/PackageCache/com.unity.services.wire@1e3b97d30fb3/Runtime/Centrifuge/Client.cs:710) Unity.Services.Wire.Internal.Client:OnWebsocketMessage (byte[]) (at ./Library/PackageCache/com.unity.services.wire@1e3b97d30fb3/Runtime/Centrifuge/Client.cs:425) Unity.Services.Wire.Internal.Client/<>c__DisplayClass59_0:<WebsocketMessageListener>b__0 () (at ./Library/PackageCache/com.unity.services.wire@1e3b97d30fb3/Runtime/Centrifuge/Client.cs:870) UnityEngine.UnitySynchronizationContext:ExecuteTasks () (at /Users/bokken/build/output/unity/unity/Runtime/Export/Scripting/UnitySynchronizationContext.cs:109)
Issues you vote on will appear here