Skip to content

Components

💡 Simple Explanation: Adds a component to an object at runtime. Dynamically extends object capabilities.

⚙️ Technical Description: Synchronous node that dynamically adds a component to a Scene Object at runtime by locating the component type by name.

ComponentAdd

🔍 Full Details & Examples

🔧 How It Works: Finds component type by name and attaches it to the Scene Object.

Perfect For:

  • Runtime composition
  • Dynamic behavior addition
  • Adding temporary effects

👉 Inputs:

  • scene_object (SceneObject) - Target object
  • component_name (String) - Exact class name of component

🎬 Streaming Example: “Add Rigidbody to object when donation triggers physics mode.”

🎯 Tips: Component name must match Unity type name exactly.


💡 Simple Explanation: Reads a component’s property value. Monitors component state with change detection.

⚙️ Technical Description: Reactive node with on_change output that retrieves property values from components and triggers when values change, enabling reactive systems.

ComponentGetProperty

🔍 Full Details & Examples

🔧 How It Works: Retrieves property value from named component. on_change output fires when value changes.

Perfect For:

  • Monitoring component states
  • Reactive systems
  • Triggering logic on changes

👉 Inputs:

  • On Object (SceneObject) - Target object
  • Component (Dropdown) - Component class name
  • Property (Dropdown) - Property to read

👈 Outputs:

  • Value (Object) - Current property value
  • On Change (Trigger) - Fires when value changes

🎬 Streaming Example: “Monitor object position and trigger effect when it crosses threshold.”

🎯 Tips: Has on_change output for automatic change detection. Very powerful for reactive systems.


💡 Simple Explanation: Removes a component from an object. Cleanup and dynamic behavior changes.

⚙️ Technical Description: Synchronous node that removes a specified component from a Scene Object using proper cleanup.

ComponentRemove

🔍 Full Details & Examples

🔧 How It Works: Finds and destroys specified component from the Scene Object.

Perfect For:

  • Cleanup
  • Removing temporary behaviors
  • Disabling effects permanently

👉 Inputs:

  • scene_object (SceneObject) - Target object
  • component_name (String) - Component class name

🎬 Streaming Example: “Remove physics after destruction animation completes.”

🎯 Tips: Component is permanently removed. Can’t be undone without re-adding.


💡 Simple Explanation: Resets component to default values. Restores original state.

⚙️ Technical Description: Synchronous node that resets a component to default values by creating a temporary object with defaults and copying the values.

ComponentReset

🔍 Full Details & Examples

🔧 How It Works: Creates temp object with default values and applies them to component.

Perfect For:

  • Resetting state
  • Restoring defaults
  • Cleaning up modified objects

👉 Inputs:

  • scene_object (SceneObject) - Target object
  • component_name (String) - Component class name

🎬 Streaming Example: “Reset animation controller to idle state.”

🎯 Tips: Useful for cleaning up modified components between uses.


💡 Simple Explanation: Enables or disables a component. Toggles component functionality.

⚙️ Technical Description: Synchronous node that sets the enabled property on a component to toggle its active state.

ComponentSetEnabled

🔍 Full Details & Examples

🔧 How It Works: Sets component’s enabled property to true/false.

Perfect For:

  • Toggling behaviors
  • Conditional functionality
  • Optimizing performance

👉 Inputs:

  • (SceneObject) - Target object
  • Component (Dropdown) - Component class name
  • Enabled (Boolean) - New state

🎬 Streaming Example: “Disable particle system between effects.”

🎯 Tips: Not all components support enabled/disabled. Most Behaviours do.


💡 Simple Explanation: Changes a component’s property value. Configures components dynamically.

⚙️ Technical Description: Synchronous node that sets a property value on a component and saves the ProjectItem to persist changes.

ComponentSetProperty

🔍 Full Details & Examples

🔧 How It Works: Sets named property on component. Saves to project, may trigger reload.

Perfect For:

  • Dynamic configuration
  • Runtime adjustments
  • Customizing effects

👉 Inputs:

  • On Object (SceneObject) - Target object
  • Component (Dropdown) - Component class name
  • Property (Dropdown) - Property to set
  • Value (Object) - New value

🎬 Streaming Example: “Set particle emission rate based on donation amount.”

🎯 Tips: If the component you would like to edit is on an object that does not exist at setup time (e.g., an object coming from a Spawner node), set up a dummy object in the scene with the component, configure this node, then remove the dummy object.


💡 Simple Explanation: Finds all objects that have a specific component type. Search for objects by what they can do.

⚙️ Technical Description: Retrieves all scene objects that have a specific component type attached, returning them as an array.

GetSceneObjectsWithComponent

🔍 Full Details & Examples

🔧 How It Works: Select a component type from the dropdown and the node outputs an array of all scene objects in the scene that have that component attached.

Perfect For:

  • Finding all objects with physics components (Rigidbody)
  • Locating all animated objects (Animator)
  • Collecting all objects with audio sources
  • Performing batch operations on objects sharing a component type

👉 Inputs:

  • Component (Dropdown) - Component type to search for

👈 Outputs:

  • Objects (Array) - Array of scene object identifiers

🎬 Streaming Example: “Find all Rigidbody objects and apply an explosion force when a big donation comes in.”

🎯 Tips: Use the refresh button to update the component list when the scene changes. The output array can be used with ForEachArrayItem to process each object.