Subsystem In
This block is used to import a value from a parent scenario into a subsystem (a nested scene) and make it available to blocks inside that subsystem. It acts as a numbered input port for the subsystem and automatically synchronizes with the parent scenario's inputs.
📥 Inputs
This block does not declare any direct inputs (it receives data from the parent scenario rather than from local sockets).
📤 Outputs
Generic This output provides the value supplied from the parent scenario. Inside the subsystem, connect this output to any blocks that need the parent-provided data.
🕹️ Controls
Title The block displays a number that identifies its position among the subsystem inputs (e.g., 1, 2, 3).
Scene Index Each block is assigned a scene index that determines which parent input it maps to. The displayed title reflects this index.
Note: The numbering is managed automatically. When you add, remove, or reorder subsystem input blocks, their displayed numbers update to match their order.
⚙️ Running mechanism
When the subsystem runs, each
Subsystem Inblock provides the value coming from the matching input of the parent scenario.In the main (parent) scenario, the corresponding parent input supplies the data that flows into the subsystem input.
The block keeps its mapping in sync with the parent scenario so the subsystem receives the correct input even if inputs are added or reordered in the parent.
The block supports being used in test or memory-backed contexts (the system adapts behavior depending on whether the subsystem is run standalone or embedded).
🎯 Features
Automatic numbering and index mapping so subsystem inputs are easy to identify.
Dynamic synchronization with parent inputs — socket types and order follow the parent scenario automatically.
Works seamlessly with enabled/disabled subsystem modes (when you use the subsystem enabling mechanism, input behavior adapts accordingly).
Designed to be lightweight and non-resizable for a compact flow-control layout.
📝 How to use
Place a subsystem and open its child scene.
Add one or more
Subsystem Inblocks inside the child scene. Each will appear with a number (1, 2, ...) that indicates which parent input it maps to.In the parent scenario, provide data to the corresponding subsystem input sockets. That data will become available from the
Genericoutput inside the subsystem.Inside the subsystem, connect the
Genericoutput to other blocks that need the parent-supplied value.
💡 Tips and Tricks
Use together with
Subsystem Outto return results from the subsystem back to the parent scenario.Combine with
Subsystem Enabledwhen you need conditional or toggleable subsystem execution; the input behavior adapts when the subsystem is enabled/disabled.If you want to persist or freeze an input value inside the subsystem, pair the
Genericoutput withData Memoryto hold the value across runs.For debugging or to inspect what the parent is sending into the subsystem, feed the
Genericoutput intoDebug Inputor display it with appropriate viewer/output blocks.To pass configuration values (numbers, text, or booleans) from the parent, use parent-side blocks like
Number Input,String Input, orLogic Inputand map them via the correspondingSubsystem Ininside the child scene.
🛠️ Troubleshooting
If a
Subsystem Inblock shows an unexpected number, try adding or removing other subsystem inputs; numbering updates automatically.If the subsystem does not receive values, ensure the parent scenario provides data on the matching input socket and that the subsystem is properly added to the parent.
If socket types need to change, the system will synchronize child ports to match the parent — reconnect flows after major changes to confirm correct behavior.
Last updated