Data Table Extensions / Reference

Blueprint nodes

v1.4.0Runtime plugin
  • UE 5.5–5.8
On this pageBefore you startError messagesFilter nodesQuery nodesRead nodesInspect nodesStats nodesValidation nodesUtility nodesRandom nodesDeprecated nodesStructures and enumerations

Every node the plugin adds to the Blueprint editor, grouped the way they appear in the node menu under Data Table Extensions. The nodes work in gameplay Blueprints and editor tools, in the editor and in packaged games on Windows, macOS, and Linux. They run on the game thread, so they cannot be used in thread-safe animation functions.

Callable nodes have execution pins. Pure nodes have none and run when a connected node reads their output. Pin names match the editor. Most nodes return row names; read the rows with the standard Get Data Table Row node or the Read nodes.

For which node to use for a task, start with the User manual.

Before you start#

Shared pins#

Nodes that read a table share these pins. The entries below list them again only where a node differs.

Pin Type Details
Data Table (input) Data Table The table to read.
Property Path (input) String Field to use. See Property paths.
Use Cache (input) Boolean Default on. Present on filter, range, query, and matching-random nodes. See Use Cache.
Success (output) Boolean False when the node could not run.
Error Message (output) String Why it failed. Always empty when Success is true. See Error messages.

Check Success before using a result. A query that matches nothing still succeeds; check the length of the returned array.

Pins that must be connected#

The Blueprint does not compile while one of these inputs is unconnected:

  • every array input, such as Conditions, Excluded Row Names, Row Names, Input Rows, A, and B. Connect an empty Make Array when you have nothing to pass;
  • Options on Query Data Table Rows. Connect Make Query Options;
  • the Text Value pin of Get Data Table Row Names By Text Field and Make Text Filter Condition. Connect a Text variable or a literal Text node.

String, Name, number, vector, and Random Stream pins can be typed into or left unconnected.

Rules shared by every node#

Which field types each node accepts, how paths are written, how values are compared, and how Use Cache refreshes are described once in the Feature reference.

Error messages#

Error Message holds one of these texts when Success is false. Parts in angle brackets are filled in by the node with the path, field, or row concerned. The Output Log also shows a warning for missing rows and invalid paths.

Error Message Cause
DataTable is null. No table is connected.
DataTable has no row struct. The table has no row structure.
PropertyPath is empty. The path is empty or only dots.
Property path segment '<name>' was not found on struct '<struct>'. A name in the path does not exist. For Blueprint structs, check the spelling and capitalization.
Property path segment '<name>' is not a struct, so '<path>' cannot be resolved further. The path continues past a field that has no fields of its own, such as a number, text, array, or object reference.
Property '<field>' is of type '<type>', but '<expected>' was required. The node does not match the field type. For Blueprint structs, the field name in this message includes an editor-generated suffix.
Row '<row>' was not found in DataTable '<table>'. A requested row does not exist.
At least one condition is required. A condition-based node received an empty Conditions array.
Condition at path '<path>' uses unsupported value category. A condition was built by hand with its Value Type left as Unknown, or set to Struct or Unsupported. Use the Make … Filter Condition nodes.
Input collection is empty. A single random pick found no rows: the table is empty, or nothing matched.
Property '<path>' is not numeric. Min, Max, Average, or Sum was used on a field that is not Int or Float.
No numeric values were found at path '<path>'. Min, Max, Average, or Sum was used on an empty table.
Property '<path>' is not an enum. Get Enum Entries At Path was used on a field that is not an enum.
Property path '<path>' does not resolve to a struct. Get Child Property Paths For Struct Path was given a field that is not a struct.
Distinct value queries are not supported for property path '<path>'. Count Distinct Values At Path does not support the field type.
Duplicate-value validation is not supported for property '<path>'. Find Rows With Duplicate Value At Path does not support the field type.
Empty-value validation is only supported for string, name, and text properties. '<path>' is '<type>'. Find Rows With Empty String Or Name At Path was used on another field type.
Weighted random requires a numeric (integer or float) weight column. '<path>' is '<type>'. The weight path is not an Int or Float field.

When a node fails, its outputs are cleared: arrays are emptied, counts are 0, and read values return to their defaults. The single random-pick nodes are the exception: on Input collection is empty. their Row Name can keep an earlier value, so always branch on Success.

Filter nodes#

One callable node per field type. Each compares a single field against a value and returns the names of the matching rows, in table order. Use Query Data Table Rows for several conditions.

Inputs: Data Table, Property Path, Compare Op, the value pin, and Use Cache. Outputs: Matching Row Names, Success, and Error Message. A type mismatch is reported only when the table has at least one row.

Node Value pin Use with Compare Op choices
Get Data Table Row Names By Enum Field Enum Value (Integer64) Enum fields, compared by the entry's numeric value Equal, Not Equal
Get Data Table Row Names By Int Field Value (Integer64) Integer, Integer64, and non-enum Byte fields Equal, Not Equal, Less, Less Or Equal, Greater, Greater Or Equal
Get Data Table Row Names By Float Field Value (Float) Float and double fields Equal, Not Equal, Less, Less Or Equal, Greater, Greater Or Equal
Get Data Table Row Names By String Field Value (String) String fields Equal, Not Equal, Contains, Starts With, Ends With
Get Data Table Row Names By Name Field Value (Name) Name fields Equal, Not Equal, Contains, Starts With, Ends With
Get Data Table Row Names By Text Field Value (Text) Text fields. The value pin must be connected. Equal, Not Equal, Contains, Starts With, Ends With
Get Data Table Row Names By Bool Field Value (Boolean) Boolean fields Equal, Not Equal
Get Data Table Row Names By Vector Field Value (Vector) Vector fields Equal, Not Equal
Get Data Table Row Names By Vector2D Field Value (Vector 2D) Vector 2D fields Equal, Not Equal
Get Data Table Row Names By Rotator Field Value (Rotator) Rotator fields Equal, Not Equal

Query nodes#

Combine several conditions, filter by a numeric range, or find the first match. The condition-based nodes take an array of Data Table Filter Condition values, built with the pure Make … Filter Condition nodes and Make Array.

Query Data Table Rows#

Callable · Menu: Data Table Extensions › Query

Returns every row that matches the conditions, with the number of matches. This is the recommended node for filtering on more than one field.

Input Type Details
Data Table Data Table The table to read.
Conditions Data Table Filter Condition array Must be connected. Build it with Make Array and the Make … Filter Condition nodes. It needs at least one condition.
Options Data Table Query Options Must be connected. Build it with Make Query Options.
Output Type Details
Matching Row Names Name array Matching rows, in table order.
Count Integer Number of matching rows.
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.
  • Excluded rows are skipped before any condition is checked. Their names are matched ignoring case, and names not in the table are ignored.
  • AND stops checking a row at its first failing condition; OR stops at the first passing one. A condition whose type does not fit its field therefore fails the query only when a row actually checks it.

Make Query Options#

Pure · Menu: Data Table Extensions › Query

Builds the Options input for Query Data Table Rows.

Input Type Details
Combine Operator AND or OR Default AND: every condition must match. OR: any condition may match.
Excluded Row Names Name array Must be connected. Rows to leave out; an empty Make Array means no exclusions.
Use Cache Boolean Default on. See Use Cache.
Output Type Details
Return Value Data Table Query Options Connect to Options.

Make … Filter Condition#

Pure · Menu: Data Table Extensions › Query

One node per field type. Each builds a single condition for Query Data Table Rows, Find First Matching Row Name, and the matching random nodes. Inputs: Property Path, Comparison, Value. Output: Return Value, a Data Table Filter Condition. The comparison and field rules are the same as for the filter nodes.

Node Value type Comparison choices
Make Enum Filter Condition Integer64 Equal, Not Equal
Make Int Filter Condition Integer64 Equal, Not Equal, Less, Less Or Equal, Greater, Greater Or Equal
Make Float Filter Condition Float Equal, Not Equal, Less, Less Or Equal, Greater, Greater Or Equal
Make String Filter Condition String Equal, Not Equal, Contains, Starts With, Ends With
Make Name Filter Condition Name Equal, Not Equal, Contains, Starts With, Ends With
Make Text Filter Condition Text (must be connected) Equal, Not Equal, Contains, Starts With, Ends With
Make Bool Filter Condition Boolean Equal, Not Equal
Make Vector Filter Condition Vector Equal, Not Equal
Make Vector2D Filter Condition Vector 2D Equal, Not Equal
Make Rotator Filter Condition Rotator Equal, Not Equal
Make Color Filter Condition Color Equal, Not Equal
Make Linear Color Filter Condition Linear Color Equal, Not Equal
Make Transform Filter Condition Transform Equal, Not Equal
Make Int Point Filter Condition Int Point Equal, Not Equal
Make Vector4 Filter Condition Vector 4 Equal, Not Equal
Make Date Time Filter Condition Date Time Equal, Not Equal
Make Guid Filter Condition Guid Equal, Not Equal

Get Data Table Row Names By Int Range#

Callable · Menu: Data Table Extensions › Query

Returns rows whose integer field lies between two values. Get Data Table Row Names By Float Range is the same node for float fields, with Float bounds.

Input Type Details
Data Table Data Table The table to read.
Property Path String Field to use, such as Power or Stats.Power.
Min Value Integer64 Lower bound.
Include Min Boolean Default off, which excludes rows equal to Min Value.
Max Value Integer64 Upper bound.
Include Max Boolean Default off, which excludes rows equal to Max Value.
Use Cache Boolean Default on. See Use Cache.
Output Type Details
Matching Row Names Name array Matching rows, in table order.
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

A Min Value above Max Value succeeds with no rows. The field type is checked before any row is read, so a mismatch fails even on an empty table.

Count Rows In Int Range#

Callable · Menu: Data Table Extensions › Query

Counts rows whose integer field lies between two values, without returning their names. Count Rows In Float Range is the float version. The bounds work as on the range nodes above, including Include Min and Include Max defaulting to off.

Input Type Details
Data Table Data Table The table to read.
Property Path String Field to use, such as Power or Stats.Power.
Min Value Integer64 Lower bound.
Include Min Boolean Default off.
Max Value Integer64 Upper bound.
Include Max Boolean Default off.
Use Cache Boolean Default on. See Use Cache.
Output Type Details
Count Integer Number of rows in range.
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Find First Matching Row Name#

Callable · Menu: Data Table Extensions › Query

Returns the first row, in table order, that matches the conditions, and stops there. It never uses the cache and has no exclusions input.

Input Type Details
Data Table Data Table The table to read.
Conditions Data Table Filter Condition array Must be connected. Build it with Make Array and the Make … Filter Condition nodes. It needs at least one condition.
Combine Operator AND or OR Default AND: every condition must match. OR: any condition may match.
Output Type Details
Row Name Name The first matching row, or None.
Found Boolean False when no row matched. Success is still true.
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Clear Query Cache#

Callable · Menu: Data Table Extensions › Query

Forgets remembered query results for every table. Use it after switching the game language if you filter Text fields.

Invalidate Cache For Data Table#

Callable · Menu: Data Table Extensions › Query

Forgets remembered query results for one table. Use it after C++ code changes row data directly. Does nothing when no table is connected.

Input Type Details
Data Table Data Table The table to read.

Read nodes#

Read a field from one row, from a list of rows, or from every row. Each node exists once for every supported value type. Row names are matched ignoring case.

Get … Property From Data Table Row#

Callable · Menu: Data Table Extensions › Read

Reads one field from one row. Inputs: Data Table, Row Name, Property Path. Outputs: Value, Success, Error Message. On failure, Value returns to its default, such as 0, empty text, or a zero vector.

Node Value type
Get Int Property From Data Table Row Integer64
Get Float Property From Data Table Row Float
Get Bool Property From Data Table Row Boolean
Get Enum Property From Data Table Row Integer64, the entry's numeric value
Get String Property From Data Table Row String
Get Name Property From Data Table Row Name
Get Text Property From Data Table Row Text
Get Vector Property From Data Table Row Vector
Get Vector2D Property From Data Table Row Vector 2D
Get Rotator Property From Data Table Row Rotator
Get Color Property From Data Table Row Color
Get Linear Color Property From Data Table Row Linear Color
Get Transform Property From Data Table Row Transform
Get Int Point Property From Data Table Row Int Point
Get Vector4 Property From Data Table Row Vector 4
Get Date Time Property From Data Table Row Date Time
Get Guid Property From Data Table Row Guid

Get … Property For Rows#

Callable · Menu: Data Table Extensions › Read

Reads the same field from each row in Row Names, for the same value types as the single-row node, such as Get Float Property For Rows. Inputs: Data Table, Row Names (must be connected), Property Path. Outputs: Values, Success, Error Message. Each entry of Values holds a Row Name and its Value.

The result follows the order of Row Names, repeating duplicates. It is all or nothing: one missing row fails the node and empties Values. An empty Row Names array succeeds with no values.

Get … Property For All Rows#

Callable · Menu: Data Table Extensions › Read

Reads the same field from every row, in table order, for the same value types, such as Get Int Property For All Rows. Inputs: Data Table, Property Path. Outputs: Values, Success, Error Message. An empty table succeeds with no values.

Inspect nodes#

Discover which fields a table has and what type each one is. Use them when you build a path or choose a typed node. The Is … nodes return false instead of reporting an error.

Get Leaf Property Paths#

Callable · Menu: Data Table Extensions › Inspect

Lists every field the plugin can read, with nested structs expanded to any depth, in declaration order. Engine value types such as Vector or Transform are listed as one entry each; their components, such as Location.Z, also work as paths but are not listed. Arrays, maps, sets, and references are left out.

Input Type Details
Data Table Data Table The table to read.
Output Type Details
Property Paths String array Paths such as Stats.Power.
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Get Property Type At Path#

Callable · Menu: Data Table Extensions › Inspect

Returns the value category of a field.

Input Type Details
Data Table Data Table The table to read.
Property Path String Field to use, such as Power or Stats.Power.
Output Type Details
Value Category Value category See Value categories. Unknown when the path does not resolve.
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Get Property Type Name At Path#

Callable · Menu: Data Table Extensions › Inspect

Returns the engine's name for the field's type, such as IntProperty, DoubleProperty for a Blueprint Float, StrProperty, NameProperty, TextProperty, BoolProperty, Enum(…) with the enum's name, or Struct(…) with the struct's name, such as Struct(Vector).

Input Type Details
Data Table Data Table The table to read.
Property Path String Field to use, such as Power or Stats.Power.
Output Type Details
Type Name String Empty on failure.
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Is Property Numeric#

Pure · Menu: Data Table Extensions › Inspect

True only for Int and Float fields.

Input Type Details
Data Table Data Table The table to read.
Property Path String Field to use, such as Power or Stats.Power.
Output Type Details
Return Value Boolean False for enums, Booleans, and invalid paths.

Is Property Enum#

Pure · Menu: Data Table Extensions › Inspect

True for enum fields.

Input Type Details
Data Table Data Table The table to read.
Property Path String Field to use, such as Power or Stats.Power.
Output Type Details
Return Value Boolean

Is Property Struct#

Pure · Menu: Data Table Extensions › Inspect

True only for the generic Struct category: your own structs and engine structs the plugin does not compare directly.

Input Type Details
Data Table Data Table The table to read.
Property Path String Field to use, such as Power or Stats.Power.
Output Type Details
Return Value Boolean False for Vector, Rotator, Transform, and the other supported value types.

Get Enum Entries At Path#

Callable · Menu: Data Table Extensions › Inspect

Lists the entry names of the enum a field uses, in declaration order. These are the names used in code, not the display names: Blueprint enums return NewEnumerator0, NewEnumerator1, and so on. Hidden entries are included; entries whose names end in _MAX, in any capitalization, are left out.

Input Type Details
Data Table Data Table The table to read.
Property Path String Field to use, such as Power or Stats.Power.
Output Type Details
Entries String array Entry names. For a Blueprint enum, an entry's position, starting at 0, is its numeric value.
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Get Supported Comparison Operators For Path#

Callable · Menu: Data Table Extensions › Inspect

Lists the comparisons a field supports, written without spaces: Equal, NotEqual, Less, LessOrEqual, Greater, GreaterOrEqual, Contains, StartsWith, EndsWith.

Input Type Details
Data Table Data Table The table to read.
Property Path String Field to use, such as Power or Stats.Power.
Output Type Details
Operators String array Empty, with Success true, for Struct and Unsupported fields.
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Get Property Paths By Type#

Callable · Menu: Data Table Extensions › Inspect

Lists the paths of one value category, from the same list as Get Leaf Property Paths.

Input Type Details
Data Table Data Table The table to read.
Value Category Value category The category to list. Struct, Unsupported, and Unknown always return an empty list.
Output Type Details
Property Paths String array
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Get Numeric Property Paths#

Callable · Menu: Data Table Extensions › Inspect

Lists every Int and Float path.

Input Type Details
Data Table Data Table The table to read.
Output Type Details
Property Paths String array
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Get Enum Property Paths#

Callable · Menu: Data Table Extensions › Inspect

Lists every enum path.

Input Type Details
Data Table Data Table The table to read.
Output Type Details
Property Paths String array
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Get Child Property Paths For Struct Path#

Callable · Menu: Data Table Extensions › Inspect

Lists every field inside a struct field, at all depths, prefixed with the path you typed. It works on engine value types too: Location returns Location.X, Location.Y, and Location.Z.

Input Type Details
Data Table Data Table The table to read.
Struct Path String Path of a struct field, such as Stats. Leave it empty to list the whole row.
Output Type Details
Property Paths String array
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Stats nodes#

Summarize one field across the whole table. String, Name, and Text values that differ only in letter case count as the same value; the first spelling is kept.

Get Distinct … Values At Path#

Callable · Menu: Data Table Extensions › Stats

Returns each different value in a field once. Inputs: Data Table, Property Path. Outputs: Values, Success, Error Message. An empty table succeeds with no values. Names ending in a number sort by that number, so Item_2 comes before Item_10.

Node Values type Order
Get Distinct Int Values At Path Integer64 array Ascending
Get Distinct Float Values At Path Float array Ascending
Get Distinct String Values At Path String array A to Z, ignoring case
Get Distinct Name Values At Path Name array A to Z, ignoring case
Get Distinct Text Values At Path Text array A to Z by displayed text, ignoring case
Get Distinct Bool Values At Path Boolean array In the order the values first appear
Get Distinct Enum Values At Path Integer64 array Ascending by numeric value

Count Distinct Values At Path#

Callable · Menu: Data Table Extensions › Stats

Counts how many different values a field has. Supports Int, Float, String, Name, Text, Bool, and Enum fields. An empty table returns 0.

Input Type Details
Data Table Data Table The table to read.
Property Path String Field to use, such as Power or Stats.Power.
Output Type Details
Count Integer
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Get Min Numeric Value At Path#

Callable · Menu: Data Table Extensions › Stats

Returns the smallest value of an Int or Float field. Get Max Numeric Value At Path, Get Average Numeric Value At Path, and Get Sum Numeric Value At Path return the largest value, the mean, and the total. All four fail on an empty table.

Input Type Details
Data Table Data Table The table to read.
Property Path String Field to use, such as Power or Stats.Power.
Output Type Details
Value Float 0 on failure.
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Get … Value Counts At Path#

Callable · Menu: Data Table Extensions › Stats

Returns each different value with the number of rows that use it. Inputs: Data Table, Property Path, Sort By Count Descending. Outputs: Counts, Success, Error Message. Each entry of Counts holds a Value and its Count.

Node Value type
Get Int Value Counts At Path Integer64
Get Float Value Counts At Path Float
Get String Value Counts At Path String
Get Name Value Counts At Path Name
Get Text Value Counts At Path Text
Get Bool Value Counts At Path Boolean
Get Enum Value Counts At Path Integer64

By default, entries are sorted by value, ascending, and Boolean lists false before true. With Sort By Count Descending on, the most common value comes first, with ties sorted by value. Only values that occur are listed.

Validation nodes#

Check a table for data problems, or check that a row or path exists before you use it.

Find Rows With Duplicate Value At Path#

Callable · Menu: Data Table Extensions › Validation

Returns every row whose value is shared with another row, including the first occurrence. Supports String, Name, Text, Bool, Enum, Int, and Float fields; text is compared ignoring case. Rows are grouped by value, in the order each value first appears: for rows A = x, B = y, C = x, D = y the result is A, C, B, D.

Input Type Details
Data Table Data Table The table to read.
Property Path String Field to use, such as Power or Stats.Power.
Output Type Details
Row Names Name array
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Find Rows With Empty String Or Name At Path#

Callable · Menu: Data Table Extensions › Validation

Returns rows whose String, Name, or Text field is empty, in table order. A String is empty only when it has no characters, so a value of spaces is not empty; a Name is empty when it is None; a Text is empty when its displayed text is empty.

Input Type Details
Data Table Data Table The table to read.
Property Path String Field to use, such as Power or Stats.Power.
Output Type Details
Row Names Name array
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Does Data Table Have Row#

Pure · Menu: Data Table Extensions › Validation

True when the table contains the row. The name is matched ignoring case.

Input Type Details
Data Table Data Table The table to read.
Row Name Name
Output Type Details
Return Value Boolean

Does Data Table Have Property Path#

Pure · Menu: Data Table Extensions › Validation

True when the row structure has a field at the path, even one other nodes cannot use, such as an array. Validate Path Across Data Table does exactly the same; neither checks individual rows.

Input Type Details
Data Table Data Table The table to read.
Property Path String Field to use, such as Power or Stats.Power.
Output Type Details
Return Value Boolean

Utility nodes#

Work with arrays of row names: combine lists, trim them, page through them, shuffle them, or sort them. Names are matched ignoring case. Only the sort-by-path nodes need a table.

Union Row Names#

Pure · Menu: Data Table Extensions › Utility

All of A, including its own repeats, followed by the names from B that A does not have.

Input Type Details
A Name array Must be connected.
B Name array Must be connected.
Output Type Details
Return Value Name array

Intersect Row Names#

Pure · Menu: Data Table Extensions › Utility

Names present in both lists, once each, in A's order.

Input Type Details
A Name array Must be connected.
B Name array Must be connected.
Output Type Details
Return Value Name array

Subtract Row Names#

Pure · Menu: Data Table Extensions › Utility

Names in A that are not in B, in A's order, keeping A's repeats.

Input Type Details
A Name array Must be connected.
B Name array Must be connected.
Output Type Details
Return Value Name array

Remove Duplicate Row Names#

Pure · Menu: Data Table Extensions › Utility

Keeps the first occurrence of each name.

Input Type Details
Row Names Name array Must be connected.
Output Type Details
Return Value Name array

Take First N Row Names#

Pure · Menu: Data Table Extensions › Utility

The first Count names. A negative Count returns nothing; a Count larger than the list returns everything.

Input Type Details
Row Names Name array Must be connected.
Count Integer
Output Type Details
Return Value Name array

Skip First N Row Names#

Pure · Menu: Data Table Extensions › Utility

Everything after the first Count names. A negative Count returns everything; a Count larger than the list returns nothing.

Input Type Details
Row Names Name array Must be connected.
Count Integer
Output Type Details
Return Value Name array

Take Page Row Names#

Callable · Menu: Data Table Extensions › Utility

Returns one page of a paged list, plus the number of pages.

Input Type Details
Row Names Name array Must be connected.
Page Index Integer Zero-based page number.
Page Size Integer Names per page. 0 or less returns nothing, with a Page Count of 0.
Output Type Details
Page Rows Name array Empty for a negative index or a page past the end.
Page Count Integer Total pages, rounded up.

Shuffle Row Names#

Callable · Menu: Data Table Extensions › Utility

Returns the names in a random order, keeping repeats.

Input Type Details
Row Names Name array Must be connected.
Output Type Details
Shuffled Rows Name array

Seeded Shuffle Row Names#

Callable · Menu: Data Table Extensions › Utility

Shuffles repeatably: the same list and seed always give the same order. The result depends on the order of the list you pass in.

Input Type Details
Row Names Name array Must be connected.
Random Stream Random Stream Seeded stream. Unconnected means seed 0. See Seeded nodes.
Output Type Details
Shuffled Rows Name array

Take Random N Row Names#

Callable · Menu: Data Table Extensions › Utility

Picks Count different names at random, after removing repeats. A Count of 0 or less returns nothing; a Count larger than the list returns every name in random order.

Input Type Details
Row Names Name array Must be connected.
Count Integer
Output Type Details
Selected Rows Name array

Take Seeded Random N Row Names#

Callable · Menu: Data Table Extensions › Utility

Repeatable version of Take Random N Row Names. The result depends on the order of the list you pass in.

Input Type Details
Row Names Name array Must be connected.
Count Integer
Random Stream Random Stream Seeded stream. Unconnected means seed 0. See Seeded nodes.
Output Type Details
Selected Rows Name array

Sort Row Names Alphabetically#

Pure · Menu: Data Table Extensions › Utility

Sorts the names themselves A to Z, ignoring case and removing repeats. Names ending in a number sort by that number.

Input Type Details
Row Names Name array Must be connected.
Output Type Details
Return Value Name array

Sort Rows By Int Path#

Callable · Menu: Data Table Extensions › Utility

Sorts row names by a field's value. Sort Rows By Float Path, Sort Rows By Name Path, Sort Rows By String Path, and Sort Rows By Text Path sort by fields of those types. There is no Enum or Bool sort.

Input Type Details
Data Table Data Table The table to read.
Input Rows Name array Must be connected. Rows to sort; an empty array sorts the whole table.
Property Path String Field to use, such as Power or Stats.Power.
Ascending Boolean Default off, which puts the largest value, or Z, first. Turn it on for smallest or A first.
Output Type Details
Sorted Rows Name array
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Ties are ordered by row name, A to Z. Repeated input rows are kept, and a missing row fails the sort. String and Name values sort ignoring case. Text sorts by displayed text, ignoring case, without language-specific rules, so accented letters come after Z.

Random nodes#

Pick rows at random from a whole table or from the rows that match conditions. See Random rewards for examples.

Get Random Row Name#

Callable · Menu: Data Table Extensions › Random

One row, each with an equal chance. Fails on an empty table. Get Seeded Random Row Name adds a Random Stream input.

Input Type Details
Data Table Data Table The table to read.
Output Type Details
Row Name Name Can keep an earlier value on failure; branch on Success.
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Get Random Row Names#

Callable · Menu: Data Table Extensions › Random

Several different rows. A Count larger than the table returns every row, shuffled. A Count of 0 or less, or an empty table, returns an empty list with Success true. Get Seeded Random Row Names adds a Random Stream input; for the same seed, a larger Count keeps the smaller Count's picks and adds more.

Input Type Details
Data Table Data Table The table to read.
Count Integer How many rows to pick.
Output Type Details
Row Names Name array
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Get Random Matching Row Name#

Callable · Menu: Data Table Extensions › Random

One row chosen from the rows that match the conditions. Fails with Input collection is empty. when nothing matches. Get Seeded Random Matching Row Name adds a Random Stream input.

Input Type Details
Data Table Data Table The table to read.
Conditions Data Table Filter Condition array Must be connected. Build it with Make Array and the Make … Filter Condition nodes. It needs at least one condition.
Combine Operator AND or OR Default AND: every condition must match. OR: any condition may match.
Use Cache Boolean Default on. See Use Cache.
Output Type Details
Row Name Name Can keep an earlier value on failure; branch on Success.
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Get Weighted Random Row Name#

Callable · Menu: Data Table Extensions › Random

One row, where rows with a larger weight are more likely. Get Seeded Weighted Random Row Name adds a Random Stream input.

Input Type Details
Data Table Data Table The table to read.
Weight Property Path String An Int or Float field holding each row's weight.
Output Type Details
Row Name Name
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

A negative weight counts as 0. A zero-weight row is never picked while any row has a positive weight. When every weight is 0, each row has an equal chance.

Get Weighted Random Matching Row Name#

Callable · Menu: Data Table Extensions › Random

Applies the conditions first, then makes a weighted pick among the matching rows. Get Seeded Weighted Random Matching Row Name adds a Random Stream input.

Input Type Details
Data Table Data Table The table to read.
Conditions Data Table Filter Condition array Must be connected. Build it with Make Array and the Make … Filter Condition nodes. It needs at least one condition.
Combine Operator AND or OR Default AND: every condition must match. OR: any condition may match.
Use Cache Boolean Default on. See Use Cache.
Weight Property Path String An Int or Float weight field.
Output Type Details
Row Name Name
Success Boolean False when the node could not run. True with an empty result is normal.
Error Message String Why the node failed. Empty on success.

Seeded nodes#

  • Every seeded node leaves your Random Stream unchanged, so calling a node twice with the same stream gives the same result. For a different pick each time, change the seed, or ask for several rows in one call.
  • An unconnected stream uses seed 0.
  • Seeded weighted nodes give the same result for the same seed regardless of row order, across sessions and machines.
  • Seeded Shuffle Row Names and Take Seeded Random N Row Names depend on the order of the list you pass in.

Deprecated nodes#

These nodes still work in existing graphs but are hidden from the node menu. They behave like Query Data Table Rows; replace them when you next edit the graph.

Deprecated node Replacement
Get Data Table Row Names By Conditions Query Data Table Rows with Make Query Options.
Get Data Table Row Names By Conditions Excluding Query Data Table Rows, with the rows in Excluded Row Names.
Count Rows Matching Conditions Query Data Table Rows, using its Count output.

Structures and enumerations#

Types you meet on node pins. Use Break on a structure pin to read its members.

Data Table Filter Condition#

One condition. Build it with a Make … Filter Condition node rather than by hand: the node sets Property Path, Value Type, the comparison, and the value that belong together. A hand-made condition whose Value Type stays Unknown fails the query.

Data Table Query Options#

Options for Query Data Table Rows.

Member Default Details
Combine Operator AND AND or OR.
Excluded Row Names Empty Rows to skip.
Use Cache On See Use Cache.

Row and value pairs#

Returned in the Values array of the For Rows and For All Rows read nodes. Each has a Row Name and a Value of the node's type.

Value counts#

Returned in the Counts array of the Value Counts nodes. Each has a Value and a Count.

Comparisons#

The choices offered by Compare Op and Comparison pins.

Used for Choices
Int and Float fields Equal, Not Equal, Less, Less Or Equal, Greater, Greater Or Equal
String, Name, and Text fields Equal, Not Equal, Contains, Starts With, Ends With
Bool, enum, and structure fields Equal, Not Equal

Value categories#

Returned by Get Property Type At Path and accepted by Get Property Paths By Type.

Category Meaning
Integer, Float, Enum, String, Name, Text, Bool A field the typed nodes of that kind accept.
Vector, Vector2D, Rotator, Color, Linear Color, Transform, Int Point, Vector4, Date Time, Guid An engine value type the plugin compares directly.
Struct A struct the plugin does not compare directly, such as your own struct. Use a dotted path to reach its fields.
Unsupported A field that cannot be read or compared: arrays, maps, sets, object and class references, and similar.
Unknown The path did not resolve. It is also the starting Value Type of a hand-made condition.
Documentation
↑ ↓ Navigate ↵ Openesc Close