Processes and Commands¶
Picker entries from Jungle Core. Grouped by the category the picker shows them under.
Data¶
Value Command¶
Write a value once, over time, or while running.
Runs the listed value operations in parallel. Write operations complete at once, Over Time operations run their pipeline, While Active operations hold the value until the host stops the command, so put those in a Process Component or a While Running slot.
Type: ValueCommand
Editor¶
When This Object Changes¶
Runs when you edit or move this object in the editor.
Runs the process every time you change this object in the editor: moving it, dragging one of its handles, or editing any of its components. Turn on children to also react to edits on objects under it, and to objects dropped or created under it. Pick another object to watch that one instead.
Type: WhenObjectChangesTrigger
Lifecycle¶
Controllable Cycle¶
Begin/End when another Jungle component begins and ends.
Watches another Jungle component's own Begin and End (a Process Component, Reactor, Detector, ...). Fires no matter what started that component: its own execution frame, a command, or code. Leave the provider empty to use another Jungle component on this same object.
Type: ControllableCycleFrame
Cycle Group¶
Begin when all, any, or N child cycles are entered together.
Watches several cycle sources at once and fires a single Begin when enough of them are entered at the same time (All for a crafting recipe with every slot filled, Any for 'something is docked', At Least N for a threshold). End fires once when the count drops back below. Begin carries the object whose entry completed the set, End the one whose exit broke it.
Type: CycleGroupFrame
Event Pair¶
Begin and End fired by two separate events.
Picks two independent events: one starts the component, one stops it. Use when no paired cycle exists for the source you want to listen to.
Type: EventPairFrame
External¶
Begin/End only via code, UnityEvents, or Commands.
Disables automatic Begin/End wiring. The component runs only when something else explicitly calls Begin() or End().
Type: ExternalFrame
MonoBehaviour Phase¶
Begin/End at a fixed point in the object's lifetime.
Begin and End fire at a chosen lifecycle moment on the host component: Enable/Disable (while the component is active), Start/Destroy or Awake/Destroy (the component's full lifetime).
Type: MonoLifecycleFrame
Process Finished¶
Begin when another Process Component finishes its run.
Starts this when the chosen Process Component's run finishes by itself, for example once a spawner is done spawning. If that run already finished, this starts right away. Pick how it stops: when the other component starts again, never, or on an event.
Type: ProcessFinishedFrame
Lifecycle / Membership¶
Container Membership¶
Per-object Begin/End driven by a GameObject container's contents.
Pick a container that holds GameObjects. Begin fires as each object enters the container, End fires as it leaves. Joining mid-flight catches you up: Begin replays for every object already inside.
Type: ContainerMembershipCycleFrame
Detector Membership¶
Per-object Begin/End driven by a Detector's detected set.
Pick a Detector. Begin fires for each object as the Detector picks it up, End fires as it leaves. Joining mid-flight catches you up: Begin replays for every object already detected.
Type: DetectorMembershipCycleFrame
Math¶
Double Value¶
Provides a double value as a pipeline destination.
Supplies a double value for the pipeline to move toward. The value can change at any time, so the pipeline keeps following it and never reports the target as reached on its own.
Type: DoubleValueTarget
Float Value¶
Provides a number as a pipeline destination.
Supplies a number for the pipeline to move toward. The value can change at any time, so the pipeline keeps following it and never reports the target as reached on its own.
Type: FloatValueTarget
Int Value¶
Provides a number as a pipeline destination.
Supplies a number for the pipeline to move toward. The value can change at any time, so the pipeline keeps following it and never reports the target as reached on its own.
Type: IntValueTarget
Objects¶
Component Command¶
Enable, disable, or pulse any Behaviour (MonoBehaviour scripts, Animator, AudioSource, Light, Camera, Collider2D, …).
Runs operations against any component with an enabled checkbox in its header, including your own scripts, Animator, AudioSource, Light, Camera, and Collider2D. For 3D Colliders use Collider Command, for Renderers use Renderer Command. Combine Set Enabled with Set Enabled For Duration to toggle components on and off for timed windows.
Type: ComponentCommand
Controllable Component Command¶
Start, stop, or drive any Controllable Component.
Start, stop, or drive any component that can begin and end, such as Process Component, Reactor, or Object State Holder. Add, remove, and reorder operations in the list to build the exact behavior you need.
Type: ControllableComponentCommand
Detector Command¶
Drive a Detector: ignore, clear, or release items.
Runs operations on a Detector. Use Ignore operations to suppress items that were just consumed by another system, such as a drag zone, until the draggable physically leaves range. Clear forces a full reset. Release All Ignored cancels active suppressions.
Type: DetectorCommand
Orchestration / Composition¶
Conditional Process¶
Runs only if all conditions pass.
Checks all conditions before triggering. If any fails, completes immediately without executing the process.
Type: ConditionalProcess
For Each Object¶
Runs commands once for every object in a set.
Pick a set of objects (a detector, a container, a list) and the commands to run. The commands run once per object; inside them, Each Object is that object and Context is still the object of the outer run. Use it when something happens that should be applied to everything currently in the set, rather than to one object arriving or leaving.
Type: ForEachObjectProcess
Process From Component¶
Wraps a Process Component in the scene.
Hands off to a Process Component sitting in the scene. Triggers the launcher and finishes when the launcher does. Use this to plug a scene component's process into a process sequence saved in the Inspector.
Type: ProcessFromComponent
Process List¶
Runs a list of processes sequentially or in parallel.
Sequential: each process starts after the previous one finishes. Parallel: all processes start together and the list finishes when they all do. Retriggering is decided where the whole run starts, not by this list.
Type: ProcessList · Full page
Random Process¶
Randomly selects and executes one process from a list.
Picks one process at random from a weighted list and runs it. Each entry can have a different weight to control probability. Use for random sound effects, varied animations, or procedural variation.
Type: RandomProcess
Selective Parallel¶
Runs processes in parallel with configurable completion rules.
All processes start simultaneously. Only processes marked as 'critical' count towards completion. Non-critical processes (e.g. measurements, visual effects) run alongside without blocking. When all critical processes finish, each non-critical process is handled according to its stop behavior.
Type: SelectiveParallelProcess
Sequencer¶
Plays processes placed on rows with absolute or clip-relative start anchors.
Each clip starts at an absolute time, with another clip's start, or after another clip's end. Open-ended clips (undefined duration) create an undefined zone: nothing can sit at an absolute time inside it, but clips can anchor to the open clip's start or end. The sequencer completes when every clip has completed, then repeats per its loop count. Muted clips keep their place in the schedule but play nothing. Markers fire their process when the clock passes them, without holding the sequencer open.
Type: TimelineProcess
State Process¶
Groups processes into a state with active and pause phases
Groups processes into a state with active and pause phases. The main process runs while active, the pause process runs while paused. Use for managing game states like dragging, hovering, or attacking.
Type: StateProcess
Wait For Cycle End¶
Waits for a cycle to end, then completes.
Subscribes to one cycle when it begins and completes the first time that cycle ends: a Process Component stopping, an attachment point letting go, an object leaving a container. Put it in a parallel Process List next to a Wait to continue only once both a timer and a motion are done.
Type: WaitForCycleEndProcess
Wait For Event¶
Waits for an event to fire, then completes.
Subscribes to one event when it begins and completes when that event fires. Optionally kicks off a starter process at the same time (fire-and-forget). Use this to bridge external completion signals, such as a Local Signal Transmitter raise, a button click, or a value-change event, into a process sequence.
Type: WaitForEventProcess
Orchestration / Targets¶
All At Once¶
Every target starts at the same time.
When the target is several objects, every one of them starts at the same time.
Type: ParallelTargets
Staggered¶
Targets start one after another, with a gap between each.
When the target is several objects, they start one after another in list order, with the gap below between each. The gap is read again as each one starts, so a value that changes over time, counted from the run's start, gives a gap that grows or shrinks. The command finishes once the last one is done.
Type: StaggeredTargets
Orchestration / Timing¶
Cooldown¶
Runs the inner process, then ignores new runs for a while.
Runs the inner process, then refuses to run it again until the cooldown has passed. A run that lands inside the cooldown completes at once and does nothing. Use it to stop a sound or shake from stacking when the trigger fires in bursts.
Type: CooldownProcess
Delayed¶
Waits before running the inner process.
Waits for a set time, then runs the inner process.
Type: DelayedProcess
Repeat¶
Runs the inner process a number of times in a row.
Runs the inner process again each time it finishes, with an optional pause between runs. Set the count to 0 to repeat until something stops it. Use it for a triple flash, a pulsing glow, or a stutter of particle bursts.
Type: RepeatProcess
Scheduled¶
Re-runs the inner process on a schedule.
Runs the inner process each time the schedule ticks (every X seconds, every X frames, …). Runs never overlap: a still-running inner process is left to finish before it is begun again. With a repeating schedule this keeps going until the host stops it.
Type: ScheduledProcess
Wait¶
Waits for a number of seconds, then completes.
Pauses a sequence for a number of seconds, then completes. No work is performed — use this to insert a timed gap between steps.
Type: WaitProcess
Pipeline / Composite¶
All Of (Composite)¶
Stops when every child check agrees.
Combines several stop conditions and only stops the pipeline once all of them are true at the same time. For example, require that the blend finishes and the object is within distance of its destination.
Type: AllOfCompletionCheck
Any Of (Composite)¶
Stops as soon as any child check agrees.
Combines several stop conditions and stops the pipeline as soon as the first one is true. For example, stop when the object is within distance, or after a maximum duration as a safety net.
Type: AnyOfCompletionCheck
Pipeline / Distance¶
Distance Between¶
Stops once two points come within a distance of each other.
Keeps running until point A gets within the distance of point B, then stops. Point A at the object that moves and B at where it should get to. Set a hold time to stop only once A has stayed that close for a while, so a pass that just brushes past does not count. Turn on Invert to stop when they move apart instead.
Type: DistanceBetweenCondition
Distance To Target¶
Stops when close enough to the target at a chosen pipeline stage.
Stops the pipeline when the distance between a pipeline stage value and the destination drops below the threshold. Choose which stage to measure at: raw target output, post-modifier, or applied value.
Type: DistanceCompletionCheck
Transform Distance¶
Stops when position and rotation converge.
Stops the pipeline once both the position distance and the rotation angle (in degrees) drop below their thresholds. Set rotation threshold to 0 to ignore rotation. Position is measured at the stage you pick in Measure Point (after modifiers by default).
Type: TransformDistanceCompletionCheck
Pipeline / Events¶
Event Fired¶
Stops when a specific event is raised
Keeps the process running until a specified event is raised, then stops execution.
Type: EventFiredExecutionCondition
Pipeline / Lifecycle¶
Destination Finished¶
Stops when this target reports it has finished its built-in work.
Stops the pipeline when this target signals it has finished its own work. What that means depends on the target: a blend finishing its last step, a duration elapsing, a curve reaching its end, a sequence visiting its last step, and so on. Follow targets (transform, ray, GameObject position) never finish on their own, so picking this on them is the same as Never Stop. Combine with another check via All Of / Any Of if you also need a fallback.
Type: ProgressionCompleteCheck
Duration¶
Stops after a set duration.
Stops the pipeline after the specified number of seconds have elapsed. Use for timed animations, lerp transitions, or any pipeline that should run for a fixed time.
Type: DurationCompletionCheck
Execute Once¶
Executes once then stops
Runs the process once, then stops it from running again until it's explicitly reset.
Type: ExecuteOnceExecutionCondition
Never Stop¶
Runs indefinitely until stopped externally.
The pipeline runs forever until something else tells it to stop. Use for follow-targets like mouse tracking, where the drag system controls when it ends.
Type: NeverStopCompletionCheck
Never Stop¶
Runs indefinitely until stopped externally
Never stops the process on its own. The host system must stop execution externally.
Type: NeverStopExecutionCondition
While Condition Met¶
Continues while a condition remains valid
Keeps the process running while a referenced Condition stays true, and stops the moment it goes false.
Type: WhileConditionMetExecutionCondition
Pipeline / Time¶
Duration¶
Continues execution for a set duration then stops
Runs the process for a specified number of seconds, then stops automatically.
Type: DurationExecutionCondition
Scenes¶
Load Scene¶
Loads the scene right away.
Loads the linked scene now, blocking until it is in. Single replaces every open scene with this one, Additive adds it on top of what is already loaded. Optionally make it the active scene, so new objects spawn there and its lighting applies. Requires a scene source that supports blocking loads. Build Settings does, Addressables does not, so pair an Addressable scene with Load Scene (Async) instead. Note: Single unloads the scene this command lives in, so put scene-loading logic on an object that survives across scene loads.
Type: LoadSceneOperation
Load Scene (Async)¶
Loads the scene in the background.
Streams the linked scene in without a hitch. Additive adds it on top of what is loaded, Single swaps everything for it. Turn off Allow Scene Activation to pre-load and stop short of switching in. The scene stays inactive and hidden until something turns activation back on, useful for a loading screen. Works with both Build Settings and Addressable scenes.
Type: LoadSceneAsyncOperation
Scene Command¶
Load, unload, or activate a scene.
Drives one linked scene through a list of operations. Drag a scene into the Scene field, then add operations such as Load Scene, Load Scene (Async), Unload Scene, or Set Active Scene. The scene link's Delivery setting decides whether it loads from Build Settings or through Addressables. To act on several scenes, add several Scene Commands.
Type: SceneCommand
Set Active Scene¶
Makes the scene the active one.
Makes the linked scene the active scene: newly created objects go there and its lighting/skybox settings take over. The scene has to be loaded first (use a Load operation before this one).
Type: SetActiveSceneOperation
Unload Scene¶
Unloads the scene.
Unloads the linked scene and frees its objects. Unloading always runs in the background. Keep 'Wait For Completion' on to hold the command until the scene is fully gone; turn it off to start the unload and continue immediately. Works with both Build Settings and Addressable scenes.
Type: UnloadSceneOperation
State¶
State Machine¶
Keyed event-driven state machine with per-state transitions.
Hosts a list of states (each identified by a key) and their outgoing transitions. When a state is entered, its transitions start listening; the first one that fires moves the machine to its target state. No frame-by-frame polling — transitions react to events.
Type: StateMachine · Full page
State Node¶
A state value paired with its outgoing transitions.
One slot in a State Machine: the state itself plus the list of transitions that can move out of it.
Type: StateNode
State Transition¶
A condition + target state pair: when the condition fires the machine transitions to the target state.
Pairs a transition condition with a target state. While the owning state is active the condition listens; when it fires, the State Machine moves to the target state.
Type: StateTransition
State Value¶
A state identified by a key, with its inline state process.
Pairs a key with a state process. The key uniquely identifies this state inside a State Machine; the state process drives whatever runs while the state is active.
Type: StateValue
State / Transitions¶
All Processes Done¶
Transitions once the state's processes finish on their own.
Waits for the state's processes to complete naturally, then triggers the transition. Use for sequences that should advance only when their work is done.
Type: AllProcessesDoneCondition
Composite¶
Combines several transition conditions with AND or OR.
Holds a list of transition conditions. In All mode every child must fire before the transition; in Any mode the first child to fire triggers it.
Type: CompositeTransitionCondition
On Condition¶
Transitions when a Condition becomes valid.
Adapts a regular Condition into a state transition. The condition is checked every frame while the state is active; the first frame it becomes valid, the transition fires.
Type: ConditionAdapter
On Event¶
Transitions when a specific event is raised.
Listens to an Event while the state is active. The first time it raises, the State Machine moves to the transition's target state.
Type: EventTransitionCondition
Wait One Frame¶
Transitions on the frame after the state is entered.
Triggers the transition one frame after the state begins. Useful for chaining states without leaving the machine sitting on an empty state.
Type: WaitOneFrameCondition
General¶
Begin¶
Starts the target Controllable Component.
Starts the target Controllable Component, for example a Process Component, from a command sequence.
Type: BeginControllableComponent
Clear Detected¶
Raise loss events for all detected items and reset ignore state.
Resets the detector so every item counts as freshly detected, even ones still physically present. Unlike Ignore All Detected, items can be re-detected right away.
Type: ClearDetectedOperation
Current Value¶
Holds the value the pipeline started at; modifiers move around it.
Keeps the value where it was when the pipeline began. On its own it changes nothing; add a punch, noise or spring modifier to move around that resting value, and set how long it runs below.
Type: FloatHoldTarget
End¶
Stops the target Controllable Component.
Stops the target Controllable Component, for example a Process Component, from a command sequence.
Type: EndControllableComponent
Ignore All Detected¶
Suppress every currently detected item until each physically leaves range.
Ignores every detected item in one go. Good default when a zone absorbs a dragged object and you want the detector to stay quiet until the object has moved clear of every item still in range.
Type: IgnoreAllDetectedOperation
Ignore GameObject¶
Suppress a specific item resolved from a GameObject until it physically leaves range.
Ignores one specific object. Pass in a GameObject and the detector matches it to the tracked item, then suppresses only that one. Other items in range keep working as normal. Hand it a value that is sometimes empty and nothing is suppressed on those runs.
Type: IgnoreGameObjectOperation
Ignore Last Detected¶
Suppress the most recently added item until it physically leaves range.
A single-item version of Ignore All Detected. Call it right after the event that identified the item, such as drop-begin, before other items have time to enter range.
Type: IgnoreLastDetectedOperation
Release All Ignored¶
Cancel every active ignore flag so suppressed items can be re-detected.
Undoes Ignore operations. Rarely needed, since ignored items already release themselves when they leave range, but useful for manual resets.
Type: ReleaseAllIgnoredOperation
Set Enabled Component Operation¶
Set Enabled
Turns the target component on or off.
Type: SetEnabledComponentOperation
Set Enabled For Duration¶
Turns the target on or off, holds it for a duration, then reverts.
Turns the target on or off, waits the given duration, then optionally puts it back the way it was.
Type: SetEnabledForDurationComponentOperation