- Loot System decides what drops
- Respawn Manager decides when the source comes back
LootTable+LootComponent(UMI)RespawnManagerSubsystem(Respawn Manager)
- Resource nodes (trees, rocks, ore veins)
- Harvestable world objects (plants, mushrooms, bushes)
- Chests/containers that refill over time
Enemies are usually single-use loot + separate enemy spawn/respawn logic. We’ll touch on that pattern at the end.
1. High-Level Pattern
For any loot source you want to respawn:- LootComponent = “What dropped?”
- Respawn Manager = “When does this node come back?”
2. Required Components
On your loot source actor (e.g.,BP_Tree, BP_Rock, BP_OreNode, BP_BerryBush):
ULootComponent– which uses aLootTable(e.g.LT_TreeLoot)- (Recommended) implements
BPI_Respawnable/IRespawnable - A mesh or visual component you can hide/show
- A collision/interaction component to enable/disable
- A
RespawnTimefloat
3. Resource Node Pattern (Tree/Rock/Ore)
3.1 Tree Example — Blueprint Flow
On Harvest:3.2 Rock/Ore Example — C++
Header:4. Chests & Containers
You probably want two behaviors for chests:-
Single-use chest (dungeon chest, boss chest):
- Uses LootComponent
bSingleUse = true- No respawn → just disabled once looted
-
Respawnable chest (world chests, camp chests):
- Uses LootComponent
bSingleUse = false- Registers with Respawn Manager after being looted
4.1 Blueprint: Single-use Chest (No Respawn)
4.2 Blueprint: Respawnable Chest
On Chest Looted:5. Enemy Loot vs Enemy Respawn
Important distinction:- Loot System handles what drops when an enemy dies
- Respawn Manager should not respawn the enemy itself directly (usually)
-
Enemy has a
LootComponent -
On death:
LootComponent → GenerateLoot- Spawn
WorldItemActors around corpse, or auto-loot to players
- Enemy does not register itself with Respawn Manager
- A separate spawner or manager uses Respawn Manager to handle enemy respawn
5.1 Enemy Death + LootComponent
Blueprint:5.2 Enemy Spawner + Respawn Manager
Spawner actor:- LootComponent = enemy drops
- Respawn Manager = when spawner creates a new enemy
6. WorldItemActor & Decay
You can also mix loot → world items → decay with respawns:LootComponentgenerates items- You spawn
WorldItemActors usingInventoryComponent → SpawnWorldItem() WorldItemActorruns decay/spoilage logic (UMI)- When items expire, you may (optionally) have the spawn point schedule a respawn via Respawn Manager, if you want periodic “drop piles” in the world
7. Common Gotchas
❌ Forgetting to call ResetLoot() on respawn
Result: chest respawns visually but drops nothing (or keeps old state).Fix: Always call
LootComponent → Reset Loot in OnRespawnRequested.
❌ Using per-actor timers + Respawn Manager together
Result: duplicated logic, inconsistent behavior.Fix: Pick one pattern. For anything integrated with Respawn Manager, let only the manager handle timing.
❌ Not disabling collision/interaction on harvested nodes
Result: invisible objects blocking the player or still interactable.Fix: On harvest/loot: hide mesh, disable collision, disable interaction.
❌ Trying to respawn enemies directly with LootComponent
Respawn Manager should be used with spawners or respawn points, not with dead pawns themselves.Keep loot and respawn responsibility separated.
8. Best Practice Recipes
Renewable Resource Node
-
Actor:
BP_Tree,BP_Rock,BP_OreNode -
Components:
StaticMesh,LootComponent -
Interface:
BPI_Respawnable -
Flow:
- On harvest:
GenerateLoot→ give items → hide/disable → register respawn - On respawn:
ResetLoot→ show/enable
- On harvest:
Renewable Loot Chest
-
Actor:
BP_CampChest -
Components:
StaticMesh,LootComponent -
Variables:
RespawnTime,bIsOpen -
Flow:
- On open: generate loot, give to player, mark open, disable interaction, register respawn
- On respawn: reset loot, mark closed, enable interaction
Single-Use Boss Chest
- Actor:
BP_BossChest LootComponentwith Legendary-weightedLootTablebSingleUse = true- No respawn registration
- Optional: destroy chest after opening
9. Summary
- LootComponent + LootTable decide what is dropped.
- Respawn Manager decides when the loot source comes back.
- Resource nodes and chests are the main candidates for Respawn Manager + Loot integration.
- Enemies should use LootComponent for drops, and separate spawners for enemy respawn.