I’ve been following along with the multiplayer tutorials by Kekdot. I created all the widgets from the tutorials with some minor adjustments for testing and because I didn’t size them properly.
The main issue is that when I setup a lobby with the first player, the second player is able join but does not enter the level the host is in. Notably it only succeeds on the first join attempt and fails afterwards. It could be because its already connected.
Along with this, the current player counts shows as 0. While it may be unrelated, I haven’t found the source of that issue so I posting about both.
This is being done with all the default UE 5.8 settings and the built in online subsystem.
Looking at the graphs, Join Session’s On Success only prints “Joined by idk what is happening”. Nothing after that moves the client onto the host map, and the screenshot title is still NetMode: Standalone. The success pin means the session join finished. It does not mean you traveled.
Two things in this setup stack.
Use Lobbies if Available is checked on Create Session. With the default online subsystem that joins a lobby and fires On Success without loading the listen-server map. Turn it off for this LAN tutorial. You want a plain session, not a lobby.
The host side is right in principle: On Success opens the level with Options set to listen. After Create, that window title should say Listen Server. If it still says Standalone, the client has no server to travel to. Start the host, click Create, and wait until it is a listen server before the other process searches.
On the client, once lobbies are off, the built-in Join Session node is supposed to client-travel by itself. Yours is staying on the menu, so do it explicitly. From On Success: Get Player Controller (index 0), then Client Travel, travel type Absolute. For two processes on the same PC the URL is 127.0.0.1:7777 (7778 if the first process already took 7777). On another machine on the LAN, use the host’s LAN IP and that port. The client title should switch to NetMode: Client and the host map should load. Keep the print if you want, but it has to be before the travel, not instead of it.
The 0/3 is the same thing from the other side. Get Current Players on the search result is how many players are registered in the session. A join that never travels does not increment it, and the host is often not counted until someone actually connects to the listen server. It stays 0/3 until that Client Travel completes. It is not a count of people sitting in the menu.
The second join fails because the first “success” already put this process in the session. The next Join Session comes back already-in-session and hits On Failure. Destroy Session on the client, or just restart that process, before you search again.