game

Roblox Gamepasses: How To Create And Sell Passes

Setting up monetization inside your experience shouldn't feel like navigating a maze. If you're trying to figure out where gamepasses went after recent creator interface updates, you'll find them tuck

Roblox Gamepasses: How To Create And Sell Passes
In this story

Setting up monetization inside your experience shouldn't feel like navigating a maze. If you're trying to figure out where gamepasses went after recent creator interface updates, you'll find them tucked away under the updated creator portal. This guide walks you through accessing the correct management hub, configuring passes, and linking them directly to your code without the fluff.

Managing monetization items requires using the Roblox Creator Dashboard to build, configure, and price custom items for your experiences. Unlike developer products, passes are single-purchase items that persist on a player's account across your specific experience, making them ideal for VIP perks, permanent gear, or special access areas.

Locating the Creator Dashboard Passes Menu

The interface has shifted significantly over past updates, moving away from legacy configuration pages tucked inside old configure experience menus.

  1. Log into your account on the Roblox Creator Hub.
  2. Navigate to your Creator Dashboard via the main navigation menu.
  3. Select your intended experience from the list of creations. If you don't have an experience published yet, you'll need to create a basic baseplate place first.
  4. Scroll down the left-hand sidebar under your experience's management options to find Associated Items.
  5. Click on Passes to view your existing items or initiate a new creation.

Getting lost in the old documentation or dead links is common because the URL structure redirected several legacy settings. Always start directly from your main dashboard home to avoid broken sub-menus.

Step-by-Step: Creating Your First Gamepass

Once you're inside the Passes tab, setting up a new pass takes under two minutes.

  1. Click the Create a Pass blue button.
  2. Upload an image file (PNG or JPEG, recommended 512x512 pixels) that visually represents the pass. If you skip this, a default placeholder icon appears, which hurts conversion rates.
  3. Enter a clear Name (e.g., "Double Speed") and a concise description explaining exactly what benefit the player receives.
  4. Click Create Pass.

The system generates the pass immediately, but it starts as off-sale by default. You must configure its pricing before players can purchase it.

Configuring Pricing and On-Sale Status

Creating the item object isn't enough; you have to set a price in Robux.

  1. Click on your newly created pass from the list to open its configuration settings page.
  2. Select Sales from the left sub-menu.
  3. Toggle the Item for Sale switch to active.
  4. Enter your desired price in Robux. Keep Roblox's platform marketplace fee structure in mind: creators receive a percentage split on sales, which adjusts depending on current platform terms.
  5. Click Save Changes.

Double-check your pricing before announcing updates to your players. Setting prices too high initially can kill conversion rates, while pricing too low leaves potential revenue on the table. For a standard gamepass offering a permanent utility boost, pricing between 50 and 400 Robux is common depending on game scale.

Scripting Gamepass Purchases in Luau

To make your pass actually do something in-game, you have to write server-side Luau code that checks ownership and grants the perk when purchased.

You'll need the numeric Pass ID, which you can copy directly from the browser URL when viewing your pass settings page.

Here is a standard server script handling prompt triggers and ownership validation:

local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")

local passId = 0000000 -- Replace with your actual numeric Pass ID

-- Function to grant the perk
local function grantPerk(player)
    print(player.Name .." purchased the pass!")
    -- Insert your reward logic here (e.g., speed boost, special tool)
end

-- Check ownership when player joins if they already own it
Players.PlayerAdded:Connect(function(player)
    local success, hasPass = pcall(function()
        return MarketplaceService:UserOwnsGamePassAsync(player.UserId, passId)
    end)
    
    if success and hasPass then
        grantPerk(player)
    end
end)

-- Prompt purchase when a player touches an in-game part
script.Parent.Touched:Connect(function(hit)
    local character = hit.Parent
    local player = Players:GetPlayerFromCharacter(character)
    
    if player then
        local success, hasPass = pcall(function()
            return MarketplaceService:UserOwnsGamePassAsync(player.UserId, passId)
        end)
        
        if success then
            if not hasPass then
                MarketplaceService:PromptGamePassPurchase(player, passId)
            else
                print(player.Name .." already owns this pass.")
            end
        end
    end
end)

Make sure you always wrap UserOwnsGamePassAsync and PromptGamePassPurchase calls inside pcall blocks. Network requests to marketplace services can occasionally fail or time out, and unhandled errors will break your script execution flow.

Common Mistakes to Avoid

Developers often run into preventable roadblocks when setting up monetization items. Avoid these frequent errors:

  • Using client-side verification for rewards: Never grant items or currency based solely on a client script firing a remote event. Exploiters can fire remote events directly. Always verify ownership on the server using UserOwnsGamePassAsync or listen to PromptGamePassPurchaseFinished.
  • Forgetting to configure IDs: Hardcoding the wrong asset ID in scripts is the #1 reason passes don't trigger in-game rewards. Always copy the ID directly from the URL bar of your dashboard item.
  • Ignoring mobile UI scaling: Ensure your purchase prompts and in-game shop buttons scale properly across phones, tablets, and consoles. If a prompt triggers off-screen on mobile, conversion drops to zero.

Frequently Asked Questions

What is the difference between a gamepass and a developer product?

Gamepasses are purchased once per player and permanently tied to their account for your experience. Developer products can be purchased multiple times (like consumable health potions or in-game currency packs).

Why aren't players receiving their items after buying a pass?

Most often, this happens because the game script isn't checking ownership correctly upon purchase completion, or the developer forgot to connect a listener to PromptGamePassPurchaseFinished. Ensure your server script handles the callback correctly.

Can I transfer a gamepass to another experience?

No. Passes are strictly tied to the specific universe and experience ID where they were created. You cannot share pass IDs across entirely separate game files.

How long does it take for pending Robux from sales to clear?

Robux earned from sales typically enters a pending status for up to 7 days before becoming available in your group or user balance. Check your Roblox Transactions page to track clearance status.

CR

Written by

Chloe Ramirez

Chloe Ramirez excels at making complicated information accessible, turning dense research into clear narratives that engage diverse audiences.

More from game