Build a Mechanical Crafting System in Fortnite Creative
Build a Mechanical Crafting System in Fortnite Creative
Stop letting players just punch trees and hope for the best. If you want your island to feel like a real game with progression, you need crafting. We’re going to build a system where players collect "Mechanical Parts" to unlock high-tier gear or trigger epic events. Think of it as the difference between finding a pistol in a chest and actually earning your own custom loadout by solving a puzzle. It’s satisfying, it’s logical, and it keeps players on your island longer.
What You'll Learn
- The Resource Bar: How to make crafting items appear on the HUD so players know what they’re carrying.
- The Conditional Button: The gatekeeper device that checks if a player has the right loot before letting them pass.
- Item Granting: How to give players the raw materials they need to start crafting.
- The Crafting Loop: Connecting collection to reward in a way that feels like progress, not homework.
How It Works
In Fortnite, "crafting" isn't magic. It’s just a fancy way of saying "check if the player has these specific items, then give them something better."
Imagine you’re trying to open a locked door. The door is a Device. The key is a set of Items. In standard Fortnite, you might just press a button. In our crafting system, the button only works if the player’s inventory contains the right combination of ingredients.
Here is the core concept we are building:
- Ingredients (The Loot): We use Mechanical Parts (Rusty, Simple, Sturdy, etc.). These are special consumables. Unlike a Shield Potion, you don’t "use" a Rusty Part to heal. You hold it. It sits in your inventory like a rare key.
- The Gate (The Logic): We use a Conditional Button. This device has "Requirements." You can tell it: "Only activate if the player has at least 1 Rusty Part AND 1 Simple Part."
- The Reward (The Payoff): When the button activates, it triggers an Item Granter to drop a powerful weapon or a special prop that requires those parts to build.
Why Mechanical Parts? Mechanical Parts are distinct because they show up in the top row of your resource bar (the same row as Wood, Brick, and Metal). This makes them feel like core resources, not just random trash. They come in tiers: Rusty (basic) up to Vindertech (high-end). We’ll start with the basics.
The Scene Graph Concept: In Unreal Engine (which powers Fortnite Creative), everything is an Entity (a thing that exists in the world) with Components (properties that define what it does).
- The Item Granter is an Entity. Its Component is "Give Item."
- The Conditional Button is an Entity. Its Component is "Check Inventory."
- The Player is an Entity. Their Inventory is a list of Components attached to them.
We are linking these Entities together using Events. When the Player picks up an Item, their Inventory Component updates. The Conditional Button checks that Component. If it matches, it fires an Event to the Item Granter.
Let's Build It
We are going to build a "Rusty to Sleek" Upgrade Station. Players will collect Rusty Mechanical Parts and Simple Mechanical Parts. When they have both, they can press a button to receive a Sleek Mechanical Part (a higher-tier component).
Step 1: Set Up the Collection Area
- Place an Item Spawner in your map.
- In the properties, set the Item to Rusty Mechanical Part.
- Set Quantity to 1.
- Set Respawn Time to 60 seconds (so players don’t farm it instantly).
- Place another Item Spawner nearby for Simple Mechanical Part.
Step 2: Create the Crafting Gate
- Place a Button device.
- Change the device type to Conditional Button (you can usually do this by right-clicking the device in the menu or changing the "Device Type" property).
- Look for the Requirements section in the properties.
- Add a requirement: Item Count.
- Select Rusty Mechanical Part.
- Set the count to 1.
- Add another requirement: Item Count.
- Select Simple Mechanical Part.
- Set the count to 1.
- Note: This means the player needs BOTH parts to activate the button.
Step 3: The Reward
- Place an Item Granter.
- Set the Item to Sleek Mechanical Part.
- Set Quantity to 1.
Step 4: Connect the Dots (The Verse Logic)
Now we need to tell the devices how to talk to each other. We’ll use Verse to make this robust, but actually, for this specific basic interaction, Fortnite Creative’s built-in wiring is often enough. However, to demonstrate the concept of programming and to ensure the items are actually consumed (removed from inventory) upon success, we’ll use a small Verse script attached to the Conditional Button.
Wait, actually, the Conditional Button in UEFN handles consumption automatically if configured correctly in the UI. But let's write a Verse script that demonstrates how we would programmatically check inventory and grant items, because that’s the power of Verse.
Here is a simple Verse script that you would attach to a Trigger or use in a Script device. For this tutorial, let's assume we are using a Script device that listens for a player entering a zone.
# This script checks if a player has the required parts and grants a reward.
using { /Fortnite.com/Devices }
using { /Fortnite.com/Player }
using { /Verse.org/Simulation }
# Define the script as a component for a device (like a Trigger)
MechanicalCraftingScript := script() {
# This runs when the script starts
OnStart: virtual function () {
# We don't need to do much here for a simple check
},
# This function is called when a player enters the trigger zone
OnBeginPlay: virtual function (self: MechanicalCraftingScript, player: Player) {
# CHECK: Does the player have the Rusty Part?
# 'HasItem' is a function that checks the player's inventory.
# Think of it like checking your pockets for keys.
has_rusty := player.HasItem("Rusty Mechanical Part", 1)
# CHECK: Does the player have the Simple Part?
has_simple := player.HasItem("Simple Mechanical Part", 1)
# LOGIC: If they have BOTH...
if (has_rusty and has_simple) {
# REMOVE: Take the items away (consumption)
# This is like using a potion. The item is gone.
player.ConsumeItem("Rusty Mechanical Part", 1)
player.ConsumeItem("Simple Mechanical Part", 1)
# GIVE: Hand them the Sleek Part
# This is like opening a chest. New loot acquired.
player.GrantItem("Sleek Mechanical Part", 1)
# FEEDBACK: Let the player know it worked
# In a real game, you'd play a sound or show text.
# For now, we just let the item appear in their inventory.
} else {
# If they don't have the items, we do nothing.
# The player will just stand there, confused.
# (You could add a "Error" sound here later).
}
}
}
Wait, there's a catch. The HasItem, ConsumeItem, and GrantItem functions above are conceptual for the sake of the analogy. In actual Verse for Fortnite Creative, you typically interact with the Inventory Device or use the Item Granter device's built-in "Consume" feature.
Let’s do it the real, working UEFN way using the Conditional Button correctly, because that’s what you’ll actually use 99% of the time. The Verse example above was to teach you the logic flow. Here is the actual setup:
- Item Spawner 1: Spawns Rusty Mechanical Part.
- Item Spawner 2: Spawns Simple Mechanical Part.
- Conditional Button:
- Requirements: Rusty Mechanical Part (1), Simple Mechanical Part (1).
- Consume Items: Check this box! This is crucial. It tells the button to remove the items from the player's inventory when activated.
- On Activate: Connect this output to the Input of an Item Granter.
- Item Granter:
- Item: Sleek Mechanical Part.
- Quantity: 1.
- Trigger: Place a Trigger device in front of the Conditional Button.
- On Enter: Connect to the Activate input of the Conditional Button.
Now, when a player walks in, the Trigger tells the Button to check. If they have the parts, the Button "eats" them and tells the Granter to spawn the Sleek Part.
Why this matters for Scene Graph:
You are creating a chain of Events.
Player Enter Trigger -> Event: Activate Conditional Button -> Check Inventory Component -> If Match: Consume Inventory Component -> Event: Activate Item Granter -> Grant Item Component.
Each device is an Entity. The connections are the data flow between them.
Try It Yourself
Challenge: Upgrade your system to a "Tier 2" crafting station.
- Create a new Conditional Button.
- Set the requirements to: Sleek Mechanical Part (2) AND Efficient Mechanical Part (1).
- Connect it to an Item Granter that spawns a Vindertech Mechanical Part.
- Hint: You’ll need to spawn the Efficient Mechanical Parts somewhere on the map too. Make sure your Trigger is placed where players can actually reach the new button.
Did it work? If the button didn’t activate, check if you forgot to check the "Consume Items" box on the Conditional Button. Without that, the button will just check if you have the items, but it won’t take them away, so you could spam it forever.
Recap
- Crafting Items like Mechanical Parts are special consumables that show up in your resource bar.
- Conditional Buttons are the gatekeepers. They check your inventory (your "pockets") before allowing an action.
- Consume Items is the magic checkbox that removes the ingredients from your inventory, simulating the act of crafting.
- Item Granter is the reward dispenser. It gives you the finished product.
- Verse is the underlying language that makes these connections happen, but UEFN’s visual wiring lets you build these systems without writing code—yet.
References
- https://dev.epicgames.com/documentation/en-us/fortnite/using-mechanical-crafting-items-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite-creative/using-crafting-items-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite-creative/using-nature-items-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite/using-crafting-items-in-fortnite-creative
- https://dev.epicgames.com/documentation/en-us/fortnite-creative/using-mechanical-crafting-consumables-in-fortnite-creative
Verse source files
- 01-fragment.verse · fragment
Turn this into a guided course
Add using-mechanical-crafting-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.