diff --git a/README.md b/README.md
index 4cb6984e3b..7861c048ec 100644
--- a/README.md
+++ b/README.md
@@ -17,6 +17,14 @@ Visit the [Multiplayer Docs Site](https://docs-multiplayer.unity3d.com/) for pac
You can also jump right into our [Hello World](https://docs-multiplayer.unity3d.com/netcode/current/tutorials/helloworld) guide for a taste of how to use the framework for basic networked tasks.
+### Netcode for GameObjects v2
+The most recent version of Netcode for GameObjects (v2) includes several improvements along with the more recent [distributed authority network topology](https://docs-multiplayer.unity3d.com/netcode/current/terms-concepts/distributed-authority/) feature. You can find the source code for this on the [develop-2.0.0 branch](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/tree/develop-2.0.0).
+- The develop-2.0.0 branch incudes additional examples:
+ - [Netcode for GameObjects Smooth Transform Space Transitions](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/tree/develop-2.0.0/Examples/CharacterControllerMovingBodies)
+ - This example has plenty of parenting examples, parenting under moving bodies, smooth transitioning between two parents, and a basic example of path defined motion.
+ - [Ping Tool](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/tree/develop-2.0.0/Examples/PingTool)
+ - This includes a custom Runtime Netwokr Stats Monitor that includes client to client message processing ping times.
+
### Community and Feedback
For general questions, networking advice or discussions about Netcode for GameObjects, please join our [Discord Community](https://discord.gg/FM8SE9E) or create a post in the [Unity Multiplayer Forum](https://forum.unity.com/forums/multiplayer.26/).
@@ -24,7 +32,7 @@ For general questions, networking advice or discussions about Netcode for GameOb
### Compatibility
Netcode for GameObjects targets the following Unity versions:
-- Unity 2021.3(LTS), and 2022.3(LTS)
+- Unity 2021.3(LTS), 2022.3(LTS), and Unity 6 (6000.0)
On the following runtime platforms:
- Windows, MacOS, and Linux
diff --git a/com.unity.netcode.gameobjects/Runtime/Connection/NetworkConnectionManager.cs b/com.unity.netcode.gameobjects/Runtime/Connection/NetworkConnectionManager.cs
index 270c33257a..8504ad065c 100644
--- a/com.unity.netcode.gameobjects/Runtime/Connection/NetworkConnectionManager.cs
+++ b/com.unity.netcode.gameobjects/Runtime/Connection/NetworkConnectionManager.cs
@@ -10,15 +10,54 @@
namespace Unity.Netcode
{
-
+ ///
+ /// The connection event type set within to signify the type of connection event notification received.
+ ///
+ ///
+ /// is returned as a parameter of the event notification.
+ /// and event types occur on the client-side of the newly connected client and on the server-side.
+ /// and event types occur on connected clients to notify that a new client (peer) has joined/connected.
+ ///
public enum ConnectionEvent
{
+ ///
+ /// This event is set on the client-side of the newly connected client and on the server-side.
+ ///
+ ///
+ /// On the newly connected client side, the will be the .
+ /// On the server side, the will be the ID of the client that just connected.
+ ///
ClientConnected,
+ ///
+ /// This event is set on clients that are already connected to the session.
+ ///
+ ///
+ /// The will be the ID of the client that just connected.
+ ///
PeerConnected,
+ ///
+ /// This event is set on the client-side of the client that disconnected client and on the server-side.
+ ///
+ ///
+ /// On the disconnected client side, the will be the .
+ /// On the server side, this will be the ID of the client that disconnected.
+ ///
ClientDisconnected,
+ ///
+ /// This event is set on clients that are already connected to the session.
+ ///
+ ///
+ /// The will be the ID of the client that just disconnected.
+ ///
PeerDisconnected
}
+ ///
+ /// Returned as a parameter of the event notification.
+ ///
+ ///
+ /// See for more details on the types of connection events received.
+ ///
public struct ConnectionEventData
{
public ConnectionEvent EventType;
diff --git a/com.unity.netcode.gameobjects/Runtime/Messaging/RpcTargets/RpcTarget.cs b/com.unity.netcode.gameobjects/Runtime/Messaging/RpcTargets/RpcTarget.cs
index 8d99c94b92..7d55209c15 100644
--- a/com.unity.netcode.gameobjects/Runtime/Messaging/RpcTargets/RpcTarget.cs
+++ b/com.unity.netcode.gameobjects/Runtime/Messaging/RpcTargets/RpcTarget.cs
@@ -67,9 +67,28 @@ public enum SendTo
SpecifiedInParams
}
+ ///
+ /// This parameter configures a performance optimization. This optimization is not valid in all situations.
+ /// Because BaseRpcTarget is a managed type, allocating a new one is expensive, as it puts pressure on the garbage collector.
+ ///
+ ///
+ /// When using a allocation type for the RPC target(s):
+ /// You typically don't need to worry about persisting the generated.
+ /// When using a allocation type for the RPC target(s):
+ /// You will want to use , which returns , during initialization (i.e. ) and it to a property.
+ /// Then, When invoking the RPC, you would use your which is a persisted allocation of a given set of client identifiers.
+ /// !! Important !!
+ /// You will want to invoke of any persisted properties created via when despawning or destroying the associated component's . Not doing so will result in small memory leaks.
+ ///
public enum RpcTargetUse
{
+ ///
+ /// Creates a temporary used for the frame an decorated method is invoked.
+ ///
Temp,
+ ///
+ /// Creates a persisted that does not change and will persist until is called.
+ ///
Persistent
}