🎮Play the RPG Template DEMO
📜Check the DOCUMENTATION
💬Join our DISCORD
🎞️Watch tutorials on YOUTUBE
⚠️ Save $210 by buying the RPG TEMPLATE COMPLETE BUNDLE instead ⚠️
🎮BUILD COMPLETE GAMES, NEVER WRITE CODE
Spark is a no-code game framework for Unity by Blink.
🏆WHO ARE WE?
A two-time Unity Award winner with 70,000+ users on our previous products.
💥WHAT IS SPARK?
Create full RPGs, survival games, and more using Spark’s custom editor. No scripting required. If you want custom mechanics, Spark’s plugin system and included C# source let you extend anything.
WHAT IS INCLUDED IN THIS PLUGIN?
Items:
Create unlimited items for your game. Each item has a configurable rarity, a maximum stack size, and an item type that drives all of its behavior. The item type system is fully extensible, so any custom behavior can be added with a single C# class.
Item Types:
Choose what an item does when used, equipped, or obtained. Currently supported item types:
- Weapon: equips to a configurable hand slot on the character, spawns a visual weapon prefab on the correct bone, applies an Animator Override Controller to swap animations, and supports sheath and unsheath animations
- Armor: equips to a configurable slot on the character, shows or hides a named child GameObject on the character avatar, and applies a body mesh configuration that hides specific mesh types such as hair, beards, or hands while the armor is worn
- Resource: A basic item type
Any custom item type can be added with a single C# class inheriting from ItemTypeBase.
Weapon Configuration:
Each weapon supports five hand types that drive which equipment slots and visual configurations are used:
- Main Hand: occupies the configured main hand equipment slot
- Off Hand: occupies the configured off hand equipment slot
- Any Hand: supports dual configurations, one for main hand and one for off hand, allowing the same item to be equipped in either slot with separate visual setups
- Two Handed: occupies a single dedicated two-handed slot
- Ranged: occupies a dedicated ranged slot with its own separate visual configuration
Each configuration stores an optional weapon prefab, weapon scale, Animator Override Controller, camera override, sheath and unsheath animation toggle, and per-character bone coordinate overrides for precise placement on any character model.
Weapon Types:
Define unlimited weapon type categories as database entries, such as Sword, Axe, Spear, Staff, or Bow. Weapon types are used to drive requirement checks, ability weapon type filtering, and combat integration.
Equipment Slots:
Define unlimited equipment slots as database entries, each with a configurable slot type (Generic, Main Hand, Off Hand, or Ranged) and a placeholder icon displayed in the UI when the slot is empty.
Character Sheets:
Create character sheet configurations that define the exact set of equipment slots available for any character or NPC. The same slot type can be added multiple times to support multiple instances of the same slot, such as two ring slots or two accessory slots. The character sheet drives the layout of the Equipment UI automatically.
Inventories:
Create inventory definitions with a configurable slot count, optional item stacking, and optional auto-stacking of similar items into existing stacks on pickup. Inventories can be assigned to any entity in the scene via the Inventory Entity component with a direct scene reference or tag-based auto-discovery.
Body Mesh System:
Define body mesh types as database entries to categorize the individual meshes on a character model, such as hair, beard, eyebrows, or bare hands. Armor items can reference a Body Mesh Configuration that lists which mesh types to hide while that armor is worn, enabling clean layered character customization without any code.
Item Rarities:
Define unlimited item rarity tiers as database entries. Each rarity has a configurable display color that is automatically applied throughout the UI wherever that item appears.
Loot Tables:
Create data-driven loot tables to control exactly what drops and when. Each loot table supports:
- Guaranteed Drops: items that always drop from this table regardless of any weight or chance, with configurable minimum and maximum quantity per drop
- Drop Groups: named groups of items rolled independently, each with a relative group weight, a force select flag that makes the group always process regardless of weight, a configurable minimum and maximum number of items to draw from the group, and requirement gating so a group only becomes active when specific conditions are met
- Per-Item Configuration: each item within a group has an independent relative weight, an additional drop chance modifier, and a minimum and maximum quantity range
- Nested Tables: any item entry in a group can be replaced by a reference to another loot table, which is then rolled recursively when that entry is selected
- Global Drop Chance Multiplier: a single multiplier applied to all chances across the entire table, useful for difficulty scaling
- Allow Duplicates: control whether the same item can appear more than once in a single roll
- Max Total Drops: cap the total number of items that can drop from a single roll, regardless of group results
Requirements:
Gate any content behind item-related conditions using Spark's requirement system. Currently supported requirement types specific to the Items plugin:
- Has Item In Inventory: checks whether the entity's inventory contains a specific item with a comparison against a configurable quantity threshold
- Has Item Equipped: checks whether the entity has a specific item currently equipped
- Has Weapon Type Equipped: checks whether the entity has any weapon of a specific weapon type currently equipped
- Has Equipment Slot Equipped: checks whether a specific equipment slot is currently occupied by any item
- Has Empty Inventory Slot: checks whether the entity's inventory has at least a configurable number of empty slots available
UI:
Ready to use UI that will:
- Display an Inventory Panel showing all inventory slots in a grid, populated dynamically from the Inventory Entry configuration, with an animated open and close transition driven by a configurable animation curve and a bindable toggle input action
- Display a Character Sheet Panel showing all equipment slots defined in a Character Sheet Entry, with auto-discovery of slot UI components from children, modal behavior, and a configurable close button
- Show item tooltips on hover with a fully composable tooltip system built from individual elements that can be combined in any order, including an icon and name header, icon with inline text, plain text blocks, title and value pairs, stat display rows with configurable formatting, bullet lists, separators, and spacers
- Support drag and drop between inventory slots and equipment slots, allowing players to equip items directly from the inventory grid or swap equipment between slots
Trigger Integration:
Usable anywhere Spark Triggers are supported:
- Add Item: add a specific item and quantity to any entity's inventory
- Roll Loot Table: roll a loot table and distribute all resulting items into an entity's inventory
Extensions:
The Items plugin ships with several optional extensions that activate automatically when paired plugins are installed:
- Starting Items Extension: attach a starting item list to any Character Entry, with per-item quantity and an auto-equip flag that equips the item immediately after it is added to the inventory
- Class Starting Items Extension: attach a starting item list to any Class Entry, so characters of that class automatically receive and optionally auto-equip their class-specific gear on creation
- Quest Objectives Extension: enables a Loot Item objective type in the Quests plugin, tracking how many of a specific item the player has looted
- Quest Rewards Extension: enables a Gain Item reward type in the Quests plugin, granting specific items as quest rewards
- Ability Tooltips Extension: bridges item and ability data so that items which grant abilities display full ability tooltip information inline within the item tooltip
- Ability Weapon Type Extension: adds a weapon type field (Melee or Ranged) to any Ability Entry that automatically triggers the correct sheath and unsheath animation when that ability is cast
Integrated with Spark's Save System:
All inventory contents and equipped item state are saved and will load automatically in future sessions.