Skip to main content

Mask Generators

Float Masks can be used to change weights/counts in nearly any way imagineable. However, how do we get the data into the mask in the first place? Most commonly, the data you want is stored inside of the sources2. This is where mask generators come in: They compare data from each source and store the results into the loot table template. Then you can access these stored masks at runtime.

You can view masks stored in the loot table template using the build tab:

Built-In Generators

Stoch includes many built-in mask generators:

  • Bool: Evaluates a boolean property from the source.
  • Copy Data: Copies a numeric property from the source.
  • Curve: Uses a source's numeric property as a key into a curve.
  • Gameplay Tag Compare: Compares a source's tag property.
  • Gameplay Tag Enumerate: Creates a mask for each unique tag stored in the source's property.
  • Loot Table Count: Copies the loot table's count for that row.
  • Loot Table Weight: Copies the loot table's weight for that row.
  • Manual: Stores manually defined data.
  • Numeric Compare: Compares numeric property(s) from the source.
  • Row Filter: Evaluates a row filter on each source.

Custom Generators

You can also create custom mask generators in C++ or Blueprint. Simply subclass STMaskGenerator and override the GenerateMasks function. The example map includes a demo mask generator, BP_MaskGen_Demo, to show you the syntax.


  1. The Data Table Row(s) or Data Asset(s) being referenced by your loot table.