StaticNetcodeLib

v1.2.0·Updated 2026-01-08

A library/patcher for NGO in a static context.

About this mod Author’s original text

StaticNetcodeLib

This lib allows BepInEx mods to use Netcode for GameObjects in a static context.

Usage

Add the appropriate BepInDependency attribute to your plugin class, like so:

[BepInDependency(StaticNetcodeLib.Guid, DependencyFlags.HardDependency)]

public class ExampleMod: BaseUnityPlugin

Then add the StaticNetcode attribute to any classes that have static rpcs.

[StaticNetcode]

public class ExampleNetworkingClass

After that, you can simply use Server & Client Rpcs as you normally would (even outside NetworkBehaviours), but in a static context, like so:

[ClientRpc]

public static void ExampleClientRpc(string exampleString)

{

ExampleMod.Logger.LogDebug(exampleString);

}

/... /

ExampleClientRpc("Hello, world!");

Note: The Rpc attribute params are not respected for this. For example, ServerRpcs are static and thus cannot have an owner, and are used as if it had the RequireOwnership = false parameter.

Acknowledgements

Thank you @Lordfirespeed for being my rubber ducky.

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPackLordfirespeed-OdinSerializer

File & checksum

Filename
StaticNetcodeLib-1.2.0.zip
File size
38.9 KiB