diff --git a/com.unity.netcode.gameobjects/Runtime/Connection/NetworkConnectionManager.cs b/com.unity.netcode.gameobjects/Runtime/Connection/NetworkConnectionManager.cs
index 4296a6835a..09119e8076 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 c5706a8b31..2864205769 100644
--- a/com.unity.netcode.gameobjects/Runtime/Messaging/RpcTargets/RpcTarget.cs
+++ b/com.unity.netcode.gameobjects/Runtime/Messaging/RpcTargets/RpcTarget.cs
@@ -79,9 +79,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
}