Class NetworkManagerHelper
Helper class to instantiate a NetworkManager
This also provides the ability to:
--- instantiate GameObjects with NetworkObject components that returns a Guid for accessing it later.
--- add NetworkBehaviour components to the instantiated GameObjects
--- spawn a NetworkObject using its parent GameObject's Guid
Call StartNetworkManager in the constructor of your runtime unit test class.
Call ShutdownNetworkManager in the destructor of your runtime unit test class.
Includes a useful "BuffersMatch" method that allows you to compare two buffers (returns true if they match false if not)
Inheritance
NetworkManagerHelper
Assembly: Unity.Netcode.TestHelpers.Runtime.dll
Syntax
public static class NetworkManagerHelper
Fields
CurrentNetworkManagerMode
Declaration
public static NetworkManagerHelper.NetworkManagerOperatingMode CurrentNetworkManagerMode
Field Value
InstantiatedGameObjects
Declaration
public static Dictionary<Guid, GameObject> InstantiatedGameObjects
Field Value
InstantiatedNetworkObjects
Declaration
public static Dictionary<Guid, NetworkObject> InstantiatedNetworkObjects
Field Value
Properties
NetworkManagerGameObject
Declaration
public static GameObject NetworkManagerGameObject { get; }
Property Value
NetworkManagerObject
Declaration
public static NetworkManager NetworkManagerObject { get; }
Property Value
Methods
AddComponentToObject<T>(Guid)
Helper class to add a component to the GameObject with a NetoworkObject component
Declaration
public static T AddComponentToObject<T>(Guid gameObjectIdentifier) where T : NetworkBehaviour
Parameters
Type |
Name |
Description |
Guid |
gameObjectIdentifier |
ID returned to reference the game object
|
Returns
Type Parameters
Name |
Description |
T |
NetworkBehaviour component being added to the GameObject
|
AddGameNetworkObject(string)
Add a GameObject with a NetworkObject component
Declaration
public static Guid AddGameNetworkObject(string nameOfGameObject)
Parameters
Type |
Name |
Description |
string |
nameOfGameObject |
the name of the object
|
Returns
BuffersMatch(int, long, byte[], byte[])
Declaration
public static bool BuffersMatch(int indexOffset, long targetSize, byte[] sourceArray, byte[] originalArray)
Parameters
Type |
Name |
Description |
int |
indexOffset |
|
long |
targetSize |
|
byte[] |
sourceArray |
|
byte[] |
originalArray |
|
Returns
ShutdownNetworkManager()
Declaration
public static void ShutdownNetworkManager()
SpawnNetworkObject(Guid)
Spawn the NetworkObject, so Rpcs can flow
Declaration
public static void SpawnNetworkObject(Guid gameObjectIdentifier)
Parameters
Type |
Name |
Description |
Guid |
gameObjectIdentifier |
ID returned to reference the game object
|
StartNetworkManager(out NetworkManager, NetworkManagerOperatingMode, NetworkConfig)
Called upon the RpcQueueTests being instantiated.
This creates an instance of the NetworkManager to be used during unit tests.
Currently, the best method to run unit tests is by starting in host mode as you can
send messages to yourself (i.e. Host-Client to Host-Server and vice versa).
As such, the default setting is to start in Host mode.
Declaration
public static bool StartNetworkManager(out NetworkManager networkManager, NetworkManagerHelper.NetworkManagerOperatingMode managerMode = NetworkManagerOperatingMode.Host, NetworkConfig networkConfig = null)
Parameters
Returns
Type |
Description |
bool |
true if it was instantiated or is already instantiate otherwise false means it failed to instantiate
|
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.