Mono Node
An extension of the Node Framework that seamlessly integrates with Unity's GameObject hierarchy system.
Mono Node will be removed permanently in v2.0.0
Overview
MonoNode allows any MonoBehaviour to become a node in your hierarchy by inheriting from MonoNode<T>. It maintains synchronization between the GameObject hierarchy and the node structure.
Key Features
Automatic GameObject hierarchy synchronization
Inspector-based node structure management
Safe node registration system
Flexible parent-child relationship handling
Container nodes for structural organization
Why Use It
Mono Node Framework bridges Unity's Component system with our powerful Node Framework. It transforms individual Components into nodes while respecting Unity's hierarchical structure.
Key Features:
Component Integration: Turn any MonoBehaviour into a powerful node
Hierarchy Respect: Maintains Unity's natural GameObject relationships
Extended Functionality: Access both Node Framework features and Mono-specific extensions
Natural Workflow: Feels native to Unity while providing node capabilities
Performance Optimized: Designed for efficient operation within Unity's component system
Perfect for developers who want node-based architecture while leveraging Unity's component system to its fullest.
Creating a MonoNode
NodeAwake() will called by Root Node only. Process will be ignored in all ChildNodes.
Inspector Controls

Node ID
Optional unique identifier for the node
Leave empty if the node type is unique in your scene or will never be lookup
Set an ID when you have multiple nodes of the same type
Used for specific node lookup and reference
Auto Registry
Controls automatic node registration during Awake
When
true: Node automatically registers to the node systemWhen
false: Manual registration required
MonoNode Structure
Building MonoNode<T> structure is not required any manual process.
When a GameObject nested with MonoNode<T> components without gap, the whole structure will be built on Awake() automatically.
Auto Register for MonoNode
According to construction of GameObject and Component in Unity, the handle of Auto Register of Node is different from pure Node.
Basic rules are:
GameObjectexists in Hierarchy -Auto Registryis recommended unless you want to handle yourself.GameObjectwill be Instantiated by code (pool object) -Auto Registryshould be off because related node data is not ready.Other case - It's not neccessary to get the nodes thought Node<T>.Get(), you can turn off
Auto Registry.
Manual Register
Best practices for managing MonoNodes manually, please remember to Register and Unregister, unless the node is not necessary to exposed for other object.
Accessing Nodes
Managing Relationships
GameObject parent will also change on node structure change.
SetAsRoot will make GameObject move to root of hierarchy.
Container Nodes
Use ContainerNode to maintain node hierarchy when dealing with non-functional GameObjects.
More Node Initial States
In some case, action need to rely on other node that is already completed NodeAwake process.
Important Notes
Node registration occurs during Awake (if autoRegisterToNodeTree is true)
Node structure built during Awake
Custom initialization code should be placed in
NodeAwake()
Best Practices
Always override
StartAfterNodeBuilt()for initialization that requires node structureLeave ID empty for singleton-like nodes
Use meaningful IDs for multiple instances (e.g., "BossEnemy", "MiniBoss")
Consistent ID naming helps with node retrieval
Consider using enums or constants for frequently used IDs
Regularly update node structure when modifying GameObject hierarchy
Consider disabling autoRegisterToNodeTree if manual control is needed
Last updated