Skip to content

Latest commit

 

History

21 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LootForge — Data-Driven Loot & Drop Table Framework

Weighted loot & drop tables for Unreal Engine 5.8, done right. A designer-friendly, data-driven loot framework with rarity tiers, conditional drops, nested tables and pity/luck timers — all Blueprint-exposed and deterministic-seedable.

Every RPG, looter-shooter, roguelike and survival game needs weighted loot tables, yet Unreal ships no first-class framework — teams rebuild ad-hoc DataTable-plus-random systems every project. LootForge is the reusable layer: a UDataAsset table format, a subsystem that rolls drops, and clean Blueprint nodes. No per-project reinvention.

Features

  • Weighted entries — each entry has a selection Weight, Rarity, and a min/max quantity range.
  • Rarity tiersCommon → Uncommon → Rare → Epic → Legendary; filter results by minimum rarity.
  • Conditional drops — gate any entry behind a FGameplayTagQuery matched against a roll context.
  • Nested tables — an entry can roll another table instead of yielding an item (depth-guarded).
  • Pity / luck timers — guarantee a minimum rarity after a configurable run of misses.
  • Deterministic seeding — pass a seed for reproducible rolls (replays, tests, server authority); -1 rolls non-deterministically.
  • Designer previewPreviewDropChances returns normalized per-entry probabilities for tuning.
  • Blueprint-first — data assets + a subsystem + a function library; usable entirely from Blueprint.

Requirements

  • Unreal Engine 5.8
  • Uses the engine GameplayTags module (no extra plugin to enable).

Installation

  1. Copy LootForge into your project's Plugins/ folder.
  2. Enable LootForge in Edit → Plugins and restart the editor.

Quick start

  1. Create a table. Add → Miscellaneous → Data Asset → LootTable. Add Entries — for each, set an ItemId (a Gameplay Tag your game maps to an actual item), a Weight, a Rarity, and a quantity range.
  2. Roll it. From Blueprint call Roll Loot Simple (Loot Forge Blueprint Library) with your table, or get the Loot Forge Subsystem and call Roll Loot with a context + seed. You get an array of Loot Roll Result (ItemId, Quantity, Rarity).
  3. Grant the items. Iterate the results and hand them to your own inventory — LootForge decides what drops, your game decides what an item is.
ULootForgeSubsystem* Loot = ULootForgeSubsystem::Get(this);
TArray<FLootRollResult> Drops = Loot->RollLoot(BossTable, ContextTags, /*Seed*/ -1);

Key classes

Class Role
ULootTable Data asset: weighted entries, roll count, duplicate policy, pity config.
ULootForgeSubsystem Rolls tables (weighted / conditional / nested / seeded / pity).
ULootForgeBlueprintLibrary Convenience wrappers: RollLootSimple, RollLootSeeded, FilterByRarity.
FLootEntry / FLootRollResult The entry definition and one resolved drop.

Reliability

  • A table with all-zero weights returns an empty result and logs a warning (never divides by zero).
  • Nested-table recursion is capped (depth 8) with a warning, so a cyclic table can't hang.
  • Quantities are clamped (MinQuantity ≤ MaxQuantity).

Documentation & support

LootForge — © 2026 Silvan Teufel. All rights reserved.

🛒 Source-available — see before you buy

This repository contains the full source of a commercial Unreal Engine plugin. It is source-available, not open source: read it, evaluate it, then buy a license to use it. See the Fab Content License Agreement / Unreal Engine EULA (purchase required).

Get it / Buy:

This plugin does not have its own Fab listing yet — the store link above is where everything we currently sell lives.

📬 Free UE5 Snippet-Pack

10 ready-to-use C++/Blueprint building blocks (subsystems, versioned saves, async nodes, editor tooling) — MIT licensed. Get it by joining the newsletter — plus a heads-up when something new ships. Double opt-in, unsubscribe in one click, no address sharing.

👉 Get the free pack

© 2026 Silvan Teufel. All rights reserved.

About

Unreal Engine 5.8 plugin: LootForge

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages