UNET Authoritative Networking


This projet aim to provide a base code for a fully authoritative movement in unity3D. This project isn't an as-is solution. It's usable for demo and educationnal purposes.

I've also made a blog post series about unity networking and lag compensation techniques on my own website (In french, sorry).

The code is provided AS-IS without any warranty of any sort.

Please feel free to use, comment, ask any question or improve the code provided. If you ever use it in any of your project, feel free to improve and publish it back for everyone's sake. I'll happily merge PR as long as they work and keep the same goal.

How to run

  • Download the project and open the Scenes/Demo scene.
  • Compile it to a standalone Win/Mac/Linux player. You can also download a compiled version from github.
  • Run at least two instances of the unity game.
  • On one instance, start it as a Server (LAN Host)
  • On others instances, start them as a Client (LAN Client)
  • On Clients, click on spawn to spawn a player and move around with WASD.

Features

The code is a revisited implementation of Quake 3 networking principe. It include some fixes that were introduced since then (in QuakeWorld for example).

All the networking is based on unity's brand new unet networking system. No external assembly are required and run well on desktop and mobile platforms.

All the character movement is based on Roystan Ross's excellent SuperCharacterController. This is because the unity default character controller isn't deterministic enough to allow rewind-and-replay. Roystan Ross's version is more deterministic and also superior in terms of quality and usability.

скачать dle 11.3
      Published date: 18-05-2018, 17:01
      Author:  Unit
      Views:  675
      Likes:
    0
      Share:
Download
Learn More...
If your rights to objects of author's property violate the data of the material - report it