PlyGame Multiplayer Blox This package includes various components that are implemented into plyBlox and allow synchronization between clients using Photon Unity Networking. Prior experience with Photon is highly recommended. It consist of plyBlox Events which are called by Photon when work needs to be done. A value block for synchronizing when local or network work needs to be done to keep all clients in line. And an action block which does the serialization of data and can be used as a base for all other Warning this product requires a licensed copy of plyGame and photon to work. Optional you can also use UMA since we have included support for that product also. serialization. Value blocks and action blocks are for passing data between clients and setting necessary blocks for those variables in the world. When we read data from an action block, we put that data into a local variable which is object/player specific , independent from other player characters and it's for us to do whatever we want with it on plyblox. An important method to keep in mind which deals with the origin of the data that is read is PhotonView.is mine. This method returns a boolean which determines whether the data's origin is local or over the network. If it's local(TRUE), then the object is a local object and no data reading is necessary. Vice-versa, if the object is on the network(FALSE), that means we have to read photon data and set local variables for it to include it in the world from our player's point of view. Two main element of implementing photon into plyblox is the event handler which will recieve photon messages mainly on Photon Initiate and Photon Serialized View(which is what gets called every time someone passes data over the wire regarding positions on the game objects, etc.). Photon initiate itself adds the events to the maineditor. Additionally, this kit provides support between the plyRPG skill system and photon, by letting us handle the data for buffs, debuffs, actives and passives, including their positions and projectiles over the network and between the clients so that the game world and objects sync up between player characters. Last but not least, open source avatar creation framework Unity Multipurpose Avatar(UMA) is used for it's flexibility on custom character creation. The plyBlox component and the PhotonView component are assumed to be on the object. This is required because linking between the two is done at run-time. All components are extensible and easily modified. • Events - On Photon Instantiate - Called when Photon first starts up. Can be used to do some one time initializing - On Photon Serialize - Called when Photon request data that must be synced between clients • Value Block - PhotonView.isMine - Used to determine whether local or network work should be done • Action Block - Serialize - Used in conjunction with On Photon Serialize to serialize data that needs to be synced - Use as a base for serialization of other objects and data Part 1 Part 2 Full Part UMA This thread for now is to see if there is enough interest in making Plygame Co-op Multiplayer to submit this to the asset store.