Need information on Unity's networking capability.

Hello there.

I’m trying to do a multiplayer game for Android. So far, I written my own engine in C++, but I’m beginning to have headache on skinned mesh implementation.

So, I though, I have a pro license of Unity, why should I mess up my mind with a new 3D engine when I can get a good one for 400$ (or 1500$) ?

BUT, I’m hesitating because of the network layer of the game.

As I’m planning the game, here what I’d like to know before proceeding :

I plan to compute the game logic (character positionning and important collisions) on the server and use the client only to control the character and display the result, thus : Will I be able to do the server software with Unity, in wich I’ll need to only compute the physics, without using the graphics capability of Unity?

Or in another way, can I compile a server with Unity, discarding the graphics module, keeping the network and physics capabilities?

You can run the application without any cameras, which is technically discarding the graphics… Then you just set the application to run in background. You still end up with an application window, but meh. You might be able to get rid of the window completely, but I havnt played with that yet.

You will probably have to do it this way anyway, because Unity physics are not deterministic.

If you want a basic example of a server, check the Free Console in my sig. It has some basic MP stuff (few RPC calls). It doesnt disable any cameras atm, but for now I dont want to disable the cameras (I want to see whats happening on the sever/client)

Yes you can do it. just pass -batchmode as a command line argument to unity before starting it and then no window will be created and you’ll just have a headless process which can be used as server. If the built in networking did not satisfy your needs due to not being able to send unreliable RPCs, Not having custom serializaition and can only send int,float,… and some other reasons then take a look at www.muchdifferent.com their unityPark suite should answer most of your needs regarding networking. Feel free to email me on info@nooparmy.com to talk more on it if you need consulting.

Thank you James, this is one simple solution so far. :slight_smile:

Ashkan, you are interresting me! Some pro server software would be much more valuable than some half-assed custom server. :o I’ll keep your site in my bookmark.

Thanks man! Keep in mind that because of lack of GPU in most hosting solutions , james idea will not work cause unity have to initialize graphics driver and create a window. performancewise it’s better than really rendering however.

Well, James idea will do for creating my prototype first. I need to see if my ideas are doable and fun to play before investing in serious profesionnal stuff. But your solution is exactly what I’ll need if the prototype is a success.

Well if it’s just for testing you can use UnityPark suite and then if you really choosed to start development and want to release it you should by a license from them so you don’t have to spend anything, just download uLink from MuchDifferent’s website. Also you can download their other products like uLobby and uGameDB. If you don’t have unity pro then forget about batchmode for testing , just build it and see if it’s fun or not. iteration is the key to success :slight_smile: