As the Dynamic Variables page itself is quite information dense, this tutorial will serve as a quick guide to create, write and read these variables and components, and is also designed to get you started immediately with them, in a step by step process. This should also be simpler to understand in comparison to the main page.
Since you can use dynamic variables in many different configurations, this tutorial will be split up based on what your needs and requirements are.
Triggers & Receivers
Use this when you just want to send a signal across different code groups (and also sometimes with data)
What You Need
- The Dynamic Impulse Trigger & Dynamic Impulse Receiver nodes.
- (Optional) Slot hierarchy.
Setup
![An example of the trigger and receiver nodes.](/images/thumb/8/89/Trigger_And_Receiver_Example.png/300px-Trigger_And_Receiver_Example.png)
- Spawn both Dynamic Impulse Trigger & Dynamic Impulse Receiver nodes with the ProtoFlux Tool.
- Add a tag for both nodes to send and listen for. We are using
Example
for both nodes. - Add a Slot hierarchy for the trigger node.
Dynamic Input Variables & Dynamic Spaces
Use this when you have a value that can be grabbed and used anywhere.
What You Need
- The Dynamic Variable Input node. (Must be under a slot with a DynamicVariableSpace)
- A Slot that contains a DynamicVariableSpace.
- A DynamicValueVariable or DynamicReferenceVariable component.
Setup
![An example of using the Dynamic Variable Input node.](/images/thumb/a/a3/Dynamic_Variable_Input_Example.png/300px-Dynamic_Variable_Input_Example.png)
- Spawn any Slot to use as your space (the example uses a box), then set up the DynamicVariableSpace component on your slot.
- Pick a name for this space. (The example uses
Example
)
- Pick a name for this space. (The example uses
- Spawn the Dynamic Variable Input node.
- Setup the name for this node. (The example uses
Example/MyBox
)
- Setup the name for this node. (The example uses
- Make a child object of that slot, then add the DynamicValueVariable or DynamicReferenceVariable component. (The exmaple uses DynamicReferenceVariable)
- Setup the name for this component. (The example uses
Example/MyBox
)
- Setup the name for this component. (The example uses
- Pack the Dynamic Variable Input node under the child slot (or anywhere under the slot that has the DynamicVariableSpace), and it should work. (The example uses Red Print to do this.)
Dynamic Read And Write Variables & Dynamic Spaces
Use this when you have component values you want to dynamically read and write from anywhere.
What You Need
- Either a Read Dynamic Variable or a Write Dynamic Variable node. (The slot to check needs to be under a slot with a DynamicVariableSpace)
- A Slot that contains a DynamicVariableSpace.
- A DynamicValueVariable or DynamicReferenceVariable component.
Setup
![An example of using the Dynamic Variable Read and Write nodes.](/images/thumb/9/9a/Dynamic_Variable_Read_And_Write_Example.png/300px-Dynamic_Variable_Read_And_Write_Example.png)
- Spawn any Slot to use as your space (the example uses a box), then set up the DynamicVariableSpace component on your slot.
- Pick a name for this space. (The example uses
Example
)
- Pick a name for this space. (The example uses
- Spawn the Read Dynamic Variable or Write Dynamic Variable node.
- Setup the path for this node. (The example uses
Example/MyBox
) - Attach a slot hierarchy to check through. (This example uses the box itself that has the space)
- Setup the path for this node. (The example uses
- Make a child object of that slot, then add the DynamicValueVariable or DynamicReferenceVariable component. (The exmaple uses DynamicReferenceVariable)
- Setup the name for this component. (The example uses
Example/MyBox
)
- Setup the name for this component. (The example uses
- The nodes Do Not need to be under the slot that has the space to work. (The example uses Red Print to show this example.)