DrawLots is a lightweight Unreal Engine plugin for weighted random selection.
It allows you to define lottery entries with individual weights and draw a result easily from Blueprint or C++. You can use it for item drops, enemy spawn selection, random rewards, gacha-like systems, procedural events, dialogue variation, and any other game logic that needs simple weighted probability.
For example, you can define entries such as:
Common Item: 80
Rare Item: 15
Legendary Item: 5
Then DrawLots selects one result based on the specified weights.
The plugin supports two main lottery styles:
Draw by index
Draw by object reference
It also includes an option to avoid drawing the same result consecutively, which is useful for dialogue variation, repeated rewards, enemy spawning, and other cases where repeated random results feel unnatural.
Important note:
DrawLots is also available as an open-source project on GitHub under the MIT License. The Fab version and the open-source version contain the same plugin.
Purchasing the Fab version is a convenient way to install the plugin through Fab and support continued maintenance of the project.