Photon Unity Networking (PUN)
edited June 2012
Photon Unity Networking (PUN)
I would like to request some quality documentation. Something online and a document that can be printed and viewed locally. If I've missed something and this already exists, please point me to them. Thanks.
how about that?
Looks like your question came right in time
The API reference is always in the client SDKs.
The online pages are a bit more general.
As we're working on it, let us know if you miss something specifically.
For example where's the information on SetPlayerCustomProperties()? I know it's mentioned in forums (and change log if you happen to see it), but it would be great if something like this was documented.
I'm used to Unity's documentation and because of that maybe I expect too much.
BTW, overall I'm really pleased with Photon, but I feel the aforementioned is bit lacking.
Could you add some ... UML sequence diagram?
As I asked some time ago on this thread
Seeing what is sent between the servers/subserver and clients would help a lot.
Not only for loadbalancing, Lite and MMO would also benefit from good sequences.
Some selected class diagrams could also be useful to know who controls important variables & instances
[Edit]Mh... I should probably have suggested this on the blog[/edit]
Outside the LoadBalancing environment these control questions shouldn't even exist, should they?
Its always client to photon and photon back to client. There is no further instance inbetween unless you implemented special client types.
Only on the load balancing instance its a few levels more complex
What are you referring to by "control questions"?
You know, isn't it, what UML sequence diagrams are?
They can help clarify the interactions between objects (not only applications or servers) in the sequential order that those interactions occur.
Here is a simple, quick diagram I made to understand what was going on until a Game is available. Simple, no? Its not pure uml but it helps me.
Frankly the MMO could also benefit from several diagrams.
(Right-click on it and use "view image" to see it in full)
Creation game + game client _ simplified.jpg
I am used to the Unity documentation and at this point, a bit spoiled by it I suppose. It has a page for each class that lists the members, methods, and inherited members and methods as well. Each one is a link, and you can click on it to see a description, and a syntactical example of usage (working code!).
The photon documentation included with the package is very slim. It lists the classes etc yes but it does not show how to use them, which is usually OK until you hit some strange caveat, like not being able to destroy something a particular client hasn't spawned themselves (frustrating!)
I was not even able to get started on my project without reading through the tutorials on the website, and even then there is a ton of stuff I don't know and I am spending a lot of time searching the forums for previous posts that might help, which is highly inefficient.
What we need is something similar to the Unity documentation, with clear code definitions and examples.
We also need a section that covers common tasks.
For example, I need to code extrapolation into player and rigidbody movement including sending input data to the clients so they can extrapolate properly, then lerp to position. This is a common task for all sorts of real-time games, and anything besides an mmorpg will need it at some point in the pipeline.
I know it is a lot of work to set up good documentation, but it is totally worth it!