You can watch more videos here.
Core features of the asset:
- Server authority
For every multiplayer game this feature is the best one. It protects your game from hackers. I designed this template to protect everything from hacking this includes: player movement, camera rotation, player inventory, loot containers, world interaction, combat, crafting, saving and loading, construction…
- Network optimized
Asset is highly optimized while keeping the abilty to extend it easily.
- Crafting system
This system like every other is built with really easy way to add new blueprints and manage them. Crafting is done on the server side for each player and this process is highly optimized, bandwidth usage is at minimum.
- Container system
Having players share a container is not as easy as it sounds, plus when you add server authority. But this asset makes sure you don’t have to worry about this, just make sure you create a nice UI for container and that’s it.
Players don’t know what is in the container unless they send request to open it, server accepts request and sends info back to them. This is also optimized as much as possible.
- Inventory system
Container system and inventory system are connected to each other and are really easy to extend. You would just need to create UI with the slots and that’s it.
- Sync ragdoll physics
When player is killed, ragdoll is spawned for every player with a correct force applied.
- Third person view
This enables viewing a world from third person perspective, it’s the same player that others players see.
- First person view
First person view is built so you don’t have to worry for third person and also for first person separtly, models and animations used are exactly same for both views.
- Clothing system
Easy to add clothes that others player can see with the option of deforming the cloth with the armature. This is really a whole clothing system which can be used in the singleplayer game, actually this whole template can be used to create a single player game!
- Integrated with unity proximity checker
This feature saves a lot of bandwidth, since you only load the players in proximity and you receive updates for them. This is also true for other objects such as door, fire…Correctly implemented so when things enter proximity, object state is corrected.
- Easily add new items, blueprints, structures or containers
The whole asset is built keeping the ability to easy edit. All items, blueprints and structures are found and edited in resources folder from which game loads them.
- Construction system
Easily create a structure and a rule about structure placement. There are a lot of rule examples included. This is the only thing you have to worry about. Player can then place the structure from the inventory with server authority with no extra code. Structure placement to socket is also implemented.
- Damaging system
This system is implemented to contain advanced data and mechanics when it comes to damaging other objects.
- Server saving of structures, containers, player health, player positions
The only thing currently not implemented is the saving of the in progress crafting when player leaves the server, but it is planned for another update and is very easy to implement.
- Spawn system (two players with the same name can not connect)
This can be further expanded in a login system.
- Well structured code with at least 90% of which is commented
Since there are a lot of features, I tried to make a clear, well structured and commented code so you can even learn from it how correct multiplayer game is created.
- Developer console
This system is really nice when you have to debug. Contains easy way to create new commands and already contains some commands which are server side.
- Basic survival elements implemented
Asset is called “multiplayer survival” but now when I think about it I should have called it just multiplayer template since it contains so many things that can speed up the progress of so many games which can also just be a singleplayer…
Planned:
This would only be possible if people are interested in it. My priority is listening to my customers, and I am already working on update.
- Porting to other networking engines such as Bolt
- Vehicles and new weapons
- Multiplayer shooter example
- [Possible] Enemies or mobs
I plan on improving this asset, so any feedback is welcome.