A networking framework for Unity.
I have tried many different networking systems for Unity. None have come to my liking so I will be coming together, to make one that seems to work.
I am mainly using this for my project at https://epocria.net
- Packet Sending Backbone (Complete)
- Instantiating/Destroying GameObjects over the network (Complete)
- Player authority over an object. (Complete)
- Network Fields, automatically get synced. (Complete)
- RPC with Arguments (Complete)
- Steamworks Integration (Sort Of/In Progress)
- Higher Level Methods. Kicking/Banning/Etc. (Soon)
- EntityNetworkingSystems Namespace (Complete)
- Documentation (Always being worked on)
- Buffered Packet Culling (Complete)
- NetworkField's will automatically convert Vectors/Quaternions to Serializable Variants. (Soon)
- Prefab Domain Templates (Complete)
- Generic Type Parameters for NetworkFields (Complete)
- On Unity Asset Store (Last)
- NetworkField Packets get packed into a multipacket every frame, instead of sending them separately. (Soon)
Contributing in anyway possible means a lot. If you see something you can improve, something you want added, or just want to do some documentation make a branch then let me know through GitHub when it is ready! As well as if you want to communicate with me, I am using this for my game "Epocria" which has a Discord server I can be contacted through: https://discord.gg/vkxmjrx
- Unity 2019 or above. (It hasn't been tested on Unity 2018, but I assume it should be fine)
- If using Steamworks you need Facepunch.Steamworks avaliable here: https://github.com/Facepunch/Facepunch.Steamworks and under their own MIT license as well. Please check their LICENSE.MD for additional information, or our LICENSE.MD for additional information.