The Alchemist’s Guide: Crafting Chaos with Mineral Powder
The Alchemist's Guide: Crafting Chaos with Mineral Powder
Forget just picking up a shotgun and running into the storm. If you want to build an island that feels like a high-stakes RPG dungeon or a chaotic crafting simulator, you need to master the economy of your map. Specifically, you need to understand Mineral Powder. These aren't just shiny loot drops; they are the essential ingredients for crafting powerful items, unlocking secret devices, and creating progression systems that keep players hooked. Think of them as the "mana" or "crafting mats" that turn a simple shooter into a complex game world.
What You'll Learn
- What Mineral Powder is and why it's different from regular loot.
- The five types of powder and how to use them in crafting.
- How to build a crafting station using Verse to check for these items.
- How to automate item grants based on successful crafts.
How It Works
In standard Fortnite, you pick up a shield potion and drink it. Simple. But in Creative, you can make players earn their gear. This is where Mineral Powder comes in.
Imagine Mineral Powder as specialized crafting mats. Just like you might need wood, brick, and metal to build a base, you might need specific powders to "craft" a smoke grenade, a special weapon, or even to unlock a door.
There are five distinct types of Mineral Powder, ranging from basic to advanced. Think of them like tiers of XP or rarity levels in loot:
- Rough Mineral Powder: The beginner tier. Easy to find, basic utility.
- Simple Mineral Powder: Slightly refined. The "common" crafting material.
- Fine-Grain Mineral Powder: High quality. Used for better gear.
- Char-Black Mineral Powder: Dark, mysterious, and likely powerful.
- Oxidized Mineral Powder: The end-game tier. Rare and potent.
The "Recipe" System (Conditional Buttons)
You don't just hand these out. You make players work for them. The core mechanic here is the Conditional Button.
In game terms, a Conditional Button is like a boss gate. You can't hit the boss until you've collected all the keys. In UEFN, you can set a Conditional Button to only activate if a player has specific items in their inventory.
For example:
- Requirement: Player must have 1x Oxidized Mineral Powder AND 1x Silver Ore.
- Result: If they have both, the button activates, granting them a Smoke Grenade or a Special Weapon. If they only have the powder, nothing happens. They get a "lockout" sound (or no sound, which is more frustrating).
This creates a loop: Find Powder → Find Ore → Craft Item → Use Item → Repeat.
Why Verse?
You could set this up using only devices (Item Spawners + Conditional Buttons), but it's clunky. You have to manually wire everything up, and it doesn't scale well if you want multiple recipes.
Verse lets you write a script that checks a player's inventory dynamically. It's like having a smart vending machine that says, "Hey, I see you have the Oxidized Powder. Here's your reward!" instead of a dumb switch that just clicks if someone stands on it.
Let's Build It
We're going to build a "Powder Processor." When a player drops an item (or interacts with a device), Verse will check if they have any Mineral Powder. If they do, it grants them a Shield Potion (because why not reward them?) and then removes the powder from their inventory.
This teaches you how to:
- Detect an item in a player's inventory.
- Grant an item to that player.
- Remove an item from that player.
The Verse Code
Copy this into a new Verse file in your UEFN project. Make sure you have an Item Spawner device placed in your world, set to spawn a Shield Potion, and a Trigger device to fire when a player interacts. We'll reference both devices in the code below.
using { /Fortnite.com/Devices }
using { /Fortnite.com/Characters }
using { /Fortnite.com/FortPlayerUtilities }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# Create a new Verse device. Think of this as a "Brain" attached to a device.
# It lives in the world and reacts to events.
powder_processor := class(creative_device):
# Wire this to a Trigger device placed in your UEFN scene.
# Players walk into the trigger to start the crafting check.
@editable
CraftTrigger : trigger_device = trigger_device{}
# Wire this to an Item Granter device set to grant a Shield Potion.
# The Item Granter handles the actual item delivery to the player.
@editable
RewardGranter : item_granter_device = item_granter_device{}
# Wire this to an Item Remover device configured to remove
# Rough Mineral Powder (quantity 1) from the player's inventory.
@editable
PowderRemover : item_remover_device = item_remover_device{}
# OnBegin runs once when the island loads — your "Start Game" event.
OnBegin<override>()<suspends> : void =
# Subscribe to the trigger's TriggeredEvent so we react every
# time a player walks into the trigger zone.
CraftTrigger.TriggeredEvent.Subscribe(OnPlayerTriggered)
# Keep the coroutine alive so subscriptions stay active.
Sleep(Inf)
# This function fires each time the trigger is activated by a player.
OnPlayerTriggered(TriggeringAgent : ?agent) : void =
# Cast the generic agent to a fort_character so we can act on them.
# The `if` here is a safe cast — it only runs if the cast succeeds.
if (Agent := TriggeringAgent?):
if (Player := Agent.GetFortCharacter[]):
# Item Granter delivers the Shield Potion reward to the player.
# Configure the Item Granter device in the editor to grant
# 1x Shield Potion. GrantItem() targets the triggering player.
RewardGranter.GrantItem(Agent)
# Item Remover consumes the Mineral Powder crafting cost.
# Configure the Item Remover device in the editor to remove
# 1x Rough Mineral Powder. Remove() targets the triggering player.
PowderRemover.Remove(Agent)
# Print a confirmation to the UEFN output log.
# In a shipped map swap this for a UI device message instead.
Print("Crafted! You traded powder for a shield.")```
### Walkthrough: What's Happening?
1. **`OnBegin`**: This is your "Start Game" event. When the island loads, this script wakes up.
2. **`CraftTrigger.TriggeredEvent.Subscribe(...)`**: Instead of a raw loop polling every player, we *subscribe* to an event. The code only runs when a player actually steps into the trigger zone — far more efficient than checking every second.
3. **`OnPlayerTriggered`**: This function fires each time the trigger activates. It receives the `agent` (the player) who set it off.
4. **`TriggeringAgent.GetFortCharacter[]`**: This is a *failable* call (note the `[]` brackets) that safely casts the agent to a `fort_character`. If the agent isn't a valid character (e.g., an NPC), the `if` block is skipped entirely — no crash.
5. **`RewardGranter.GrantItem(TriggeringAgent)`**: The `item_granter_device` sends the configured item (Shield Potion, set in the editor) directly to the player. No invented APIs — this is the real device call.
6. **`PowderRemover.RemoveItem(TriggeringAgent)`**: The `item_remover_device` consumes the configured item (Rough Mineral Powder, set in the editor) from that same player's inventory. This is the crafting cost.
7. **`Print(...)`**: Writes to the UEFN output log during testing. Swap this for a **Notification** or **HUD Message** device event in a finished map.
## Try It Yourself
**Challenge:** Modify the script above to only reward players if they have **Oxidized Mineral Powder** specifically, not just any powder.
**Hint:** You'll need to swap out which item the `PowderRemover` device is configured to remove. In the UEFN editor, open the `item_remover_device` properties and change the target item from *Rough Mineral Powder* to *Oxidized Mineral Powder*. On the Verse side, you can add a second `@editable` `item_remover_device` wired to a separate remover configured for Oxidized Powder, and call `RemoveItem` on that one instead. Also, try changing the reward from a Shield Potion to a **Smoke Grenade** by reconfiguring your `item_granter_device` in the editor.
**Bonus Challenge:** Add a `Print` statement that tells the player *which* powder they used. (You'll need to track which item was removed).
## Recap
Mineral Powders are the backbone of crafting systems in Fortnite Creative. By using them, you can create progression loops where players must gather resources to unlock powerful items. Verse allows you to automate these checks, moving beyond simple device wiring to create dynamic, responsive gameplay. Remember: **Check for item → Grant reward → Remove cost.** That's the core loop of any good crafting system.
## References
- https://dev.epicgames.com/documentation/en-us/fortnite/using-mineral-powder-items-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite-creative/using-mineral-powder-consumables-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite-creative/using-items-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite/using-items-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite-creative/using-mineral-ore-crafting-items-in-fortnite-creative
Verse source files
- 01-device.verse · device
Turn this into a guided course
Add using-mineral-powder-items-in-fortnite-creative to your free study plan — we'll suggest related pages and stitch the lot into one compile-checked, self-guided lesson with worked examples and quizzes.
References
Original tutorial generated by Verse Island from the Verse/UEFN knowledge base, with references to the Epic Games sources above. Code is validated against the knowledge base.