Skip to main content
Version: 3.8.0

Visual Scripting Overview

Visual Scripting in Effect House allows you to create interactive effects without having to worry about writing text-based code. Use nodes and variables to create complex logic.

Getting Started

To open the Visual Scripting panel, click the Graph icon on the top-left of the Effect House interface.

Visual Scripting Nodes

Visual Scripting is a node-based creation system where each node performs a different function within your logic flow. As you connect each node, they will receive and pass information along the sequence. Thi s system of connections allows you to use Visual Scripting to add triggers, events, controllers, and more to your effects.

Explore Each Node Type

  1. By default, two nodes are automatically added to a project: Start and Update. Start will be called when the effect begins and Update will be called once every frame.
  2. Go to the Visual Scripting panel and click the Add button [+] > Add node at the top of the interface. A menu with every node will pop up. Select a node from the menu or type the name to search, and then click the node to add it to the panel.

You can also right-click on a blank area of the Visual Scripting panel and select Add node to perform this action.

Add node method 1   Add node method 2   Add node multiply

View Node Variables

A variable is a symbol which works as a placeholder for expressions or quantities that may vary or change. It only needs to be initiated once and can be reused multiple times throughout the effect creation process.

Add a Variable

  1. Go to the Visual Scripting panel and right click to select Show/Hide variable. This will open the variable menu.
show/hide variable
  1. Click + Add variable on the bottom of the menu to add a variable. You can click the text area to rename each variable, open the drop-down list to change the variable data type and assign an initial value to it. You can also click the small trash can icon to delete an existing variable.
add variable
  1. You can retrieve or set a variable by clicking the Add button [+] > Get/Set Variable. This will automatically create a variable node and add it to the Visual scripting panel.
get/set variable

Node Types

There are 11 different types of nodes in Effect House that help you work with interaction, logic, and more.

Node TypesIconDescriptionExample(s)
EventeventNodes that detect an event and output triggers accordingly.Screen Tap captures a touch event.
LogiclogicChecks the logic of the input(s), often comparing two values.Greater Than checks if one input value is greater than another.
ControlcontrolUse these nodes to control the flow of triggers.For Loop, If, and Sequence.
MathmathThese nodes perform math functions.Random, Floor, and Multiply.
TimetimeNodes relating to time.Get Time tracks the time in seconds since the start of the effect.
UtilityutilityThe root level of entity and component status.Set Visibility sets the visibility of an object.
TransformtransformThe root level of transform related triggers.Local Transform Info outputs the local transform data of a scene object.
Head & Facehead and faceNodes related to the head and face.Facial Movement Detection triggers the next node when a particular movement is detected.
HandhandNodes related to the hand.Hand Detection triggers the next node when a hand is detected on screen.
BodybodyThe root level of body triggers.Body Detection triggers the next node when there is a body detected in camera view.
AudioaudioNodes related to audio.Beat Detection outputs the imported audio’s beat.

Node Information

You can view a node’s basic information by following the menu. Let’s use the Body Detection node as an example:

body detection node
  • Name: The name of the node is at the top of the node's basic information
  • Description: A description of the node’s primary functionality
  • Inputs and Outputs: Ports along the left side of a node are known as “node inputs”. Ports along the right side of a node are called “node outputs.” You’ll link one node to another by making a connection from an output port to an input port.

Right-clicking on an added node and selecting Node info, or directly clicking the ⓘ icon, will show the node's information.

node information through right-click   node information through icon

Manage the Visual Scripting Panel

My Items

Manage your variables and subgraphs in a centralized location by clicking the My Items button.

open my items menu


Variables can be created and reused in your visual scripting logic.

Create a Variable
  1. Click the Add button [+] next to Variables. The Details menu appears to the left.
  2. Assign the variable a name, type, container, and default value.
variable details
Create a Node From a Variable
  1. Click the button next to a variable
  2. Click Get variable or Set variable. The node appears in the main graph.
create node from variable


Subgraphs are a set of nodes grouped together that can help organize your Visual Scripting.

Create a Subgraph
  1. Select the nodes you want to group
  2. Right-click on the nodes, then select Create subgraph. You can change the name of the subgraph by double-clicking on the name at the top of the node.
create subgraph
Edit a Subgraph
  1. Double-click the subgraph node to dive into it and edit the grouped nodes
  2. Click on the Main graph button on the top-left corner of the Visual Scripting panel to go back to the top-level graph. You can also right-click on a subgraph node to un-group it.
create subgraph
Create a Subgraph Asset

You can turn your subgraph into a subgraph asset that appears in the Assets panel. The subgraph asset can be dragged from the Assets panel to the Visual Scripting panel.

  1. Right-click a subgraph
  2. Click Create a subgraph asset. The subgraph asset can be found in the Subgraphs folder in the Assets panel.
create subgraph asset

You can also import subgraphs from the Visual Scripting section of the Asset Library.

Export a Subgraph Asset

You can save a subgraph as a subgraph file on your local machine from the Visual Scripting panel. You can share the exported subgraph file and reuse them in other Effect House projects.

  1. Under Subgraphs, locate a subgraph you'd like to export
  2. Click the Download button
  3. Enter a file name, select a location, and click Save
create subgraph asset
Save a Subgraph to the Menu

Easily reuse a subgraph in any Effect House project by saving it to the node menu.

  1. Right-click a subgraph
  2. Click Save to node library
save to node library

You can now open a new Effect House project and access the saved subgraph from the Custom tab of the node menu without having to open the subgraph file.

custom node

You can also delete a saved subgraph from the Custom tab of the node menu.

  1. Click the Add button [+]
  2. Go to the Custom tab and hover over a subgraph
  3. Click Remove
remove custom node

The saved subgraph is also accessible through search:

search subgraph

Use the Minimap to Navigate

MinimapminimapThe minimap icon on the top-left corner of the Visual Scripting panel allows you to toggle the minimap on and off. When the minimap is open, you can drag the rectangle on it to navigate the panel.
Zoomreset graph viewThe Zoom button centers the nodes on the panel and resets the graph view

Effect Reset on Record

effect reset on record

The Visual Scripting panel has an effect reset dropdown. Selecting Reset on Record On will reset the effect whenever the record state is triggered. Selecting Reset on Record Off will default to the visual scripting setup. Use the in-tool preview record button to test this out.