I came across this post. The op asked when sharing an ARKit WorldMap in a Multipeer session is there a limit. MCSession does have an 8 person limit:
Sessions currently support up to 8 peers, including the local peer
Eskimo suggested to the op to use "NSNetService" and its "includePeerToPeer" flag to go beyond that limit.
I want multiple users to share their experience with other users and I decided to usee Bonjour for discovery because there isn't a peer limit. There is no host or guest, discovery is automatic (no user interaction). Once one user who is nearby with the app open it will automatically send their world map to anyone else who is nearby with the app open. The other person's worldmap will also get sent to that first user in return. If there are 50 users nearby all 50 of them will have a copy of each other's worldmap. Think of it like a bunch of users all sharing worldmapos with each other.
My app is not a multiplayer game or anything with "action". It's more like each user has a Pokemon character and once their worldmap is shared every user in that vicinity will all see each other's Pokemon character. This isn't a host/guest type setup, it;s 100% peer to peer. Every user auto connects to every other user. Once the connection is made it sends the user's worldmap (if no connection create a connection and send worldmap)
When Eskimo posted the anwer he didn't specify if there would be any issues with sharing a worldmap beyond 8 people. I have 4 questions:
1. In the worldmap docs it says Use the networking technology of your choice to send the resulting data to another device. The MultipeerConnectivity are example projects and it doesn't say anything about not using Bonjour or limiting the amount of users. In the application I described above (no action) should there be a limit to the number of users who can automatically share worldmaps and if so what should that limit be?
2. When sharing a worldmap are only the anchors shared (each Pokemon node and its worldPosition) or is the entire scene shared? For eg there are 50 users in a mall food court and one user puts their Pokemon node on a table will each of get a copy of the entire food court area or just the anchor that the Pokemon node is anchored to (and the Pokemon also)?
3. How much does data does each worldmap take up and what determines the size of the data? For eg if I'm in my kitchen that's one thing but if I'm at the beach that's another. Once I share my worldmap would that be considered the size of a small compressed photo or large uncompressed video. The problem with not knowing this is in my app if each worldmap is 1 gigabyte and 20 users all have each other's worldmaps then they would all have 20 gigabytes of worldmaps on their app.
4. Is there any specific reason MCSession and ARKit only supports 8 peers in a shared experience? I know it's built on top of Bonjour but Bonjour has no limit so there has to be some reason MCSession does.
Thanks,
Lance