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

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.

  1. In the Explorer window, right‑click ReplicatedStorage → Insert Object → Tool.
  2. Name the tool (e.g., “SwordOfValor”) and customize its appearance.
  3. 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