Values, Conditions and Filters¶
Picker entries from Jungle Core. Grouped by the category the picker shows them under.
Asset¶
Bool List Asset¶
Shared asset editable in the Project window.
Asset that stores a shared list of yes/no values, editable in the Project window.
Type: BoolListValueAsset · Full page
Bool List From Asset¶
Provided by a shared asset.
Reads a list of yes/no values from a shared Bool List Value asset.
Type: BoolListValueFromAsset
Bool Value Asset¶
Shared asset editable in the Project window.
Asset that stores a shared yes/no value, editable in the Project window. Reactors and transformers can subscribe to changes.
Type: BoolValueAsset · Full page
Bool Value From Asset¶
Provided by a shared asset.
Reads a yes/no value from a shared Bool Value asset. Reactors can subscribe to value changes.
Type: BoolValueFromAsset
Double List Asset¶
Shared asset editable in the Project window.
Asset that stores a shared list of numbers, editable in the Project window.
Type: DoubleListValueAsset · Full page
Double List From Asset¶
Provided by a shared asset.
Reads a list of numbers from a shared Double List Value asset.
Type: DoubleListValueFromAsset
Double Value Asset¶
Shared asset editable in the Project window.
Asset that stores a shared number, editable in the Project window.
Type: DoubleValueAsset · Full page
Double Value From Asset¶
Provided by a shared asset.
Reads a number from a shared Double Value asset.
Type: DoubleValueFromAsset
Float List Asset¶
Shared asset editable in the Project window.
Asset that stores a shared list of numbers, editable in the Project window.
Type: FloatListValueAsset · Full page
Float List From Asset¶
Provided by a shared asset.
Reads a list of numbers from a shared Float List Value asset.
Type: FloatListValueFromAsset
Float Value Asset¶
Shared asset editable in the Project window.
Asset that stores a shared number, editable in the Project window. Reactors and transformers can subscribe to changes.
Type: FloatValueAsset · Full page
Float Value From Asset¶
Provided by a shared ScriptableObject.
Reads a number from a shared Float Value asset. Reactors can subscribe to value changes.
Type: FloatValueFromAsset
GameObject Value Asset¶
Shared asset editable in the Project window.
Asset that stores a shared GameObject link. Reactors and transformers can subscribe to changes.
Type: GameObjectValueAsset · Full page
GameObject Value From Asset¶
Provided by a shared asset.
Reads a GameObject from a shared GameObject Value asset. Reactors can subscribe to value changes.
Type: GameObjectValueFromAsset
Int List Asset¶
Shared asset editable in the Project window.
Asset that stores a shared list of whole numbers, editable in the Project window.
Type: IntListValueAsset · Full page
Int List From Asset¶
Provided by a shared asset.
Reads a list of whole numbers from a shared Int List Value asset.
Type: IntListValueFromAsset
Int Value Asset¶
Shared asset editable in the Project window.
Asset that stores a shared whole number, editable in the Project window. Reactors and transformers can subscribe to changes.
Type: IntValueAsset · Full page
Int Value From Asset¶
Provided by a shared asset.
Reads a whole number from a shared Int Value asset. Reactors can subscribe to value changes.
Type: IntValueFromAsset
Long List Asset¶
Shared asset editable in the Project window.
Asset that stores a shared list of whole numbers (large range), editable in the Project window.
Type: LongListValueAsset · Full page
Long List From Asset¶
Provided by a shared asset.
Reads a list of whole numbers from a shared Long List Value asset.
Type: LongListValueFromAsset
Long Value Asset¶
Shared asset editable in the Project window.
Asset that stores a shared whole number (large range), editable in the Project window.
Type: LongValueAsset · Full page
Long Value From Asset¶
Provided by a shared asset.
Reads a whole number from a shared Long Value asset.
Type: LongValueFromAsset
String List Asset¶
Shared asset editable in the Project window.
Asset that stores a shared list of text values, editable in the Project window.
Type: StringListValueAsset · Full page
String List From Asset¶
Provided by a shared asset.
Reads a list of text values from a shared String List Value asset.
Type: StringListValueFromAsset
String Value Asset¶
Shared asset editable in the Project window.
Asset that stores a shared piece of text, editable in the Project window.
Type: StringValueAsset · Full page
String Value From Asset¶
Provided by a shared asset.
Reads text from a shared String Value asset.
Type: StringValueFromAsset
Combinatory¶
Combinatory¶
Merges results from multiple lookup strategies.
Runs multiple lookup strategies and merges their results into a single deduplicated set.
Type: CombinatoryLookupStrategy
Container¶
All In Container¶
All GameObjects currently held in a container.
All GameObjects currently available in a container. Pick the container directly, or read it from a shared Container Value asset so a prefab can reach a container in the scene. Reactors can subscribe to add/remove events.
Type: GameObjectsInContainer
First In Container¶
First GameObject currently held in a container.
Returns the first GameObject currently available in a referenced container. Reactors can subscribe to changes. Writing to it (from a Write GameObject operation, for example) replaces that first object, which makes a container a place to keep an object you found once and reuse.
Type: GameObjectFirstInContainer
From Container¶
GameObject picked from a container (first, last, or random).
Picks a GameObject from a container's available objects using a configurable selection mode (first, last, or random). Reactors can subscribe to changes.
Type: GameObjectFromContainer
Last Added To Container¶
GameObject most recently added to a container.
Returns the GameObject most recently added to a referenced container. Reactors can subscribe to changes.
Type: GameObjectLastAddedToContainer
Last In Container¶
Last GameObject currently held in a container.
Returns the last GameObject currently available in a referenced container. Reactors can subscribe to changes.
Type: GameObjectLastInContainer
Last Removed From Container¶
GameObject most recently removed from a container.
The GameObject most recently removed from a container. Reactors can subscribe to changes.
Type: GameObjectLastRemovedFromContainer
Containers¶
Container Condition¶
Evaluates a check against an item container.
Checks a container's state (empty, full, item count, contains a specific object, …).
Type: ContainerCondition
Contains GameObject¶
True when the container holds a specific GameObject (or owns a component on it).
Passes when the looked-up GameObject (or any component sitting on it) is in the container.
Type: ContainsGameObjectContainerCheck
Is Empty¶
True when the container holds no items.
Passes when the container holds no items.
Type: IsEmptyContainerCheck
Is Full¶
True when a bounded container has reached its capacity.
Passes when the container has a set capacity and is holding that many items. Containers with no capacity limit never pass.
Type: IsFullContainerCheck
Item Count¶
Compares the container's item count against a value.
Passes when the container's item count matches the chosen comparison against a target number.
Type: ItemCountContainerCheck
Context¶
Filtered Object¶
The object the enclosing filter is currently checking.
Resolves to whichever object the surrounding filter is currently testing. Drop it into a filter's value slots — for example to read the bounds, position, or components of the object being filtered. Outside a filter context it returns nothing.
Type: FilteredObject
Data¶
Bool Value Condition¶
Checks a bool value against what you expect.
Passes when the bool value matches what you're checking it against.
Type: BoolValueCondition
Double Value Condition¶
Checks a number against a comparison.
Passes when a number matches the comparison against another number, with a tolerance for equality checks.
Type: DoubleValueCondition
Float Value Condition¶
Checks a number against a comparison.
Passes when a number matches the comparison against another number, with a tolerance for equality checks.
Type: FloatValueCondition
Int Value Condition¶
Checks a number against a comparison.
Passes when a number matches the comparison against another number.
Type: IntValueCondition
Detection¶
Any Detected Matches¶
True when at least one detected GameObject passes the inner filter.
Passes when at least one of the detector's currently detected objects passes the GameObject filter.
Type: AnyDetectedMatchesDetectorCheck
Combinatory¶
Merges detections from multiple strategies.
Combines detections from multiple inner detection strategies into a single merged stream.
Type: CombinatoryDetectionStrategy
Contains GameObject¶
True when the detector currently contains a specific GameObject.
Passes when the looked-up GameObject is currently being detected by the Detector.
Type: ContainsGameObjectDetectorCheck
Detected Count¶
Compares the detector's detected count against a value.
Passes when the number of detected objects matches the chosen comparison against a target number.
Type: DetectedCountDetectorCheck
Detector Condition¶
Evaluates a check against a detector.
Queries a Detector (has any detection, detected count, contains specific object, …).
Type: DetectorCondition
Has Any Detection¶
True when the detector has at least one detected object.
Passes while the detector is detecting at least one object.
Type: HasDetectionsDetectorCheck
Last Detected Matches¶
Evaluates a check on the detector's most recently detected GameObject.
Passes when the most recently detected object exists and passes the GameObject filter.
Type: LastDetectedMatchesDetectorCheck
Not Just Rejected¶
Hides an object briefly after the detector loses it.
After the detector drops an object, this filter keeps hiding it for a short window. As long as the detector keeps looking at it, the hide stays in place. Once it leaves and stays away long enough, it's allowed back. Use to stop a slot from re-lighting the moment another filter that was blocking it relaxes.
Type: NotJustRejectedFilter
Not Rejected Until Other Seen¶
Hides a dropped object until a different object is seen by the detector.
After the detector loses an object, this filter keeps hiding it, even if its other conditions become valid again, until a different object shows up. Pick whether 'shows up' means 'any object the detector looks at' or 'only objects that pass the full filter chain'. Works correctly no matter where it sits in the filter list.
Type: NotRejectedUntilOtherSeenFilter
Proxy¶
Relays detections from another detector.
Forwards detection events from a single source detector. The host detector's filters decide what to keep.
Type: ProxyDetectionStrategy
Detector¶
All Detected¶
All GameObjects currently detected by a detector.
All GameObjects currently detected by a detector. Reactors can subscribe to add/remove events.
Type: GameObjectsFromDetector
From Detector¶
GameObject picked from a detector (first, last, or random).
Picks a GameObject from a Detector's currently detected objects using a configurable selection mode (first, last, or random). Add filters to narrow it down to the ones you actually want, and turn on Keep The Same Pick so a destination stays put once chosen instead of changing while something travels towards it. Reactors can subscribe to changes.
Type: GameObjectFromDetector
Last Detected¶
GameObject most recently detected by a detector.
Provides the GameObject most recently detected by a referenced Detector. Reactors can subscribe to changes.
Type: GameObjectLastDetected
Last Removed From Detector¶
GameObject most recently lost by a detector.
The GameObject most recently lost by a detector. Reactors can subscribe to changes.
Type: GameObjectLastRemovedFromDetector
Hierarchy¶
Hierarchy¶
Finds components in any combination of Self, Children, Parents.
Looks for components on the GameObject's hierarchy. Scope flags select where to search (Self, Children, Parents). Child Depth controls direct vs recursive child traversal. Mode picks the first match or every match.
Type: HierarchyLookupStrategy
Tagged Child¶
Finds components on descendants carrying a Jungle tag.
Walks the descendants of the source GameObject and returns components found on those whose Tagger carries the required tag. The source object itself never matches, so this resolves a specific tagged child, such as a hover label or a hologram, of whatever object a dynamic value provides, for example the object a detector currently sees.
Type: TaggedChildLookupStrategy
Input¶
Accumulated Input Axis¶
Adds an input axis up over time into a value.
Turns an axis into a value that keeps growing while the input moves: drag the mouse to turn a camera, scroll to zoom. Per Second scales by frame time for sticks and keys; turn it off for mouse and scroll deltas. Only While gates it, for example on the right mouse button. Clamp stops at the limits, Wrap loops around them (360 for an angle), None runs free. Plug it straight into an orbit target or an offset.
Type: InputAxisAccumulatedValue
Input Action¶
Reads an Input System action as a number (trigger, grip, stick axis).
Reads how far an input is pushed right now: 0 when a VR trigger or grip is released, 1 when fully squeezed, or a stick's position. Pick an action from an Input Actions asset, or type the binding in directly, such as <XRController>{RightHand}/{Trigger}. Buttons read 0 or 1. Requires the Input System package.
Type: InputActionValue
Input Axis¶
Reads a named input axis (Horizontal, Mouse X, Mouse ScrollWheel, ...).
Reads one of Unity's input axes by name, like Horizontal, Vertical, Mouse X, Mouse Y or Mouse ScrollWheel. Raw skips Unity's smoothing so the value reacts instantly. Scale multiplies the result, handy as a sensitivity setting; a negative Scale inverts the axis.
Type: InputAxisValue
Key Held¶
True while a key or mouse button is held down.
True while the chosen key or mouse button is held down, false otherwise. Mouse buttons work too: Mouse0 is left, Mouse1 is right, Mouse2 is middle. Use it to gate things that should only happen while a button stays pressed, like orbiting a camera while the right mouse button is held.
Type: KeyHeldValue
Modifier Held¶
True while Shift, Control (Command on macOS) or Alt is held, either side.
Checks the modifier keys, left or right. Control means Command on macOS, the same as Unity's own shortcuts. Any passes when at least one of the chosen keys is held, All when every one is, None when none of them is. For click selection: Shift adds, Control toggles, and None of Shift or Control replaces.
Type: ModifierKeyHeldValue
Logic¶
Combinatory Condition¶
Groups conditions with logic operators.
Passes when the sub-conditions satisfy the chosen rule: And, Or, Xor, Nand, or Nor.
Type: CombinatoryCondition
Conditional¶
The first object source whose conditions all pass.
Picks between object sources by condition, in order: the first entry whose conditions all pass wins, and the fallback answers when none of them does. Use it when the same choice is made from several places, so the rule lives here instead of being repeated.
Type: ConditionalGameObjectValue
External Condition¶
Reads its result from another component or asset that exposes a yes/no condition.
Passes when that external component or asset says yes.
Type: ExternalCondition
Random Condition¶
Passes randomly, based on a probability you set.
Passes randomly, based on a probability between 0 and 1.
Type: RandomCondition
Lookup¶
Closest¶
The object of a set nearest to a position, within an optional distance.
Picks, from a set of objects, the one nearest to a position you choose, for example the hand slot closest to where the cursor drags a card. Set a maximum distance to get nothing at all when every object is too far away; leave it at 0 to always get the nearest one. Set Prefer Up Along to also favour objects turned a given way, such as the grip marker on a sushi that faces the hand reaching for it, and a Max Turn Angle to skip the ones turned too far away.
Type: ClosestGameObject
GameObject At Index¶
Picks one GameObject from a set by index (wraps around).
Selects one GameObject from a set (a container, a detector, or a fixed list) using an index. The index loops: stepping past the last element comes back to the first, and stepping before the first goes to the last. Drive the index from a counter to rotate focus left/right through the set.
Type: GameObjectAtIndex
Indexed Object¶
Picks one object from a set by index.
Returns the object at Index from a set. The set defaults to a list, but can be a tag search or any other multi-object source. The index loops, so a stepping counter walks the set. Use it to select the active panel, camera or spawn point from a counter.
Type: IndexedGameObjectValue
Object Count¶
How many objects a set currently holds.
Counts the objects in a set: a tag search, a detector, a container or a list. When the set is live the count is too, so thresholds and tiers can watch it directly. Replaces increment-on-add and decrement-on-remove counters kept in a data store.
Type: ObjectCountValue
Value At Index¶
Picks one entry from a list by index.
Selects a value from a serialized array using an integer index source, wrapping around on overflow.
Type: ValueAtIndex
Math / Float¶
Indexed Float¶
Picks one of several numbers by index.
Lists several numbers and returns the one at Index. The index loops, so stepping past the last option returns to the first. Drive Index from a counter to switch between authored values without a reaction per value.
Type: IndexedFloatValue
Percent¶
Stores a number between 0 and 1.
A number between 0 and 1, useful for percentages.
Type: FloatPercent
Objects¶
Active¶
Checks whether the GameObject is active in the hierarchy.
Passes when the GameObject is active. Check just this object, or its whole hierarchy.
Type: ActiveCondition
Child Count¶
Checks the GameObject's child count against a value.
Passes when the GameObject's child count matches the comparison against a target number.
Type: ChildCountCondition
Component Condition¶
Evaluates a check against a Component.
Checks a Component reference (is enabled, is active-and-enabled, …).
Type: ComponentCondition
GameObject Condition¶
Evaluates a check against a target GameObject.
Looks up a GameObject and runs a check against it (Is Active, Name, Tag, Layer, Has Component, Parent, and more).
Type: GameObjectCondition · Full page
In GameObject List¶
Checks if the GameObject is one of the objects in a set.
Passes when the GameObject being checked is one of the objects in the set. The set defaults to a list you fill in, but can be a container, a detector, or a search like 'every object with a tag'.
Type: GameObjectInListCondition
Is Active And Enabled¶
True when a Behaviour is enabled and its GameObject is active in hierarchy.
Passes when the component is enabled and its GameObject is active in the hierarchy. Components that aren't Behaviours just check the GameObject's active state.
Type: IsActiveAndEnabledComponentCheck
Is Enabled¶
True when a Behaviour (or Collider/Renderer) is enabled.
Passes when the component's enabled checkbox is on. Works with scripts, Colliders, and Renderers. Components that can't be toggled always pass.
Type: IsEnabledComponentCheck
Layer¶
Checks whether the GameObject is on a specific layer.
Passes when the GameObject is on the specified layer.
Type: LayerCondition
Layer Mask¶
Checks whether the GameObject's layer is in a LayerMask.
Passes when the GameObject's layer is included in the specified LayerMask.
Type: LayerMaskCondition
Name¶
Checks the GameObject's name (exact or contains).
Passes when the GameObject's name matches a string using equals, contains, starts-with, or ends-with.
Type: NameCondition
On Parent¶
Evaluates inner filters against the parent GameObject.
Redirects inner filters to the parent of the detected GameObject. Fails if the object has no parent.
Type: OnParentFilter
Parent¶
Checks the GameObject's relationship to its parent.
Passes when the GameObject's parent relationship matches the chosen check (has parent, is root, specific parent, parent tag, or parent name).
Type: ParentCondition
Static¶
Checks whether the GameObject is marked as static.
Passes when the GameObject is marked as static.
Type: StaticCondition
Tag¶
Matches tags on the object's Tagger (Jungle tags, not Unity's).
Passes when the GameObject's Tagger has the required tags. Pick the match rule: All tags must match, Any one is enough, exactly One, or AnyExcept (none of these may match).
These are JUNGLE tags, listed on a Tagger component, several per object. Unity's built-in tag (the Inspector Tag dropdown, one string per object) is a different system: use the 'Unity Tag Filter' for that. An object with no Tagger matches only the AnyExcept rule.
Empty slots in the list are ignored. A list with nothing but empty slots counts as no rule at all, so every GameObject passes and an error names the problem.
Type: JungleTagFilter · Full page
Unity Tag Filter¶
Matches Unity's built-in tag (the Inspector Tag dropdown), not a Jungle Tagger.
Passes when the GameObject carries the specified UNITY tag, the one from the Inspector's Tag dropdown, compared with CompareTag. This is Unity's tag system: one tag per object, chosen from the project's tag list.
For Jungle's own tags, use the 'Tag' filter instead, it reads Key assets from a Tagger component and supports multiple tags per object with All / Any / One / AnyExcept rules. The two systems are independent and do not see each other.
Type: TagCondition
Within Distance¶
Passes when the object is close enough to a reference object.
Passes objects that are within a set distance of a reference object. Use for interaction ranges: only let a character grab or drop things that are near it. Turn on 'Ignore Height' to measure distance on the ground plane only.
Type: WithinDistanceFilter
Orchestration¶
Condition¶
Passes every object while the conditions hold.
Passes or blocks every object based on conditions that have nothing to do with the object itself: a key being held, a value in Data Storage, a timer. All conditions must pass. Use it to switch a whole filter list on or off from scene state, for example to stop the normal grab while a modifier key is down. Leave the list empty to pass everything.
Type: ConditionFilter · Full page
Physics¶
Has Rigidbody¶
Passes when the object has a Rigidbody component.
Checks whether the object has a Rigidbody attached. Invert to match objects without one (pure static colliders).
Type: HasRigidbodyFilter
Kinematic / Dynamic¶
Whether the Rigidbody is kinematic or dynamic.
Passes when the Rigidbody matches the selected mode. Kinematic accepts only kinematic bodies (script-driven, ignores physics forces); Dynamic accepts only dynamic bodies (driven by physics forces and collisions).
Type: KinematicCheck
Rigidbody Filter¶
Resolves a Rigidbody on the candidate and runs typed checks against it.
Looks for a Rigidbody on the candidate (using the lookup strategy) and passes when every check passes. Add checks for kinematic state, mass, drag, and so on — each check only sees the resolved Rigidbody, so picker options stay scoped to what's relevant. Empty checks list = pass as long as a Rigidbody is found.
Type: RigidbodyFilterGroup
Reference¶
From Component Reference¶
Uses a direct serialized component reference.
Uses a directly assigned component reference, bypassing any runtime lookup.
Type: FromComponentReferenceStrategy
Tag Mapped¶
Picks a component from a tag-to-component table by the source object's tag.
Reads the Tagger on the source GameObject and returns the component paired with the first tag it carries, in table order. Use it when several kinds of object flow through one command and each kind needs its own receiver, for example a smelter spawning a different bar per ore. Untagged sources, and tags missing from the table, resolve to nothing.
Type: TagMappedLookupStrategy
Scene¶
All In Scene¶
Every GameObject in the loaded scene(s).
Returns every object in the scene. This is a heavy scan, meant for setup only, so it resolves once on first use by default. Searching again later logs a warning. Turn on Re-evaluate Every Time only if objects are created or destroyed and you need the set kept current. Use it as the root of a From Selection and add a tag filter to narrow it to 'every object with a tag'.
Type: GameObjectsInScene
Scene Object¶
One scene object by stable id. The link survives scene unloads and works from assets.
Points at one scene object through its Scene Object Id component, so the link survives scene unloads and can live inside assets (presets, timelines). Drag any scene object in. It receives a stable id automatically. Resolves to the object while its scene is loaded, and to nothing while it is not; it never loads the scene itself. Put a Load Scene operation earlier in the sequence when the scene may be closed.
Type: SceneObjectValue
Scene Objects With Tag¶
Searches the whole scene for every active object whose Tagger matches the tags.
Searches the whole scene for every active object carrying a matching tag, again on every frame it is read. That is costly, so use it at setup only: find the object once (a Write GameObject on start, or a target set to Copied On Init) and reuse it. Searching again on a later frame logs a warning. Pick the tags and how they must match: All (every tag), Any (at least one), exactly One, or AnyExcept (a tagged object that has none of them).
Type: GameObjectsWithTag
Selection¶
Ancestor Under¶
The parent, grandparent or further up of an object that sits directly under a root, such as the first bone of a tentacle.
Walks up from an object until it reaches the one sitting directly under Root, and gives that one. Every bone of a tentacle gives the tentacle's first bone, so values tied to it stay the same along the whole tentacle. An object sitting directly under Root gives itself. Gives nothing when the object is not below Root.
Type: AncestorUnderValue
Children Of¶
The objects below a start object, such as a chain of bones.
Lists the objects below a start object, so you don't drag every bone in by hand. Chain follows the first child down, which walks one bone chain. Direct takes the start object's own children. Whole Tree takes everything below it. Max Count stops after that many objects; 0 goes to the end.
Type: GameObjectsUnder
Find Related Object¶
Finds objects reached via a lookup strategy (hierarchy walk, component reference, …).
Follows the chosen lookup from the candidate and returns each object found. Use Hierarchy lookup to walk to children or parents, From Component Reference to jump to a fixed object, or a domain-specific strategy (like attachable owner) to redirect.
Type: FindRelated
From Selection¶
Objects found by running a selection chain from a root.
Finds objects by searching out from a starting object. Pick the root, then add selection steps — walk to children or parents, keep only objects with a tag, and so on — to build sets like 'every child of X tagged Pickup'. The search runs once by default; turn on Re-evaluate Every Time if the matching set changes while playing.
Type: GameObjectsFromSelection
Sequence¶
Runs selection steps in order, feeding each step's output into the next.
Chains selection steps. The candidate enters the first step; each step's output becomes the next step's input. Use to compose 'expand then filter' patterns like 'children that have a Rigidbody'.
Type: SelectionSequence
Union¶
Runs several selection steps on the candidate and merges their results (no duplicates).
Runs each step on the same candidate and combines what they find into one set, dropping duplicates. Use when an object can be reached more than one way, e.g. 'children OR parents that have a Rigidbody'.
Type: SelectionUnion
Walk Hierarchy¶
Returns the candidate's Self, Children, or Parents.
Broadens the candidate into objects from its hierarchy. Pick Self, Children, Parents (or combinations). For children, choose Direct or Recursive depth. Combine with filters in a Sequence to express things like 'children with Rigidbody' or 'parents with a Point of Interest'.
Type: HierarchyExpand
Self¶
Self¶
Finds the component on this GameObject only.
Looks for the component on the same GameObject. Does not walk into children or up to parents.
Type: SelfLookupStrategy
Spatial¶
Indexed Vector3¶
Picks one of several vectors by index.
Lists several vectors and returns the one at Index. The index loops, so stepping past the last option returns to the first. Four rotations plus a wrapping counter give a rotate-held-piece key with no reaction per facing.
Type: IndexedVector3Value
Position And Facing¶
A position and a facing, each typed in or read from its own source.
Builds a position and a facing from two separate values. Each one can be typed in or read from anywhere, for example one object's position with another object's facing.
Type: OrientedPositionFromParts
Spatial / Transform¶
Object Position And Facing¶
Where an object is and which way it faces, in world space.
Reads where an object is and which way it faces, both at once, in world space.
Type: GameObjectOrientedPosition
Time¶
Float At Speed¶
Counts up or down at a steady speed, with optional limits.
Starts at Start and moves by Speed every second, down if Speed is negative. Clamp stops at the limits, Wrap jumps back to Min after Max (360 for an angle), Ping Pong turns around at each limit, None runs free. Its Clock decides when the count starts again. Changing Speed while it runs rescales the whole count, so use Float Over Time to blend between two values instead.
Type: FloatAtSpeedValue
Game Time¶
Seconds since the game started.
The current game time in seconds, multiplied by Scale. Store it in a number when something happens, then give that number to a clock's Stored Time to count from that moment; keep Scale at 1 for that. Raise Scale to make something driven by it run faster, 2 runs twice as fast.
Type: GameTimeValue
Time Since Start¶
Seconds since this pipeline, this run or a stored time began.
Counts up from 0 every time its start comes round again. Pipeline restarts each time the pipeline reading it begins, including each repeat. Run restarts when the cycle or event fires. Stored Time counts from a time you stored when something happened. Put a curve on it to ramp something up from the start. Pipeline and Run read 0 outside a running process.
Type: TimeSinceStartValue
General¶
Asset Reference¶
References a ScriptableObject that provides a value.
Reads a value from an asset that itself acts as the value (the asset and the value are the same thing).
Type: ScriptableObjectReference
Bool Value¶
Stores a yes/no value directly on this component.
A yes/no value you set directly on this component.
Type: BoolValue
Component Reference¶
References a component that provides a value.
Gets a value directly from a referenced component.
Type: ComponentReference
Container¶
A container component in the scene or a shared container asset.
Points at a container: a GameObject List Container on an object, or a GameObject Container asset shared across scenes.
Type: GameObjectContainerValue
Context¶
The object this run is about. The object that entered the detector, cycle, or zone that started this process.
Resolves to the object this run of the process is about. Use it inside processes started per object — a detector's On Added / On Removed, a GameObject or Exclusive reaction, a cycle reaction, or an effect zone. Each run carries its own context, so the same process acts on the right object even when many objects are handled at the same time. In a Process Component's process it is the object the component sits on. Inside a Spawn or For Each, Context stays the outer object; the object being spawned or visited is Each Object. Inside a command, the object the command is acting on is Target. Outside such a run it resolves to nothing.
Type: ContextObjectValue
Detector¶
Use a detector's currently-detected objects as a source.
Wraps a Detector and exposes its current detection set as a GameObject source.
Type: DetectorSourceValue
Double Value¶
Stores a number directly on this component.
A number you set directly on this component.
Type: DoubleValue
Each Object¶
The object this step is handling: the one just spawned, or the one For Each is visiting.
The object this step is handling: the object just spawned by Spawn, or the object For Each or List Match is visiting. Context still means the outer object (the detected item, the reaction's object), so a step can act on Each Object and use Context at the same time, for example to place a spawned ring on the detected item. Outside a Spawn or For Each it resolves to nothing.
Type: EachObjectValue
Float Value¶
Stores a number directly on this component.
A number you set directly on this component.
Type: FloatValue
GameObject List¶
Several objects, each picked its own way. Drag objects onto the list to add them.
A list of objects, in order. Each entry is picked its own way: a direct reference, the context, a container, a detector, a tag search. Drag several objects onto the list to add one entry per object. Reactors update when any entry changes.
Type: CombinedGameObjects
GameObject Value¶
Stores a GameObject reference directly on the owner.
A GameObject reference set directly on the component.
Type: GameObjectValue
Int Value¶
Stores a number directly on this component.
A number you set directly on this component.
Type: IntValue
Local Array Value¶
Exposes items from a serialized array on the owner.
Stores an inline array of values and exposes the first element as the primary value.
Type: LocalArrayValue
Long Value¶
Stores a whole number directly on this component.
A whole number you set directly on this component.
Type: LongValue
Scene Value¶
Links a scene asset directly on the owner.
Stores a single scene link inline. Drag a scene from the Project window into the field. The link keeps working in builds as long as the scene is added to Build Settings.
Type: SceneValue
String Value¶
Stores text directly on this component.
Text you set directly on this component.
Type: StringValue
Target¶
The object this command is acting on: one of the objects its Target field picks.
The object this command is acting on right now. When the command's Target picks several objects, each one runs the operations separately, and Target is the one being handled, not the whole set. For a command acting on a component, it is that component's object. Context still means the object the run is about, and Each Object the one a Spawn or For Each is handling, so a step can use all three. Outside a command it resolves to nothing.
Type: TargetObjectValue
Value From Asset¶
Reads a value provided by a ScriptableObject asset.
Reads and writes a value through a Value asset, so multiple objects can share the same data.
Type: ValueFromAsset