How To Make A Gamepass On Roblox That Gives You Gear
Roblox developers often use gamepasses to reward players with exclusive items. If you want a gamepass that automatically grants gear when purchased, this step‑by‑step guide will walk you through the process—from creating the pass to scripting the gear delivery.
What Is a Gamepass?
A gamepass is a one‑time purchase that gives a player permanent access to a specific feature, ability, or item inside a Roblox game. Unlike developer products, which can be bought repeatedly, a gamepass is owned for life, making it ideal for delivering gear such as swords, hats, or tools.
Prerequisites
- Roblox Studio installed and logged into your developer account.
- A published place where you have permission to edit scripts.
- The gear asset you want to give (either a pre‑made Roblox gear or a custom tool stored in ReplicatedStorage).
- Basic knowledge of Lua scripting.
Step 1: Create the Gamepass
1. Open Roblox Studio and go to the Home tab.
2. Click Game Settings → Marketplace → Create New Pass.
3. Upload an image, give the pass a clear name (e.g., “Sword of Valor”), and set a price.
4. Click Create Pass. Once created, note the Pass ID—you’ll need it for the script.
Step 2: Store the Gear Asset
If you’re using a custom tool, place it in ReplicatedStorage so the server can access it when a player purchases the pass.
- In the Explorer window, right‑click ReplicatedStorage → Insert Object → Tool.
- Name the tool (e.g., “SwordOfValor”) and customize its appearance.
- Make sure the tool’s Handle part is properly configured, otherwise the gear won’t appear in the player’s inventory.
Step 3: Write the Grant Script
In today’s video I show how a simple script can detect a purchase and give the gear instantly. Below is a minimal version you can paste into a ServerScriptService script.
local MarketplaceService = game:GetService("MarketplaceService") local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local PASS_ID = 12345678 -- replace with your actual Pass ID local GEAR_NAME = "SwordOfValor" -- name of the tool in ReplicatedStorage local function giveGear(player) local gear = ReplicatedStorage:FindFirstChild(GEAR_NAME) if gear then local clone = gear:Clone() clone.Parent = player:FindFirstChild("Backpack") or player end end MarketplaceService.PromptGamePassPurchaseFinished:Connect(function(player, passId, purchased) if purchased and passId == PASS_ID then giveGear(player) end end