Unity-Technologies / multiplayer-community-contributions

Community contributions to Unity Multiplayer Networking products and services.
MIT License
452 stars 163 forks source link

Network Discovery Example not connecting (iOS <> Mac) #226

Open antiero opened 1 year ago

antiero commented 1 year ago

Unity 2021.3.25f1, macOS Ventura 13.4, Xcode 14.3.1, iOS 16.5. Netcode for GameObjects 1.4.0 + com.community.netcode.extensions from main

I am using the example NetworkDiscovery code listed in the docs here

Building out the App for iPhone and Mac (and also tested on the Mac in Unity Editor)

I have tried using a local WiFi network, creating an Ad-Hoc network from Mac, and also connecting to the iPhone network via Personal Hotspot (WiFi) + and also via USB.

Using the Example Network Discovery HUD I do the following:

Result: No servers are listed and I cannot connect a device either way. Does anyone have a working example which uses Network Discovery with iOS+Mac device (versions listed above)

testApp
PaulUsul commented 1 year ago

Hey I'm running into the same issue, did you ever find a solution/workaround?

I'm on an iPad and I've got permission in Settings -> Privacy & Security -> Local Network

antiero commented 1 year ago

No I never managed to resolve this, but I'm wondering whether this "fix" could be related?... (albeit for Mirror, but the same iOS entitlement/permission thing might hold true?...) https://github.com/MirrorNetworking/Mirror/issues/3433#issuecomment-1784027704

antiero commented 1 year ago

The pertinent bit from the Mirror link above:

"iOS AppStore LAN Broadcasting

Follow the Xcode instructions to get the multicast networking permission from Apple. Add it to the app provisioning, then add the capability to the app itself, making sure you've properly added the entitlement to your app in Xcode. This should get Network Discovery features working, Kudos to overmatch-iman for reporting back the working steps."

PaulUsul commented 1 year ago

Yeah I think that's the case. I've applied for com.apple.developer.networking.multicast, let's hope that helps

an info thread here: https://developer.apple.com/forums/thread/714211

Local Network Privacy FAQ: https://developer.apple.com/forums/thread/663858

Using the Multicast Networking Additional Capability: https://developer.apple.com/forums/thread/663271

How to enable capabilities https://developer.apple.com/help/account/manage-identifiers/enable-app-capabilities

PaulUsul commented 1 year ago

and you can apply for the entitlement from here https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_networking_multicast