Releases: AncientEntity/EntityNetworkingSystems
ENS v0.9 - Major Networking Update
This improves on the previous versions of ENS,
if you are on an older version I highly recommend you update.
ENS v0.8 Major Update - Custom Serialization.
If you are using a older version I highly recommend you update.
Serialization
This is a fairly big and important update, it makes ENS much faster at sending messages. Instead of using the BinaryFormatter and some JSON Formatting I have gotten rid of as much of it as possible, creating custom serializers when possible. This has brought down message sizes incredibly. (Example: The binary formatter used 28 bytes of overhead to serialize an empty byte array)
Before this update a simple packet could be anywhere between 400 to 800 bytes. It isn't the worst but clearly when transmitting a ton of information it can become a problem. Now afterwards a message can be as low as 30 bytes. Even 30 bytes could be considered a high amount, however since I want this to be a general library it needs to know certain information.
Through the use of creating custom serializers I have reduced the overhead of the serialization almost down to zero. Not everything has one but everything ENS handles does, so RPCs, NetworkFields, etc all have custom serializers that bring the message size down. However if a developer still wants to use an Object that doesn't have a custom serializer they can, ENS will just convert it into JSON or use the BinaryFormatter depending on the situation. This adds overhead however in the future i'd like it so the developer can easily 'register' serializers for non supported Objects.
UnityPacketHandler (UPH)
I took a few minutes to improve the handler. Before hand every X packets the UPH would yield for an update. Now instead the amount of packets per yield changes depending on how many are in queue. Think of how a CPU's clock speed changes depending on the load on the CPU.
ENS v0.7
- Packet receiving bug fixes
- NetTools events added such as onLeaveServer.
- AnimationNetworkers aren't added on singleplayer game
- Warnings/Errors when NetworkFields/RPCs don't exisrt
- A bunch of other small features/bug fixes
Highly recommend you move to this version to prevent problems down the line!
ENS v0.6
This update has some great optimization & improvements.
- Clients now send packets over the network via a seperate thread, greatly improving the networking speeds & capabilities
- AnimationNetworker is complete, it'll automatically sync animations over the network.
- Only updates 15 times per second based on the delay on line 119. Can be raised/lowered to your liking. Planning on having more options
for customizing it without having to actually edit the code... - OnValueChangeMethod/OnRPCMethods has been added to both RPCs/NetworkFields for when you need something to run right away and a Start()/Awake()/Etc cant add a listener to OnValueChange before it gets ran.
- General Bug Fixes
ENS v0.5
ENS v0.5 adds some features as well as fixes a bunch of bugs...
If you are on an older version I highly recommend you update to this one, it shouldn't break anything just adds some stuff and fixes bugs.
ENS v0.4
This version is quite an improvement, I can't really list much due to it being mostly optimzation. But there are a few helper methods you can find. I plan to do a video documentation really soon.
ENS v0.3
Fixed some thread conflicts and made it more thread safe due to some bugs allowing threads to glitch out.
If you get any bugs let me know.
Entity Networking Systems v0.2.1
- EntityNetworkingSystems namespace created
- Buffered Packet Culling for RPCs/NetworkFields
- Generic Type parameters networkfields
- prefab domain templates
- bug fixes and such
Entity Networking Systems Release v0.2
This is the first ENS package i'd consider a "release".
Entity Networking Systems v0.1
Close to what the first version is. Still experimental though.
There is only really one problem, and it lies with steamworks where the player count on the steam server browser doesn't update properly. But everything else works nicely.