A list of all Actions, Conditions and Expressions supported in this addon.
Mesh
-
Actions
Disable mesh deform
Stop deforming the host mesh until re-enabled.
Enable mesh deform
Resume writing the visibility polygon to the host mesh.
Reset mesh
Restore the mesh to a flat state and disable deformation.
Set mesh pin origin to {0}, {1}
Move the mesh fan origin in normalized host space.
Performance
-
Actions
Limit obstacle candidates to {0} (0 = unlimited)
Cap the number of obstacle instances tested each rebuild. Candidates are the first N collected by the active obstacle mode. 0 means unlimited. Reduces raycasting cost in dense scenes at the cost of accuracy.
Set mesh stagger mode to {0}
Switch the mesh stagger strategy. 'Stable' writes the mesh only on the scheduled interval frame. 'Hybrid' also writes whenever the vision polygon refreshes mid-interval.
Set mesh update interval to {0} frame(s)
Set how many frames to skip between mesh writes. 0 = every frame, 1 = skip 1 frame, 2 = skip 2 frames.
Set mesh update interval to {0} second(s)
Set a time-based interval (in seconds) between mesh writes. Overrides the frame-based interval while active. Set to 0 to revert to frame-based mode.
Rebuild vision every {0} frame(s)
Rebuild the visibility polygon only once every N frames, regardless of stagger mode. 0 or 1 disables skipping (existing stagger rules apply). 2+ skips Nā1 frames between rebuilds. Useful for background or off-screen emitters.
-
Conditions
On raycast took longer than {0} ms
Triggered after every vision rebuild in which the raycast took longer than the given threshold. Use LastRaycastMs to read the exact duration. Pair with SetRayDensity or SetRaycastSkipRate to reduce cost adaptively.
-
Expressions
ActiveMeshStaggerMode
Current mesh stagger mode key: "stable" or "hybrid".
ActiveMeshUpdateInterval
Current number of frames skipped between mesh writes (0 = every frame).
ActiveMeshUpdateIntervalTime
Current time-based mesh write interval in seconds. Returns 0 when frame-based mode is active.
ActiveRaycastSkipRate
Current raycast skip rate ā frames between vision rebuilds (0 or 1 = no skip).
LastRaycastMs
Time in milliseconds spent rebuilding the visibility polygon on the most recent update. Use with On raycast budget exceeded or poll each tick to drive adaptive quality.
ObstacleCandidateCount
Number of obstacle instances that were considered in the most recent vision rebuild. Reflects any active candidate cap.
Setup
-
Actions
Add {0} as an obstacle object
Register an object type for custom object obstacle mode.
Add obstacle tag {0}
Add obstacle tags in tag mode. Use commas to add multiple tags.
Clear all obstacle objects
Remove every registered custom obstacle object type.
Remove {0} from obstacle objects
Unregister an object type from custom object obstacle mode.
Remove obstacle tag {0}
Remove obstacle tags from the active obstacle tag set. Use commas to remove multiple tags.
Set cone of view to {0} degrees
The angle range in degrees relative to the object angle that line-of-sight can cover.
Set facing angle offset to {0}
Set the cone angle offset relative to the host object.
Set obstacle mode to {0}
Switch how obstacle candidates are collected.
Set obstacle tag to {0}
Set active obstacle tags in tag mode. Use commas to provide multiple tags.
Set range to {0}
The maximum distance in pixels that line-of-sight can cover.
Set ray count to {0}
Set the number of primary rays cast each update.
Set ray density to {0}%
Set the ray density as a percentage (1-100). 100% = 1 ray per degree of cone angle. Recalculates on next tick.
State
-
Actions
Set enabled to {0}
Enable or disable the Simple Vision Cast behavior. When disabled, raycasting and mesh updates are paused.
-
Conditions
Has obstacle object {0}
Check whether an object type is registered as a custom obstacle.
Has obstacle tag {0}
Check whether a tag is in the active obstacle tag set.
Is enabled
True when the Simple Vision Cast behavior is currently enabled.
Is mesh deform enabled
True when polygon data is currently written to the host mesh.
Obstacle mode is {0}
Check whether a given obstacle mode is currently active.
On obstacle mode changed
Triggered after the active obstacle mode changes.
On obstacle tag changed
Triggered after the primary obstacle tag changes in tag mode.
-
Expressions
ActiveConeOfView
The angle range in degrees relative to the object angle that line-of-sight can cover.
ActiveFacingAngle
Current facing angle offset in degrees.
ActiveObstacleMode
Current obstacle mode key.
ActiveObstacleTag
Current primary obstacle tag, or an empty string outside tag mode.
ARange
The maximum distance in pixels that line-of-sight can cover.
CountObstacleObjects
Number of registered custom obstacle object types.
Visibility
-
Conditions
Point {0}, {1} is in visibility
Check whether a world-space point is inside the current visibility polygon.
On mesh not ready
Triggered when mesh deformation is enabled but no writable mesh is found.
On polygon updated
Triggered after the visibility polygon is recomputed.
-
Expressions
CountPolyPoints
Number of points in the current visibility polygon.
GetPolyHitUID
UID hit by a visibility polygon point, or -1 if unobstructed.
GetPolyPointAngle
Angle in degrees of a visibility polygon point.
GetPolyPointDist
Distance from the origin to a visibility polygon point.
GetPolyPointX
World X of a visibility polygon point.
GetPolyPointY
World Y of a visibility polygon point.
LastPolygonUpdateTime
Runtime timestamp of the most recent polygon update.
PolygonArea
Approximate area of the current visibility polygon.