Saved Sep 23, 2026 by @enviglo: Settings tabs, your own Discord bot, custom domains, and giving products by Discord ID or email
- The in-game hub is a ready-made Roblox place that sells your store's products in game. Your store's secret hub key is already inside it, so there's nothing to paste. This guide takes you from the download to a live hub, and covers keeping the key safe.+ The in-game hub is a ready-made Roblox place that sells your store's products in game, in a full-screen store that looks like your store on Enviglo. Your store's secret hub key is already inside it, so there's nothing to paste. This guide takes you from the download to a live hub, and covers what players see and keeping the key safe.The steps match the **In-game hub** card in **Settings** → **Integrations**, which ticks each one off as Enviglo sees it happen.…Your browser saves a Roblox place file named after your store's address, like `enviglo-hub-your-store.rbxlx`. Inside it:- - **EnvigloHub**, a script in ServerScriptService that loads Enviglo's hub module;- - **myPodSettings**, a module in ServerStorage that holds your store's secret hub key;+ - **EnvigloHub**, a script in ServerScriptService that runs the hub: loading your store, taking purchases and talking to Enviglo;+ - **EnvigloHub**, a folder in ReplicatedStorage with the parts the server and players' screens share;+ - **EnvigloHubClient**, a script in StarterPlayerScripts that draws the store screen;+ - **EnvigloSettings**, a module in ServerStorage that holds your store's secret hub key (see [Settings](#settings));- HTTP requests, already switched on.- Leave the script and the module where they are.+ The store screen is the whole game: there's no world to walk around, so players don't spawn an avatar.+ Leave the scripts, the folder and the settings module where they are. The hub's code is all inside the place, so nothing outside your own experience can stop it working.+Once you've downloaded it, the button reads **Download again**. Every download makes a new key and switches off the one in the previous file, so only press it when you mean to replace the key. See [Replace a leaked key](#replace-a-leaked-key).If your store came from myPod, your existing hub keeps working: its key isn't switched off by downloading this one. See [Coming from myPod](/wiki/coming-from-mypod).…1. Open the file in Roblox Studio: double-click it, or use **File** → **Open from File**.2. Choose **File** → **Publish to Roblox**.3. Create a new experience, or choose the place you want to replace.+ 4. Open **Game Settings** → **Security**, switch on **Allow Third Party Teleports**, and save. The hub sends players who haven't linked their account to Enviglo's verification game, and Roblox only lets a game send players to another experience with this on.- Publish into the experience your store sells in. **Buy on Roblox** sends buyers to your store's **Roblox place ID**, and once your Roblox experience is connected, Enviglo creates developer products in that place's experience. The card shows the experience it finds, with a link to the place.+ Publish into the experience your store sells in. Once the hub connects ([step 3](#3-join-it-once)), the place it runs in becomes your store's place: **Buy on Roblox** sends buyers there, and once your Roblox experience is connected, Enviglo creates developer products in that place's experience. The card shows the experience it finds, with a link to the place.## 3. Join it oncePlay your published game, or start a server in Studio. The hub connects to Enviglo as soon as it loads, and the card shows the place it connected from and when it was last seen.- Publish first. Until the game is published, Studio has no place ID to report.- - If your store has no **Roblox place ID** yet, the hub's place becomes it, so **Buy on Roblox** starts working.+ - The place the hub connects from becomes your store's place, so **Buy on Roblox** starts working. If you publish the hub somewhere else later, the store's place, and your Roblox experience connection, follow it the next time it connects.+ - To make Enviglo forget the place, select **Start again** on the card. **Buy on Roblox** stops working until a hub connects again, so publish the hub where you want it and join it once.- Make the experience public in Creator Hub when you want players in.- - The hub offers the product someone came for: **Buy on Roblox** on a product page opens your place with that developer product ready, and the purchase prompt appears once they've loaded in. They can also find it in the hub as usual.+ - The hub opens on the product someone came for: **Buy on Roblox** on a product page opens your place on that product's page, and the purchase prompt appears once they've loaded in.## 4. Make your products buyable in game- The hub lists your published products that have a developer product, plus free ones. Paid products without a developer product stay on your Enviglo store only. The card counts how many of your paid products have one, and **See the ones that can't be bought yet** lists the rest.+ The hub lists your published products that have a developer product or a game pass, plus free ones, and drops taking pre-orders. Paid products with neither stay on your Enviglo store only. The card counts how many of your paid products have one, and **See the ones that can't be bought yet** lists the rest.There are two ways to give a product its developer product:…[Sell with developer products](/wiki/sell-with-developer-products#create-the-developer-product) walks through both.+ ## What players see++ The store fills the screen for everyone as they join, and stays: there's nothing to open or close. It's laid out like your store on the website, in Enviglo's blue:++ - **The top bar**: your store's icon and name, with its verified tick if it has one, a search box, the **Products** and **Your products** tabs, and the player's avatar, which says whether their Roblox account is linked to Enviglo.+ - **Categories**: a tab for each of your store categories with its count (or for the kinds of thing you sell, when you have none), and the sort: **Popular**, **Newest** and price.+ - **Your store's header**: a banner of your products' pictures, your icon and name, and your numbers: rating, products, sales (when your store shows them) and the year you opened.+ - **Featured**: big cards for a few of your products, pictures first.+ - **Product cards**: picture, category, price, name, and the version and how many bought it, with Enviglo's New, Popular or Trending label on the picture. A product on sale shows its old price struck through and the saving.+ - **Product pages**: the picture and a table of its details beside the price and button, then its description and a few recent reviews. The button says **Buy now**, **Get it free** or **Pre-order**, and changes to **Owned** or **Pre-ordered** once the player has it. A drop taking pre-orders counts down to its release.+ - **Your products**: everything the player has from your store.++ Roblox's own buttons stay in the top corners; the rest of Roblox's UI (the player list, backpack and chat) is hidden while the store is up. It fits phones, tablets, computers and consoles.+## How products show in the hub- For each product, Enviglo sends the hub:+ For each product, Enviglo sends the hub its name, summary, description, Robux price, stock and star rating, and Enviglo's own New, Popular or Trending label, the same as on the website. Reviews go through Roblox's text filter before players see them.- - its name, description (or its summary, when it has no description), Robux price and stock;- - star ratings from its latest reviews;- - a corner tag: SALE while it's on sale, otherwise Enviglo's own New, Popular or Trending label, the same as on the website;- - its picture, from **In-game hub image** on the product's **Delivery** page.+ Games can only draw images uploaded to Roblox, so a product's picture in the hub comes from, in order:- Games can only draw images uploaded to Roblox, so upload the picture to Roblox and paste its image ID into **In-game hub image**. Products that came from myPod kept theirs.+ 1. **In-game hub image** on the product's **Delivery** page, when you've set one. Products that came from myPod kept theirs.+ 2. The game pass's own icon, for a product sold as a game pass.+ 3. The developer product's icon. Once your Roblox experience is connected, Enviglo sets it from the product's main picture for you, and updates it when that picture changes. An icon you set yourself on Roblox is left alone. Roblox checks each image first, so a new one takes a few minutes to show.+ 4. When there's none of those, a cover in Enviglo blue with the product's category and name, like the website's cover art.- Your store categories, under **Settings** → **Selling** → **Store categories**, go to the hub too, and Enviglo picks a product at random for the hub to feature. Changes you make can take a minute to show in game.+ Your store categories, under **Settings** → **Selling** → **Store categories**, go to the hub too. Changes you make can take a minute to show in game.The hub also tells Enviglo the Robux prices of your developer products, and Enviglo updates your products to match, so your store shows what players actually pay.+ ## Buyers link their account first++ The hub won't sell to a player whose Roblox account isn't linked to an Enviglo account, free products included. The first time they press **Buy**, the hub offers **Link my account**, which takes them to Enviglo's verification game. That game gives them a code to type in at enviglo.com/link, signed in or signing up, then asks them to confirm it's their Enviglo account, and sends them straight back to your game with the purchase prompt up for what they were buying.++ Linking happens in Enviglo's own game because only it can prove which Roblox account a player is: your game's word, or anyone else's, isn't enough to hand a Roblox account's purchases to an Enviglo account. The only thing for you to set up is **Allow Third Party Teleports** (step 2).++ It costs a buyer about a minute the first time, and never again. What they are paying for is a license and a file to download, and both live on an Enviglo account: held for a Roblox ID alone, a purchase does them no good until they come back for it, and many never do. You get a customer who can reach what they bought, ask you for support and buy again.+## How purchases are recorded- When a player buys in the hub, the hub reports the purchase to Enviglo with your store's key. Enviglo records it and puts the license on the player's Enviglo account, or on a placeholder account until they link Roblox. The purchase shows under **Orders** → **Purchases**, and the product shows in the buyer's library once their Roblox account is linked.+ When a player buys in the hub, the hub reports the purchase to Enviglo with your store's key before Roblox finishes it. Enviglo records it and puts the license on the player's Enviglo account. If Enviglo can't be reached at that moment, Roblox offers the purchase again later, and Enviglo counts it once however often it arrives. The purchase shows under **Orders** → **Purchases**, and the product is in the buyer's library straight away.+ Game passes bought on the Roblox website count too: the hub checks which of your game passes a player owns when they join. That is the one purchase the hub can't ask about first, so if they haven't linked, it waits for their Roblox account until they do. Free products taken with **Get it free** go on the player's account the same way as a purchase, linking included.++ ### Testing in Studio++ Purchases in Studio are pretend: Roblox charges nothing, so the hub doesn't send them to Enviglo. The store screen still shows them as bought, with a message saying it was a test, so you can try the whole flow. Nothing appears under **Orders**. Studio can't send anyone to another game either, so **Link my account** says so there; it works in your published game.+Everything that follows a sale works as usual: Discord roles and messages, and your [webhooks](/wiki/webhooks). What buying again does depends on the product's license type: see [How selling on Roblox works](/wiki/how-roblox-selling-works).+ ## Settings++ The **EnvigloSettings** module in ServerStorage holds your key and one setting:++ - **OtherPurchase**: only for a game that sells developer products of its own as well. The hub takes Roblox's purchases for your store's products; set this to a function that handles the rest and returns `Enum.ProductPurchaseDecision.PurchaseGranted` once the player has what they bought.++ ## Update to a newer hub++ When Enviglo has a newer hub than the one your game runs, the **In-game hub** card says **A new hub is ready**. Press **Download the new hub** and publish it over your place, as in [step 2](#2-publish-it-to-roblox). Your current hub keeps working until you do, and your products, sales and customers carry on as they are. The download has a new key, so publish it soon after downloading.+## Keep the hub key secret- The key in **myPodSettings** lets whoever has it record sales for your store.+ The key in **EnvigloSettings** lets whoever has it record sales for your store.- Don't share the downloaded file.- Don't make the place copyable. Anyone who copies it gets the key.- - Keep **myPodSettings** in ServerStorage, which players' devices never receive. Never move the module, or the key, into a LocalScript or ReplicatedStorage.+ - Keep **EnvigloSettings** in ServerStorage, which players' devices never receive. Never move the module, or the key, into a LocalScript or ReplicatedStorage.The hub key is separate from your API keys. It isn't listed under **API keys**, doesn't count towards your plan's API keys, and has no API scopes, so it can't record purchases or check licenses through the API. To do those from your own scripts, make an API key: see [API keys](/wiki/api-keys).…Your live hub stops working from step 1 until you finish step 2, so do both together.- If you've built on the place since you first published it, you don't need to start over. Only the **myPodSettings** module changes between downloads. Open the new file in Studio, copy the source of its **myPodSettings** module into the **myPodSettings** module in your place, and publish your place.+ If you've built on the place since you first published it, you don't need to start over. Only the **EnvigloSettings** module changes between downloads of the same hub. Open the new file in Studio, copy the source of its **EnvigloSettings** module into the **EnvigloSettings** module in your place, and publish your place.If your store came from myPod, its old hub key is listed under **API keys** as **myPod hub key**, and downloading the hub doesn't switch it off. If that key has leaked, revoke it there. Any hub still using it stops working.## Troubleshooting- - **The card says Roblox doesn't know your place.** Check the place is published, and that the **Roblox place ID** under **Settings** → **Store** → **Links** is right.- - **The card says your hub runs in one place but Buy on Roblox sends people to another.** Change the **Roblox place ID** under **Settings** → **Store**, or publish the hub into that place.+ - **The card says Roblox doesn't know your place.** Check the place is published. If the hub connected from the wrong place, publish it into the right one and join it once, or use **Start again** on the hub card.+ - **The card says your hub runs in one place but Buy on Roblox sends people to another.** Join your hub game once: when it connects, **Buy on Roblox** follows it. If buyers should go somewhere else, publish the hub into the right place and join it once, or use **Start again** on the hub card.- **A product is missing from the hub.** It has to be published, and a paid product needs a developer product. Changes can take a minute to show.- - **A product has no picture in game.** Set its **In-game hub image** on the **Delivery** page.- - **Enviglo refuses the hub with "Authentication Error: Secret key provided is incorrect or none provided."** The key in your place has been switched off, usually by a newer download. Publish the latest download, or copy its **myPodSettings** across.- - **The hub can't reach Enviglo at all.** In Studio, check **Allow HTTP Requests** is still on under **Game Settings** → **Security**. It's on in the downloaded file.+ - **A product has no picture in game.** Set its **In-game hub image** on the **Delivery** page, or connect your Roblox experience so Enviglo can set the developer product's icon. A new image can take a few minutes, while Roblox checks it.+ - **The store screen says "This game's store key isn't valid any more."** The key in your place has been switched off, usually by a newer download. Publish the latest download, or copy its **EnvigloSettings** across.+ - **The store screen says "Enviglo couldn't be reached."** In Studio, check **Allow HTTP Requests** is still on under **Game Settings** → **Security**. It's on in the downloaded file.+ - **Players see "This game can't send you there."** Switch on **Allow Third Party Teleports** under **Game Settings** → **Security** and save. Until then they can find Enviglo's verification game on Roblox themselves.+ - **A purchase in Studio isn't under Orders.** That's expected: Studio purchases are tests. See [Testing in Studio](#testing-in-studio).- **You can't see the In-game hub card.** You need the **Integrations** permission.- **The download is refused.** A suspended or closed store can't download its hub: "Enviglo has suspended this store, so its hub can't be downloaded." or "This store is closed, so its hub can't be downloaded."
The in-game hub is a ready-made Roblox place that sells your store's products in game, in a full-screen store that looks like your store on Enviglo. Your store's secret hub key is already inside it, so there's nothing to paste. This guide takes you from the download to a live hub, and covers what players see and keeping the key safe.
The steps match the In-game hub card in Settings → Integrations, which ticks each one off as Enviglo sees it happen.

Your browser saves a Roblox place file named after your store's address, like enviglo-hub-your-store.rbxlx. Inside it:
The store screen is the whole game: there's no world to walk around, so players don't spawn an avatar.
Leave the scripts, the folder and the settings module where they are. The hub's code is all inside the place, so nothing outside your own experience can stop it working.
Once you've downloaded it, the button reads Download again. Every download makes a new key and switches off the one in the previous file, so only press it when you mean to replace the key. See Replace a leaked key.
If your store came from myPod, your existing hub keeps working: its key isn't switched off by downloading this one. See Coming from myPod.
Publish into the experience your store sells in. Once the hub connects (step 3), the place it runs in becomes your store's place: Buy on Roblox sends buyers there, and once your Roblox experience is connected, Enviglo creates developer products in that place's experience. The card shows the experience it finds, with a link to the place.
Play your published game, or start a server in Studio. The hub connects to Enviglo as soon as it loads, and the card shows the place it connected from and when it was last seen.
The hub lists your published products that have a developer product or a game pass, plus free ones, and drops taking pre-orders. Paid products with neither stay on your Enviglo store only. The card counts how many of your paid products have one, and See the ones that can't be bought yet lists the rest.
There are two ways to give a product its developer product:
Sell with developer products walks through both.
The store fills the screen for everyone as they join, and stays: there's nothing to open or close. It's laid out like your store on the website, in Enviglo's blue:
Roblox's own buttons stay in the top corners; the rest of Roblox's UI (the player list, backpack and chat) is hidden while the store is up. It fits phones, tablets, computers and consoles.
For each product, Enviglo sends the hub its name, summary, description, Robux price, stock and star rating, and Enviglo's own New, Popular or Trending label, the same as on the website. Reviews go through Roblox's text filter before players see them.
Games can only draw images uploaded to Roblox, so a product's picture in the hub comes from, in order:
Your store categories, under Settings → Selling → Store categories, go to the hub too. Changes you make can take a minute to show in game.
The hub also tells Enviglo the Robux prices of your developer products, and Enviglo updates your products to match, so your store shows what players actually pay.
The hub won't sell to a player whose Roblox account isn't linked to an Enviglo account, free products included. The first time they press Buy, the hub offers Link my account, which takes them to Enviglo's verification game. That game gives them a code to type in at enviglo.com/link, signed in or signing up, then asks them to confirm it's their Enviglo account, and sends them straight back to your game with the purchase prompt up for what they were buying.
Linking happens in Enviglo's own game because only it can prove which Roblox account a player is: your game's word, or anyone else's, isn't enough to hand a Roblox account's purchases to an Enviglo account. The only thing for you to set up is Allow Third Party Teleports (step 2).
It costs a buyer about a minute the first time, and never again. What they are paying for is a license and a file to download, and both live on an Enviglo account: held for a Roblox ID alone, a purchase does them no good until they come back for it, and many never do. You get a customer who can reach what they bought, ask you for support and buy again.
When a player buys in the hub, the hub reports the purchase to Enviglo with your store's key before Roblox finishes it. Enviglo records it and puts the license on the player's Enviglo account. If Enviglo can't be reached at that moment, Roblox offers the purchase again later, and Enviglo counts it once however often it arrives. The purchase shows under Orders → Purchases, and the product is in the buyer's library straight away.
Game passes bought on the Roblox website count too: the hub checks which of your game passes a player owns when they join. That is the one purchase the hub can't ask about first, so if they haven't linked, it waits for their Roblox account until they do. Free products taken with Get it free go on the player's account the same way as a purchase, linking included.
Purchases in Studio are pretend: Roblox charges nothing, so the hub doesn't send them to Enviglo. The store screen still shows them as bought, with a message saying it was a test, so you can try the whole flow. Nothing appears under Orders. Studio can't send anyone to another game either, so Link my account says so there; it works in your published game.
Everything that follows a sale works as usual: Discord roles and messages, and your webhooks. What buying again does depends on the product's license type: see How selling on Roblox works.
The EnvigloSettings module in ServerStorage holds your key and one setting:
Enum.ProductPurchaseDecision.PurchaseGranted once the player has what they bought.When Enviglo has a newer hub than the one your game runs, the In-game hub card says A new hub is ready. Press Download the new hub and publish it over your place, as in step 2. Your current hub keeps working until you do, and your products, sales and customers carry on as they are. The download has a new key, so publish it soon after downloading.
The key in EnvigloSettings lets whoever has it record sales for your store.
The hub key is separate from your API keys. It isn't listed under API keys, doesn't count towards your plan's API keys, and has no API scopes, so it can't record purchases or check licenses through the API. To do those from your own scripts, make an API key: see API keys.
Your live hub stops working from step 1 until you finish step 2, so do both together.
If you've built on the place since you first published it, you don't need to start over. Only the EnvigloSettings module changes between downloads of the same hub. Open the new file in Studio, copy the source of its EnvigloSettings module into the EnvigloSettings module in your place, and publish your place.
If your store came from myPod, its old hub key is listed under API keys as myPod hub key, and downloading the hub doesn't switch it off. If that key has leaked, revoke it there. Any hub still using it stops working.