In this situation where the listen server travels back to a level without listening, IsLocalController can return the incorrect value. After the NetDriver has been shutdown and destroyed, the pawn and controllers will be destroyed as well. If IsLocalController is called here, GetNetMode will incorrectly return NM_Standalone, as it isn't running as a dedicated server, there isn't a NetDriver, and the URLNetMode retrieved from AttemptDeriveFromURL will be NM_Standalone.
1. Create two standalone (not client or server) instances
2. Have one act as a listen server by opening a level with the "?listen" option
3. Connect the second instance to the listen server
4. Have the listen server travel again, disconnecting the connected client
5. As the controllers/pawns are being destroyed, call IsLocalController
Expected: This will return true for the listen server's controller and false for the client's.
Actual: It will return true for both.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-295837 in the post.
0 |
Component | UE - Networking |
---|---|
Affects Versions | 5.6 |
Created | Jun 11, 2025 |
---|---|
Updated | Jun 12, 2025 |