Published
- 2 min read
Find Online Session failed on iOS
UE5 Online Session Test
Recently I tested UnrealEngine online multiplayer module, first of all I listed my test environment :
; Special OnlineSubsystem in config/DefaultEngine.ini
[OnlineSubsystem]
DefaultPlatformService = NULL
Test Environment
- Win11
- Android 13
- MacOS 15.3
- iOS 18.4
Major purpose of my testing is creating online session (and start session) , and then join this session from another device, I only utilize blueprint node for this functions, no c++ part involved.
below is my testing result:
| item | Create Session ( and start session) | Find Session | Join Session | Destroy Session |
|---|---|---|---|---|
| Win 11 | ✅ | ✅ | ✅ | ✅ |
| Android 13 | ✅ | ✅ | ✅ | ✅ |
| MacOS 15 | ✅ | ✅ | ✅ | ✅ |
| iOS 18 | ✅ | ❌ | ✅ | ✅ |
iOS Failed…
We noticed that Find Session on iOS was failed…Why??
That because UnrealEngine game utilizes Udp multicast for broadcasting game information while it’s hosting a online game on LAN , all client devices also receive game information through Udp protocol, the first 3 platforms above table all enabed Udp network by default except iOS…
Udp multicast network is disabled by default for security reason, if we want enabled it, we need to login apple developer console with apple developer account , and find the unreal engine game bundle id, then check the multicast on :
Join Session via IP Address on iOS
As you can see the table above, the Join Session is checked means it works properly , but without finding session successful, there no SeesionSearchResult returned, how can it join in the game host?
The answer is we can join via IP address…
The same reason , we can’t discover sessions created on iOS device until Upd multicast is enabled on iOS, we will need console command open IP for testing game that host on iOS, it’s somehow a little inconvenient …