Releases: Unity-Technologies/com.unity.netcode.gameobjects
Installer Hotfix
This is a minor bugfix release. It fixes some issues with UnityAsset importing in the installer.
Fixes & Improvements
This release adds new functionality to NetworkedVars. Negative Tickrates will not cause NetworkedVars to only sync on spawn. It also fixes a bug that caused the tickrate to previously be ignored.
It also fixes a bug causing scene switching to not function properly.
Custom types can now be sent in the conventional methods of RPC's by making the type implement the IBitWritable interface.
NetworkedVar.OnValueChanged is now invoked on the sender as well.
It also fixes a bug with the NetworkedTransform when extrapolation was in use, causing it to infinitely extrapolate if the object was not in motion.
It also adds zero argument overloads to certain convenience RPC methods that were previously missing.
Overall, this is a stability release and should not break any current code.
v2.0 Major Update
Version 2.0.0 is the biggest update yet! The release is 326 commits ahead of the previous version. v1.3.3. Here are some the changes:
- Replaced internal byte handling with Streams
- New Messaging System (See Wiki)
- Starting with Version 2.0.0. Releases will be using Semantic Versioning
- Removed SyncedVar
- Removed HLAPI Command, ClientRpc and TargetRPC (Replaced by the new Messaging System)
- Reduced MLAPI generic header size to 1 byte
- New BitStream
- New BitWriter & BitReader
- New NetworkedVar
- NetworkedDictionary
- NetworkedList
- Custom Networked Structure support with custom delta encoding
- Removed Message Names
- Updated Installer to use Coroutines
- Changed isOwner behaviour (Now does what it's called. Returns if we own the object)
- Clarified Ownership states (Objects can now be owned by the server / host or a client, nothing in between)
- Optimized & Reworked Encryption
- Removed Observer System
- Adds Custom Message Support
- Improved NetworkingManager Inspector UI
- Improved the Namespaces of classes
- Added more helper methods and properties to make the MLAPI easier to use in game code. Ex:
SpawnManager.SpawnedObjects
SpawnManager.SpawnedObjectsList
SpawnManager.GetLocalPlayerObject()
SpawnManager.GetPlayerObject(uint clientId)
NetworkingManager.singleton.ConnectedClients
NetworkingManager.singleton.ConnectedClientsList
NetworkingManager.singleton.ServerClientId
NetworkingManager.singleton.LocalClientId
NetworkedBehaviour.GetBehaviour(ushort id)
NetworkedBehaviour.GetBehaviourId()
NetworkedBehaviour.isRunning
And many more.
As always, if you have any questions or encounter any bugs. Feel free to open an issue on GitHub or join our Discord Server. Contributors are always welcome.
Installer Upgrade
This release includes minor fixes but updates the installer to add more features and make it generally more stable.
Relay Support
This version adds support for the MLAPI.Relay and fixes a minor bug where ownerId would be assigned after the NetworkStart method is invoked.
Fixes & Spawn Changes
This release includes many fixes.
It fixes issues regarding the spawn system, BitWriter, BitReader and reworks the NetworkedProximity. It also changes behavior on SyncedVarHook's. They are now invoked on Server instances.
NetworkProfiler & Fixes
This release adds a brand new NetworkProfiler API for profiling bandwidth. It comes with an Editor window. See the wiki article here.
This is now included in the Editor package and will automatically be included by the installer.
This release also adds diff sending to arrays in SyncedVars and fixes an issue causing observer lists not to be populated when not using the observer API.
SyncedVar hotfix
This release fixes a critical issue introduced in v1.2.0 that would cause SyncedVars to not be properly read if there were more than 1 per behaviour. Additionally, it fixes array behaviour in SyncedVars and they are now supported for any type.
It also adds support for custom types in SyncedVars
Proximity & cache hotfix
This release fixes issues regarding the built-in NetworkedProximity where it didn't follow the new API where the HashSet is NOT to be replaced but rather only cleared.
It also fixes a problem regarding caching of Attributed Messages.
This version contains ONLY fixes from v1.2.0 and is recommended.
Fixes and Bandwidth Optimization
This release includes
- Bugfixes
- SyncedVar optimization for non observed objects
- NetworkingManager Send methods
- NetworkingManager Message Handlers
- ConnectedClients API
- BehaviourId public API
- NavMeshAgent bugfixes
- SyncDelay is now per SyncedVar
- SyncedVars no longer have limits, you can have any amount of them. No upper limit.