Need some advice on UNET

So I just finded out the old RakNet engine won’t be supported in WebGL… That’s quite a problem for me as I am developing a multiplayer webgame. (Webplayer is no option anymore cause the lack of support in Chrome).

My current game using the old multiplay engine uses only RPC calls for everything (point to click movement).
I created an authoritative server (seperate Unity project) by letting the server handle everything. The client just send RPC’s with requests to the server. Server gives the final call.

Now I do want to convert everything to UNET, but I don’t know where to start. Do I need to wait for the authoritative server phase? Will this be different from the HLAPI?

Hope someone can give me some advice :slight_smile:

You don’t need to wait for the later phases, we now have the high level API which is server authoritative in nature, the later phases more aim at scaling higher, having better support for dedicated servers and so on.

However, the high level API is not supported right now on the WebGL platform, but support is planned. Can’t say exactly when it will be out. Right now we’ve only tested with the low level or transport API (NetworkTransport class) which offers a socket level API. You can do everything with that but need to implement a lot yourself, you basically only have the ability to send/receive byte arrays (SyncVars, spawning, transform components etc are part of high level).

I don’t know how hard it would be for you to port your stuff to the transport API but if you are only using RPC I imagine it’s easier than if you used all features of the old system (replace RPC calls with buffer sends). Unfortunately documentation for the transport layer is rather slim right now, you can see the docs for the NetworkTransport class, an old blog post which explain the concepts but has outdated API (don’t try to copy/paste anything). More updates are coming in the manual soon.

Well I do had problems with RPC call only… Stuff as NPC’s not knowing anything of the collisions of the environment as the server is in a different Unity project (Can’t read the client navmesh).

What would be the best option if I want this more advanced stuff? Using the HLAPI and wait for webGL support? Or learning the transport API…

Anyone?

Up!