Network

NetObject

NetObject brings network replication and RPC support directly to UObjects without requiring dedicated actor spawning in Unreal Engine projects.

NetObjectNetwork

Resource overview

Replicating UObjects Outside the Standard Actor Lifecycle

In standard Unreal Engine networking architecture, actor instances serve as the fundamental unit of network communication. Replicating state or dispatching remote procedure calls traditionally necessitates spawning an actor into the world or channeling data strictly through actor components. NetObject shifts this paradigm by injecting network support directly into lightweight UObjects. By allowing UObjects to replicate data and execute RPCs independently, the system removes the requirement to instantiate, track, and destroy actors whenever isolated data structures require server-client synchronization.

This architectural adjustment fundamentally alters how state-heavy subsystems operate. Systems that manage inventory slots, ability configurations, character status effects, or interaction mechanics often consist of data classes that do not require physical representations, spatial transforms, or collision profiles in the 3D world. Forcing these constructs into actor classes generates unnecessary overhead. NetObject enables these data containers to remain plain UObjects while maintaining full parity with the replication routines and execution channels expected in networked multiplayer environments.

Remote Procedure Calls and State Synchronization in UObjects

Network functionality within NetObject centers on two core mechanics: continuous data replication and remote procedure call (RPC) dispatching. Replicating data directly across UObject instances allows server authorities to update variables and push those modifications to connected clients automatically. Rather than maintaining manual serialization routines or routing property changes through master actor variables, the object handles its own network state.

Remote procedure calls function alongside variable synchronization, giving UObjects the capacity to send explicit directives across the network boundary. Whether signaling an interaction event, confirming a client-initiated transaction, or updating stateful logic, the object can trigger execution on the opposing side of the network connection. Because RPCs execute directly within the context of the UObject, logic remains encapsulated within the class responsible for the behavior rather than spreading across player controllers, game states, or dedicated network bridge actors.

Enabling and Disabling Replication via Functions and Details Properties

Network synchronization requires precise regulation to avoid saturating communication channels with unnecessary variable updates. NetObject incorporates mechanisms to toggle replication states both at design time and dynamically during runtime. Developers can adjust network behavior directly within the details property panel, configuring whether an object begins its lifecycle in an active replication state or remains completely dormant until explicitly instructed to sync.

For runtime management, NetObject provides dedicated functions to enable and disable replication on the fly. This dual-layer approach allows objects to halt data transmission entirely when their associated gameplay context is idle. For example, an object governing an inactive gameplay interaction or an unequipped item can disable its replication routine, preserving networking performance. When a player engages with the system, an explicit function call re-engages replication, synchronizing current properties before network broadcasting is toggled off again once the action concludes.

Hierarchical Synchronization Through Nested Objects

Complex gameplay systems rarely exist as flat data structures. NetObject accounts for structured data sets by providing explicit support for nested objects. When a replicating UObject maintains references to child UObjects, the network layer propagates synchronization through the hierarchy, ensuring that nested subobjects receive property updates and process their respective replication directives accurately.

Nested object replication prevents developers from having to manually unroll subobjects into primitive arrays or flat structs on an actor. Hierarchies such as modular interaction steps, layered skill trees, or sub-components of an inventory structure maintain their clean object-oriented layout. The primary UObject acts as the entry point, while its internal nested instances retain their own state synchronization, preserving logical boundaries across complex multiplayer gameplay setups.

Blueprint Integration and Project Implementation

Full support for Blueprint scripting ensures that both variable replication and RPC invocations can be configured and triggered within visual scripting graphs. NetObject operates cleanly in Blueprint-centric pipelines, allowing technical designers to set up networked UObjects without writing native C++ network serializers or overriding low-level replication channels.

The system serves as an underlying technology in the InteractSystem plugin, proving its utility in modular, interaction-focused gameplay workflows where lightweight objects handle dynamic world interaction. NetObject also maintains direct compatibility with the free version of BetterBlueprint - ToolNodes, integrating into existing editor workflow enhancements and node-based toolsets. By combining nested hierarchy support, flexible details-level controls, and runtime function toggles, NetObject delivers a clean framework for handling networked data structures without cluttering levels with unnecessary actors.

Explore Similar Assets

Free Download

Download this resource

Log in or create a free account to start your download.

Resources are manually reviewed before listing to improve quality and reduce obvious risks.

Resource archiveNetObject.7z

Related resources