How to Make a Game Pass on Roblox: Step-by-Step Guide
Game passes are the most reliable way to earn Robux from your Roblox game. This guide walks you through every step, from Creator Hub setup to Luau scripting.
A game pass is a one-time purchase that gives a player a permanent perk in your Roblox game. VIP access, double income, exclusive cosmetics, extra inventory slots — game passes are the backbone of monetization on Roblox, and every successful game uses them.
Creating a game pass involves three steps: setting it up on the Roblox Creator Hub, designing an icon, and writing the Luau script that grants the perk when a player buys it. This guide covers the entire process so you can go from zero to a working game pass in a single session. If you want a broader look at earning revenue, check out our guide on how to monetize your Roblox game.
What You Need Before You Start
Before you can create a game pass, you need a published Roblox experience. Game passes are tied to specific experiences, so you cannot create one until your game exists on the platform. If you have not published yet, open your place in Roblox Studio, go to File, then Publish to Roblox, and follow the prompts. You do not need Roblox Premium — any developer can create and sell game passes for free.
Prerequisites for creating a game pass:
- A Roblox account (any age, no Premium required)
- A published Roblox experience (does not need to be public)
- An icon image for the game pass (150x150 pixels, PNG or JPEG)
- Roblox Studio installed for scripting the functionality
- A basic understanding of Luau scripting
Step 1: Create the Game Pass on Creator Hub
Open the Roblox Creator Hub at create.roblox.com. Sign in, click Creations in the left sidebar, and select the experience you want to add a game pass to. Navigate to Monetization, then Game Passes, and click Create a Game Pass.
You will be prompted to upload an icon image and enter a name and description. The name should be clear and descriptive — players decide whether to buy based on what they see in the game pass menu, so do not be vague. A name like "2x Cash" tells the player exactly what they are getting. A name like "Special Upgrade" tells them nothing. Once you submit, Roblox reviews the icon through its moderation system, which usually takes a few minutes.
Step 2: Design a Clear Game Pass Icon
Your game pass icon is the first thing players see, and it directly affects whether they buy. A strong icon communicates the perk instantly without requiring the player to read the description. You can create icons with any image editor — free tools like Pixlr, Photopea, or Canva work fine.
Icon design best practices:
- Use 150x150 pixels — this is the required resolution
- Keep the design simple with bold colors and high contrast
- Include a visual symbol of the perk (lightning bolt for speed, coins for currency, star for VIP)
- Add short text if needed, but no more than one or two words
- Use a consistent visual style across all your game passes so they look cohesive
Step 3: Set the Price and Go On Sale
Go back to the game pass list on Creator Hub, click on the pass you created, and look for the sales settings. Toggle the pass to On Sale and enter your price in Robux. The minimum price is 1 Robux and there is no maximum, though most successful passes fall between 25 and 500 Robux.
Remember the marketplace fee. Roblox takes 30 percent of every game pass sale. If you price at 100 Robux, you earn 70. Factor this into your pricing decisions. You can change the price at any time, and players who already purchased keep their pass regardless of changes.
Step 4: Get the Game Pass ID
Before you can script the functionality, you need the pass's unique ID. Go to your experience's Game Passes page on Creator Hub, click on the pass, and look at the URL in your browser. The number at the end of the URL is the game pass ID. Copy it — you will reference this in every script that checks for or grants this pass.
Step 5: Script the Game Pass in Luau
This is where the game pass actually does something. Creating it on Creator Hub makes it purchasable, but you still need code that detects ownership and grants the perk. All game pass scripting uses the MarketplaceService API.
Core scripting pattern for game passes:
- Get MarketplaceService using game:GetService("MarketplaceService")
- Define the game pass ID as a variable at the top of your script
- Listen for Players.PlayerAdded to check ownership when players join
- Call MarketplaceService:UserOwnsGamePassAsync(userId, passId) wrapped in pcall
- If the player owns the pass, apply the perk immediately
- Handle API failures gracefully — never let a failed call crash the script
Checking ownership on join. In ServerScriptService, create a new Script. Get a reference to MarketplaceService and define your game pass ID at the top. Connect to Players.PlayerAdded and call UserOwnsGamePassAsync inside that callback, wrapped in pcall because the API can fail if Roblox servers are slow. If the player owns the pass, apply the perk — increase their WalkSpeed, set a multiplier, grant area access, or whatever your pass promises.
Handling Mid-Session Purchases
Players might buy a game pass while already in your game. If you only check ownership on PlayerAdded, they would need to rejoin before the perk activates. That is a bad experience.
Use MarketplaceService.PromptGamePassPurchaseFinished. This event fires when a player completes or cancels a purchase. The callback gives you the player, the game pass ID, and a boolean for whether the purchase succeeded. When that boolean is true, apply the perk immediately so the player sees the effect without rejoining.
You can also prompt purchases from within the game using MarketplaceService:PromptGamePassPurchase(player, gamePassId). This shows the native Roblox purchase dialog. Use it when a player tries to enter a VIP area, interacts with a locked feature, or opens your shop GUI. Always check if the player already owns the pass before prompting — if they own it, let them use the feature directly.
Example: Building a 2x Cash Game Pass
Create the pass on Creator Hub. Name it "2x Cash" with a description like "Earn double cash from all sources, permanently." Upload an icon showing coins with a "2x" label. Set the price to 99 Robux.
Use a multiplier variable in your currency system. Wherever your game awards cash, multiply the amount by a cashMultiplier variable that defaults to 1. When a player owns the 2x Cash pass, set it to 2. This is cleaner than scattering if-else checks throughout your code and scales well if you later add other boosts.
Check ownership on join with UserOwnsGamePassAsync and connect to PromptGamePassPurchaseFinished for mid-session buyers. Both paths set the player's cashMultiplier to 2. This pattern — using a variable that your entire currency system references — means you only need to change one value to grant or revoke the perk.
Game Pass Ideas That Sell
Not all game passes convert equally. Here are the types that consistently perform well across Roblox.
VIP pass. A bundle of perks — chat tag, exclusive area, cosmetic items, and small gameplay bonuses. VIP passes make the player feel special every session and are typically the highest-priced pass at 200 to 500 Robux.
Multiplier passes. 2x cash, 2x XP, 2x speed — anything that doubles a core resource. These are the highest-converting passes because the value is immediately obvious.
Utility and cosmetic passes. Auto-collect, extra inventory, fast travel, exclusive skins, trails, and effects. Utility passes solve quality-of-life problems, while cosmetic passes appeal to players who want to stand out. Both convert well and neither disrupts game balance.
Pricing Strategy
Pricing is where many developers second-guess themselves. The right price depends on your audience, the perceived value of the perk, and what competitors charge. For a deeper dive, see our guide on how to earn Robux from game ideas.
Know your audience's budget. Roblox's audience skews young with limited Robux. A pass at 50 to 100 Robux converts far more players than one at 500. High volume at a lower price often generates more total revenue.
Use price anchoring and test relentlessly. Have at least one expensive pass (500 to 1,000 Robux) alongside cheaper options — it makes mid-tier passes look like a bargain. Launch with your best guess, monitor sales for a few weeks, and adjust. If nobody buys, the price may be too high or the perk not compelling enough.
Best Practices
Never paywall core gameplay. Every player should experience the main game loop for free. Game passes should enhance the experience, not gate it. If free players feel like they are playing a demo, they leave without buying.
Make the value obvious and start small. Players should understand exactly what they get before buying — write clear descriptions, use intuitive icons, and name passes plainly. Launch with two to three passes rather than ten. A focused shop with strong options converts better than a cluttered one.
Troubleshooting Common Issues
If your game pass does not appear in the game, make sure it is toggled to On Sale in Creator Hub and associated with the correct experience. Game passes are experience-specific — a pass created under one experience will not show in another. If ownership checks fail after a player purchases mid-session, remember that UserOwnsGamePassAsync caches results. Handle mid-session purchases through the PromptGamePassPurchaseFinished event instead of rechecking ownership. Also ensure all MarketplaceService calls are wrapped in pcall — network issues and rate limiting can cause failures that should never crash your script.
Wrapping Up
Creating a game pass on Roblox is straightforward once you understand the three parts: set it up on Creator Hub, design a clear icon and set your price, and write the Luau code that makes it actually work in your game. The technical side is not complicated — most of the real work is deciding what perks to offer and how to price them so players feel they are getting genuine value.
Start with one game pass that solves a real problem or offers a genuinely desirable perk. Get it working end to end. Watch how players respond. Then iterate. The developers who earn consistently from game passes treat monetization as an ongoing design problem, not a one-time setup. For the full picture on all revenue options, read our complete guide on how to monetize your Roblox game.
Frequently Asked Questions
Do I need Roblox Premium to create a game pass?
No. Any Roblox developer can create and sell game passes for free. You do not need a Premium subscription. Roblox takes a 30 percent marketplace fee on each sale, so you receive approximately 70 percent of the listed price in Robux.
How long does it take for a game pass to appear after creating it?
The game pass is created instantly, but the icon image must pass through Roblox moderation before it becomes visible to players. This typically takes a few minutes, though it can occasionally take up to an hour during peak times. Make sure your icon follows community guidelines to avoid rejection.
Can I change the price of a game pass after people have bought it?
Yes. You can change the price at any time through Creator Hub. Players who already purchased the pass keep it regardless of price changes. There are no refunds issued when you lower the price, and existing owners are not charged more if you raise it.
Why is my game pass not working after a player buys it?
The most common cause is only checking ownership on PlayerAdded and not handling mid-session purchases. Connect to the MarketplaceService.PromptGamePassPurchaseFinished event to detect purchases that happen while the player is already in-game. Also ensure your UserOwnsGamePassAsync calls are wrapped in pcall to handle API failures gracefully.
How many game passes can I create for one experience?
There is no hard limit on the number of game passes per experience. However, having too many passes can overwhelm players and dilute your shop. Most successful games focus on three to six well-designed game passes rather than dozens of marginal ones. Quality and clarity matter more than quantity.