Welcome to Circuits v2!

Circuits are Rec Room’s visual scripting system. It’s the way to add behavior and interactivity to your Rec Room creations. We’re happy to announce v2 of this system is out of beta! Check out the various resources in the quick links section for tutorials and more information.

 
ezgif.com-gif-maker (35).gif

If you want to build:

  • A cool door that opens up when you’re nearby

  • Game rules with timers and scoring

  • A vehicle that you can drive around

  • A drum machine

...you’ll use Circuits to make it work!

 
Circuits v2 can be as simple or as complex as you need! From a simple toggle system to turn on a light…

Circuits v2 can be as simple or as complex as you need! From a simple toggle system to turn on a light…

…to an accurate simulation of a toybox solar system!

…to an accurate simulation of a toybox solar system!

 

Here’s the current list of chips and a short description of what behavior they have as of 4/28/2020:

Have suggestions on these descriptions? Check out the GitHub for a community-ran documentation hub and to submit revisions!

Name Description
Absolute Value  Outputs the magnitude of the number. Is always positive.
Acos  This chip allows you to use the math formula acos
Add  Adds the two input values together.
AI Get Line of Sight Parameters  Outputs the current line of sight parameters from the input AI
AI Get Target  Outputs the current combat target of an inputted AI
AI Has Line of Sight To Target  Outputs if the input AI has line of sight to the input target.
AI Look At  Command an AI to look at the input target. If you want the AI to look in a passed in vector as a direction
Variable (AI)   
AI Path To   Commands the AI to path to the input target destination.
AI Rotate   Commands an AI to turn an inputted number of degrees. To command the AI to back to default rotating behavior
AI Set Line of Sight Parameters   Sets an AI‚ various LoS paramters. The configure setting acts like a vision cone that sits in front of AIs like eyes
AI Set Pathing Speed   Sets the speed for an inputted AI. This same setting can be determined by configuring the AI itself.
AI Set Patrol Point   Set an AIs Path Point.
AI Set Target   Sets the input AI‚Äôs current target.
AI Start Combat Behavior   RRO Quest AI black box. This node tells the input AI to start their C# defined combat behavior. Note: this behavior varies per AI.
AI Stop Combat Behavior   Tells the input AI to stop its C# defined combat behavior.
AI Stop Looking   Command the input AI to cancel its current Rotate and Look At commands. Call this before telling an AI to path after having it Rotate/Look At so it rotates properly while moving again.
And   Outputs True only when both inputs are True. If any inputs are False
Asin   This chip allows you to use the math formula asin
Atan2   This chip allows you to use the math formula Atan2
Atan   This chip allows you to use the math formula Atan
Variable (bool)   
If   Takes a boolean condition as an input. If true
Button Get Is Pressed   Outputs a target Button's Pressed property.
Button Get Text   Outputs a target Button's Text property.
Button Set Text   Sets an input Button's Text property.
Ceil   This chip allows you to use the math formula Ceil
Ceil to Int   Returns the smallest integer value greater than or equal to the input value.
No Name   Use as a way to encapsulate your logic. You can have as many inputs and outputs as you like. Use the Edit tool to open up the Circuit Board and add nodes inside it to encapsulate the logic. Hit done editing on your Maker Pen to leave the Circuit Board context.
Combatant Get Ground Position   Outputs the ground position of an input combatant
Combatant Get Health   Outputs the Health property of the input combatant.
Combatant Get Is Alive   Outputs true if the input combatant is alive.
Combatant Get Velocity   Outputs the input combatant's current velocity and speed.
Variable (Combatant)   
Combatant Receive Damage   Deals damage to the given target combatant with various parameters.
Combatant Set Health   Sets the Health property of an input combatant.
Combatant Set Max Health   Sets the Max Health property of the input combatant.
Combatant Split   Splits the input Combatant into Player and AI types. Use this off of Combatant outputs to directly access the Player or AI.
Cos   This chip allows you to use the math formula Cos
Rec Room Object Add Tags   Assigns tags to the input object.
Rec Room Object Get All with Tag   Searches the room for all objects with a specified tag. Outputs all objects with the input tag in a list.
Rec Room Object Get Authority   Outputs the authority player of the input RecRoomObject
Rec Room Object Get Is Local Player Authority   Outputs true on the player's machine who has authority of the input.
Get Player Last Equipped Object   Returns the player who last held an object
Rec Room Object Get Tags   Outputs list of tags the input object has.
Rec Room Object Has Tag   Outputs true if the input object has the input tag.
Variable (RecRoomObject)   
Rec Room Object Remove Tags   Removes the input list of tags from the input object.
Delay   Fires outputs based on the inputted time to delay. The Run exec fires as soon as the node is executed. The After Delay exec fires once the input delay duration has completed. After Canceled fires after the delay node‚Äôs Cancel exec has been fired. Cancel cancels all current delays running from this node.
Dice Get Player Rolled   Returns the player who rolled the dice
Dice Get Result   Returns the result of the dice
Dice Get Roll finished   Outputs an exec when the dice finished rolling
Distance   Outputs the distance between the input objects.
Divide   Find how many times a value contains another.
Emitter Set Color   Sets the color for the particles emitted
Emitter Set Looping   
Emitter Set Size   Sets the size of the particles emitted
Emitter Set Speed   Sets the speed particles are emitted
Emitter Start   Starts emitting particles
Emitter Stop   Stops emitting particles
Equals   Compares the two inputted values and outputs true if they are the same. False if they are different.
Event Definition   
Event Receiver   Events are the entry points for all circuit graphs. Events are execution hooks for things like a player loading into the room
Event Sender   Use the Event Sender to fire your custom events defined in Event Defintions. After creating this chip
Variable (float)   
Floor   Returns the smallest value less than or equal to the input value.
Floor to Int   Returns the smallest integer value less than or equal to the input value.
For Each   Iterates over the input list. The loop exec fires for each element in the list. The Done exec fires once the end of the list has been reached.
For   Iterates over the ‚ÄúFrom‚Äù pin (inclusive) to the ‚ÄúTo‚Äù pin (exclusive)
From Rec Room Object   Converts the input Rec Room Object to the object's subtype.
Get All Players   Outputs a list of all the players in the room currently.
Get Authority   
Get Element   Gets a specified element from the input list. The element you want to retrieve is called the ‚Äúindex‚Äù and is the location of the element in the list. The first element in the list is at index 0
Time Get Universal Seconds   Gets the amount of seconds since 1970
Get Forward Vector   
List Get Count   Outputs the number of elements inside the input list.
Get Local Camera Forward   
Get Local Camera Up   
Get Local Player   Outputs the player running this chip on their machine.
Get Player Account Name   
Get Player By Account Name   
Get Player By Display Name   
Get Players With Role   
Get Position   Outputs the position of the input object as a vector3.
Time Get Precise Seconds   Gets the amount of seconds since a player launched Rec Room
Get Room Authority   Returns the player who is the room Authority player
Get Up Vector   
Time Get Universal Time   Gets the UTC time zone Time
Get Velocity   Returns the velocity of a player or a RecRoomObject
Greater Than   Returns true if input A is greater than input B
Greater or Equal   Returns true if input A is greater or equal than input B
If Expression   Outputs an input value based on the input conditional. Outputs the ‚Äúthen‚Äù input if the inputted conditional is true. Outputs the ‚Äúelse‚Äù input if the input conditional is false.
If Local Player Is Authority   I'm Authority exec fires on the player's machine who has authority in the current context. At the room level
If Local Player Is Room Authority   
If Local Player Should Run   
If Player Is Local   Outputs if a player is local or not
Velocity Add   Adds velocity to the input target. The input velocity will be multiplied by the magnitude of the vector provided in the input direction.
Velocity Reflect   The input target's velocity parallel to the input direction vector is reflected along the input direction and velocities perpendicular to it
Velocity Set   Momentarily sets the velocity of the input target in the input direction. The input velocity will be multiplied by the magnitude of the vector provided in the input direction.
Variable (int)   
Int to Float   Converts the input int to a float.
Is Valid   Returns true if the input variable is not null. Certain variable types must be set before use because they can't have a default value. A Rec Room Object variable that isn't set isn't going to be valid.
Lerp   This chip allows you to use the math formula Lerp
Less Than   Returns true if input A is less than input B.
Less or Equal   Returns true if input A is less than or equal to input B.
Light Set Angle   Sets the size of the spotlight's area
Light Set Color   Sets the color for a point light or a spotlight
Light Set Intensity   Sets the brightness level for a point light or a spotlight
Light Set Range   Sets the range of a point light or a spotlight
Light Turn Off   Turns off the point light or the spotlight
Light Turn On   Turns on the point light or the spotlight
List Add   
List All True   If all of the bool values in the list are true then return true
List Any True   If any bool value in the list is true then return true
Variable (List<bool>)   
List Concat   Combine lists together into one list
List Contains   
Variable (List<RecRoomObject>)   
List Divide   
Variable (List<float>)   
List Insert   Insert a value into a list
Variable (List<int>)   
List Max   
List Min   
List Multiply   
Variable (List<Player>)   
List Remove At   
List Remove Last   
Variable (List<string>)   
List Subtract   
List Sum   
Variable (List<Vector3>)   
Logarithm   This chip allows you to use the math formula logarithm
Log Screen Get Mute   If the log screen is muted then return true
Log Screen Reset   Reset a log screen
Log Screen Set Mute   Mutes the log screen
Log String   Logs a string into a log screen
List Create   Creates a list from input values. Add more inputs by using the configure tool on the node and press ‚ÄúAdd Input‚Äù. All items in a list must be of the same type.
Max   Returns largest of two or more values.
Min   Returns smallest of two or more values.
Modulo   Outputs the remainder of the first value is divided by the second.
Multiply   Multiplies the two input values and outputs the result
Nand   Outputs False only when both inputs are True. If one or both is False
Nor   Outputs True when both inputs are False. Otherwise
Not   Outputs the opposite of the input boolean.
Or   Outputs True if any input is true. Otherwise outputs False.
Parse Bool   Converts the input string to a bool if able.
Parse Float   Converts the input string to a float if able.
Parse Int   Converts the input string to a integer if able.
Piston Get Acceleration   Gets the acceleration of a piston
Piston Get Distance   
Piston Get Target Distance   
Piston Get Max Distance   
Piston Get Speed   Returns the speed of a piston
Piston Set Acceleration   
Piston Set Distance   
Piston Set Target Distance   
Piston Set Max Distance   
Piston Set Speed   
Player Add Role   Adds a Role to a player
No Name   This is very similar to an object board that you would find on any object
Player Get Equipped Objects   Gets equipped objects from a player
Player Get Is Local   Outputs true if the input player is the local player executing the chip on their machine.
Player Has Role   Outputs true if the input player has the input role.
Player Is Authority Of   Outputs if a player is authority of the input RecRoomObject
Player Is Room Owner   Outputs true if the input player is one of the current room's owners.
Player Left Hand Finger Direction   Outputs the Direction of a player's left hand finger
Player Left Hand Position   Outputs the postion of a player's left hand
Player Left Hand Velocity   Outputs the velocity of a player's left hand
Variable (Player)   
Player Remove Role   Removes the input role from the input player.
Player Right Hand Finger Direction   Outputs the Direction of a player's right hand finger
Player Right Hand Position   Outputs the postion of a player's right hand
Player Right Hand Velocity   Outputs the velocity of a player's right hand
Player Subscribes to Room Owner   Outputs true if the input player subscribes to one of the current room's owners.
Power   Multiplies a value by itself an input number of times.
Prompt Local Player   Sends a watch notification to a player. The player which it sends a notification to depends on who's machine fires the exec pin. Once this watch notification is opened
Random Float   Generates a random float from [min to max]. Min is inclusive
Random From List   
Random Int   Generates a random integer from [min to max). Min is inclusive
Reset Object   Resets a RecRoomObject
Reset Room   Resets the room
Rotator Get Target Rotation   
Rotator Get Rotation Acceleration   
Rotator Get Rotation   
Rotator Get Rotation Speed   
Rotator Set Target Rotation   
Rotator Set Rotation Acceleration   
Rotator Set Rotation   
Rotator Set Rotation Speed   
Round   
Round to Int   Rounds an input value to the nearest integer.
Self   Outputs the object (and type) of the current context. For example
Set Element   Sets a value at a location in a list
DEPRECATED Set Value   Sets a value of a variable
SFX Get Volume   Outputs the volume of an SFX Component
SFX IsPlaying   
SFX Play   Plays a sound from an SFX Component
SFX Set Volume   Sets the volume for an SFX Component
SFX Stop   Stops the sound currently playing from an SFX Component
Show Notification   Prints the input notification to a player‚Äôs screen if the node is run on a player's machine.
Sin   This chip allows you to use the math formula sin
Spawner Reset   
Spawner Internal Start Spawning   
String Format   Use this node to combine multiple strings together into a single string output. The Format input is part of final string output and can include other string inputs by using this syntax: {input pin # starting at 0}. For example
Variable (string)   
Substring   Allows you to extract individual characters from a string. You can think of this like a list of characters.
Subtract   Takes one input value away from the other.
Tan   This chip allows you to use the math formula tan
Text Set Color   Sets the color for a Text Component
Text Set Material   Sets the material for a Text Component
Text Set Text   Set the visible text for a Text Component
To Combatant   Covert a player or an AI value into a Combatant value
To Rec Room Object   
Toggle Button Get Is Pressed   Outputs true if the toggle button is pressed
Toggle Button Set Is Pressed   Sets a Toggle Button state to pressed
To String   Converts the input value to the string type. Example: the integer input 10 would output ‚Äú10‚Äù as a string. Helpful for debugging purposes.
Trigger Volume Get Filter Role   Gets the Role that is being filterd from a Trigger Volume
Trigger Volume Get Filter Tags   Gets the Tags that are being filterd from a Trigger Volume
Trigger Volume Get Num Objects   Gets the number of objects inside a Trigger Volume
Trigger Volume Get Num Players   Gets the number of players inside a Trigger Volume
Trigger Volume Get Objects   Gets all of the objects inside a Trigger Volume
Trigger Volume Get Players   Gets all of the players inside a Trigger Volume
Trigger Volume Set Filter Role   Sets the filterd Role for the Trigger Volume
Trigger Volume Set Filter Tags   Sets the filterd Tags for a Trigger Volume
Vector3 Cross   
Vector3 Dot   
Variable (Vector3)   
Vector3 Normalize   
Vector3 Scale   
Vector Create   Creates a new vector from X
Vector Gadget Get Vector   Gets the direction and magnitude of the Vector Component
Vector Get Magnitude   Outputs the length of the input vector.
Vector Split   Breaks the X