Build path: For an RPG prototype, start with RPG Essentials Kit. If you want the pieces individually, combine Health System, Simple Inventory, Dialogue Trigger, Quest System, JSON Save Utility, and Damage Popup.
RPG systems become messy when inventory, dialogue, quest state, and saving are designed in isolation. The goal is not to build a massive RPG framework on day one. The goal is to prove one loop: talk to an NPC, accept a quest, collect or defeat something, update progress, reward the player, and save the result.
The RPG Loop
- Use Dialogue Trigger to start a conversation from an NPC.
- Use Quest System to accept and track the objective.
- Use Simple Inventory for quest items, keys, and rewards.
- Use Health System and Damage Popup for combat feedback.
- Use JSON Save Utility to persist inventory, quest progress, and player state.
Choose the Right System Size
RPG System Picker
| Need | Use | Note |
|---|---|---|
One small prototype | RPG Essentials Kit | RPG Essentials Kit bundles the common RPG pieces. |
Inventory only | Complete Inventory System | Complete Inventory System is better when item slots, item data, and inventory UI matter most. |
Conversation-heavy game | Dialogue System | Dialogue System gives dialogue data and manager scripts a dedicated structure. |
Persistent state | Save & Load System | Save & Load System is better for multiple slots and save callbacks. |
Inspector Notes
- Quest IDs: Keep objective IDs unique. Progress reporting usually depends on matching string IDs.
- Item data: Use ScriptableObjects for item definitions so multiple scenes can reference the same item asset.
- Save IDs: Give saveable objects stable IDs. Do not generate IDs at runtime if the same object must load correctly later.
- Dialogue triggers: Keep trigger volumes separate from visual meshes so interaction range is easy to tune.
What to Build First
Build one quest from start to finish before building ten partial systems. A good test quest is: NPC asks for three crystals, player collects three pickups, Quest System updates progress, Inventory removes the crystals, NPC gives a reward, JSON save/load restores the completed state.
For the full script catalog, use Free Unity C# Scripts and Game Systems. For deeper quest details, read How to Build an RPG Quest System in Unity.