The Environment Query System Node Reference

This is a quick reference for the Nodes and Tests available in the Environment Query Editor.

Generators

Actors of Class

Finds all of the Actors of a class within the Search Radius around the Search Center. The Actors are returned as the Items to be used in the tests.

gen_actor.png

gen_actor_props.png

Property spacer.png Description
Search Radius The max distance to look for the desired Actors.
Searched Actor Class The Class of the Actor to look for (Pawn, Character, etc...)
Search Center The context to center the search on, such as from the Querier or perhaps some other context.

On circle

Radiates traces out from the Circle Center, returning the hits on the edge of the radius (of the generated Circle) as Items.

gen_circle.png

gen_circle_props.png

Property spacer.png Description
Circle Radius The radius of the circle that will expand out from the Circle Center.
Space Between The space (in cm) between the items generated on the outer edge of the circle.
Arc Direction This will enable the use of the Arc Direction feature which will enable you to focus the arc in a direction based either on a rotation of a context or the vector formed between to locations.
Arc Angle The angle of the arc measured in degrees.
Circle Center The context used as the center for the circle.
Trace Data The type of trace to use.
Projection Data If the resulting items should be projected onto the NavMesh (and which NavMesh data set to use).

Pathing Grid

Like Grid, but this paths to different points on the NavMesh, only returning Items that are less than or equal to the Max Distance away.

gen_pathing.png

gen_pathing_props.png

Property spacer.png Description
Max Distance How far to path away from the Querier.
Distance Between The distance between the generated items.
Path to Item Whether to path to or from the item.
Generate Around The context to generate the pathing grid around.
Navigation Filter The Navigation Filter to use.

Simple Grid

Generates a grid of Items around the Querier.

gen_grid.png

gen_grid_props.png

Property spacer.png Description
Grid Size The height and width of the grid of Items to generate.
Space Between The distance between the grid Items.
Generated Around The context used to Generate the Grid.
Projected Data Should the grid be projected onto the NavMesh? This will move Items that may be inside walls or blocked, back onto the NavMesh, which can create bunching if a grid line happens to be just beyond the edge of the NavMesh.

Tests

Distance

This will return the direct distance between the Item and the chosen Distance To. If the Distance To is more than one location, it averages the results of each distance check.

test_dist.png

test_dist_props.png

Property spacer.png Description
Test Mode If the Distance Check should be done in 3D, as a 2D XY plane, or just along the Z axis.
Distance To The Context that should be used to measure distance to.
Test Purpose Should the test Filter, Score, or Filter and Score the result? Filtering will remove Items that fail the test, while scoring will weight an Item.
Filter Type Change the type of filter to be a minimum, maximum, or range of values. Any values outside the values set in Float Value Min and/or Float Value Max, will be culled.
Float Value Min Filter any value less than or equal to this value.
Float Value Max Filter any value greater than or equal to this value.
Clamping If a value isn't filtered, you can clamp it to limit a test's influence. Change the Clamp Min/Max Type properties to enable this.
Clamp Min Type How should the lower bound for normalization of the raw test value before applying the scoring formula be determined? Should it use the lowest value found (rested), the lower threshold for filtering, or a separate specified normalization minimum.
Clamp Max Type How should the upper bound for normalization of the raw test value before applying the scoring formula be determined? Should it use the highest value found (rested), the higher threshold for filtering, or a separate specified normalization maximum.
Scoring Equation This modifies the score of the test to adhere to a curve. This can be a Constant, Linear, Squared, or Inverse Linear curve.
Scoring Factor The weight this test has among all the tests. Can be negative.

Dot

Calculates the Dot Product of two vectors. These can be Context Rotations, or the vector from one point to another. Useful for figuring out if one thing is facing another.

test_dot.png

test_dot_props.png

Property spacer.png Description
Line A

Mode set to Rotation:

Property Description
Rotation Returns the rotation vector or the chosen context.

Mode set to Two Points:

Property Description
Line From Uses this Context's location as the first point of the vector define a rotation.
Line To Uses this Context's location as the end point of the vector define a rotation.
Line B

Mode set to Rotation:

Property Description
Rotation Returns the rotation vector or the chosen context.

Mode set to Two Points:

Property Description
Line From Uses this Context's location as the first point of the vector define a rotation.
Line To Uses this Context's location as the end point of the vector define a rotation.
Test Mode Whether the test should calculate using the complete 3D vector or just the 2D heading vector of the Line A and Line B vectors.
Absolute Value A Dot product returns a value from -1.0 to 1.0, this will make the test return the Absolute Value of the Dot product.
Test Purpose Should the test Filter, Score, or Filter and Score the result? Filtering will remove Items that fail the test, while scoring will weight an Item.
Filter Type Change the type of filter to be a minimum, maximum, or range of values. Any values outside the values set in Float Value Min and/or Float Value Max, will be culled.
Float Value Min Filter any value less than or equal to this value.
Float Value Max Filter any value greater than or equal to this value.
Clamping If a value isn't filtered, you can clamp it to limit a test's influence. Change the Clamp Min/Max Type properties to enable this.
Clamp Min Type How should the lower bound for normalization of the raw test value before applying the scoring formula be determined? Should it use the lowest value found (rested), the lower threshold for filtering, or a separate specified normalization minimum.
Clamp Max Type How should the upper bound for normalization of the raw test value before applying the scoring formula be determined? Should it use the highest value found (rested), the higher threshold for filtering, or a separate specified normalization maximum.
Scoring Equation This modifies the score of the test to adhere to a curve. This can be a Constant, Linear, Squared, or Inverse Linear curve.
Scoring Factor The weight this test has among all the tests.

Gameplay Tags

test_tags.png

test_tags_props.png

Property spacer.png Description
Tags to Match Whether to match Any or All tags from the Gameplay Tags property. Basically an or or and statement.
Gameplay Tags The tags that should be matched.
Test Purpose Should the test Filter, Score, or Filter and Score the result? Filtering will remove Items that fail the test, while scoring will weight an Item.
Bool Match Essentially, are you looking for a true match or a false match? If the item returns that it has a desired tag, then this would allow you to remove it instead of keep it.
Scoring Factor The weight this test has among all the tests.

Path Finding

test_path.png

test_path_props.png

Property spacer.png Description
Test Mode
Path Exist Does the path exist to (or from) the Context.
Path Cost How expensive is the path to (or from) the Context?
Path Length How long is the path to (or from) the Context?
Context The Context to Path to or from.
Path From Context Should the pathfinder go to of from the Context.
Skip Unreachable Filter out any Item that is unreachable.
Use Hierarchical Pathfinding Should Hierarchical Pathfinding be used, as it's faster, though less accurate.
Test Purpose Should the test Filter, Score, or Filter and Score the result? Filtering will remove Items that fail the test, while scoring will weight an Item.
Filter Type Change the type of filter to be a minimum, maximum, or range of values. Any values outside the values set in Float Value Min and/or Float Value Max, will be culled.
Float Value Min Filter any value less than or equal to this value.
Float Value Max Filter any value greater than or equal to this value.
Clamping If a value isn't filtered, you can clamp it to limit a test's influence. Change the Clamp Min/Max Type properties to enable this.
Clamp Min Type How should the lower bound for normalization of the raw test value before applying the scoring formula be determined? Should it use the lowest value found (rested), the lower threshold for filtering, or a separate specified normalization minimum.
Clamp Max Type How should the upper bound for normalization of the raw test value before applying the scoring formula be determined? Should it use the highest value found (rested), the higher threshold for filtering, or a separate specified normalization maximum.
Scoring Equation This modifies the score of the test to adhere to a curve. This can be a Constant, Linear, Squared, or Inverse Linear curve.
Scoring Factor The weight this test has among all the tests.

Random

Less of a test (though it can be used to randomly filter out Items), and more of a way to modify the weight of an item to add a bit of fuzz to what the AI decides. This generates a value from 0.0 to 1.0.

test_rand.png

test_rand_props.png

Property spacer.png Description
Test Purpose Should the test Filter, Score, or Filter and Score the result? Filtering will remove Items that fail the test, while scoring will weight an Item.
Filter Type Change the type of filter to be a minimum, maximum, or range of values. Any values outside the values set in Float Value Min and/or Float Value Max, will be culled.
Float Value Min Filter any value less than or equal to this value.
Float Value Max Filter any value greater than or equal to this value.
Clamping If a value isn't filtered, you can clamp it to limit a test's influence. Change the Clamp Min/Max Type properties to enable this.
Clamp Min Type How should the lower bound for normalization of the raw test value before applying the scoring formula be determined? Should it use the lowest value found (rested), the lower threshold for filtering, or a separate specified normalization minimum.
Clamp Max Type How should the upper bound for normalization of the raw test value before applying the scoring formula be determined? Should it use the highest value found (rested), the higher threshold for filtering, or a separate specified normalization maximum.
Scoring Equation This modifies the score of the test to adhere to a curve. This can be a Constant, Linear, Squared, or Inverse Linear curve.
Scoring Factor The weight this test has among all the tests.

Trace

This will trace to or from an Item to a Context and return if it hit it or not. You can invert the result using the Bool Match property.

test_vis.png

test_vis_props.png

Property spacer.png Description

Trace Data

Trace Channel The channel to trace against, by default Unreal Engine 4 has Visibility and Camera. Trace Channels can be added and adjusted in the Edit Menu -> Project Settings -> Physics -> Trace Channels
Trace Shape Line, Sphere, Box, Capsule
Trace Complex If the trace should be against the mesh (complex) or just the simple collision
Only Blocking Hits Whether the trace uses blocking or non-blocking traces in its results.

spacer.png

Trace From Context The context to trace from, such as the the Querier, an Item, or any Custom Contexts you may have created.
Context
Item Height Offset This will add a Z offset, in cm, to the Item the test is tracing to/from.
Context Height Offset This will add a Z offset, in cm, to the Context the test is tracing to/from.
Test Purpose Should the test Filter, Score, or Filter and Score the result? Filtering will remove Items that fail the test, while scoring will weight an Item.
Filter Type Change the type of filter to be a minimum, maximum, or range of values. Any values outside the values set in Float Value Min and/or Float Value Max, will be culled.
Float Value Min Filter any value less than or equal to this value.
Float Value Max Filter any value greater than or equal to this value.
Clamping If a value isn't filtered, you can clamp it to limit a test's influence. Change the Clamp Min/Max Type properties to enable this.
Clamp Min Type How should the lower bound for normalization of the raw test value before applying the scoring formula be determined? Should it use the lowest value found (rested), the lower threshold for filtering, or a separate specified normalization minimum.
Clamp Max Type How should the upper bound for normalization of the raw test value before applying the scoring formula be determined? Should it use the highest value found (rested), the higher threshold for filtering, or a separate specified normalization maximum.
Scoring Equation This modifies the score of the test to adhere to a curve. This can be a Constant, Linear, Squared, or Inverse Linear curve.
Scoring Factor The weight this test has among all the tests.

Contexts

While not actually nodes, Contexts play an important part in how Environment Queries work, and are listed here for reference.

EnvQueryContext_Item

Items are what are created by the Generator. At the most simple, if using the EQS Testing Pawn, they are the spheres that appear in the editor.

EnvQueryContext_Querier

The Querier is the Pawn that is currently possessed by an AI Controller that is executing the Behavior Tree that has called on this Environment Query.