Mesh Network with Multipeer Connectivity

I'm interested in making an peer to peer chat app(similar to firechat), but I don't really know where to start. Is Multipeer Connectivity automatically set up as a mesh network, or do users all have to connect to a centralized host? And is there a way yet to allow more than 8 people to connect?

If its not a mesh network, how could I go about setting up a bluetooth(or wifi) mesh network myself that users running the app would automatically connect to others?

I prefer Swift but I'm open to learning some Objective-C for this project.

No, Multipeer Connectivity does not automatically create a mesh network, but you can create one yourself. No, you do not need a centralized host. Multipeer Connectivity just provides the infrastructure; the design of the network topology (structure) is up to the developer.


For example, I used Multipeer Connectivity to create a "ring network": each device was connected to two devices (A <-> B <-> C <-> D <-> A). This solution helped to avoid the 8 device limit.

Mesh Network with Multipeer Connectivity
 
 
Q