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.
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!
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 |