This is a dev forum post that visually walks you through how to update the Shop in Shop Maker Pro
A few other concepts for setting up a Successful Shop
1. Choosing Your Product: Developer Products vs. Game Passes
Before you start, you need to decide how you want to charge your players.
-
Developer Products: These are typically “consumable” items that a player can buy multiple times. Think of currency packs, health refills, or temporary speed boosts.
-
Game Passes: These are one-time purchases that grant a permanent privilege or item. Use these for “VIP” access, permanent weapons, or special skins that you wouldn’t expect users to buy multiple of.
Pro Tip: If you want a player to be able to buy a “Sword” again if they lose it, use a Developer Product. If the sword should stay in their inventory forever, use a Game Pass.
2. Registering Items and Handling Rewards
Once you have created your product on the Roblox Creator Dashboard and copied the Product ID , you must tell the server what to do when that ID is purchased. In Roblox Studio, open ServerScriptService and locate the ShopServerHandler. Inside this script, you will find a function called applyProductReward.
This is where you use an elseif statement to map your Product ID to an action. For example, if you want to grant a speed boost:
elseif productId == "YOUR_ID_HERE" then
local character = player.Character
if character and character:FindFirstChild("Humanoid") then
character.Humanoid.WalkSpeed = 200
end
3. Utilizing ServerStorage for Security
In the plugin’s workflow, you are instructed to drag tools into the ServerStorage → BuyableItems folder. This is a critical security practice. ServerStorage is only visible to the server; players (clients) cannot see or access its contents.
By keeping your tools here, you prevent exploiters from stealing items. When a purchase is successful, the ShopServerHandler clones the tool from ServerStorage and places that clone into the player’s Backpack . This ensures that only players who have actually paid for the item receive it.
4. Persistence and DataStores
The ShopServerHandler also features a toggle for Persistence . In Roblox, a game “forgets” everything about a player once they leave unless you use DataStores . When persistence is enabled in the plugin settings, the server will automatically save the player’s in-game currency to Roblox’s cloud when they leave and reload it when they return. This is handled via DataStoreService, ensuring that players feel their progress is meaningful and permanent.