Skip to content

Commit 28e8ea5

Browse files
authored
Merge branch 'main' into patch-15
2 parents 5df59e7 + 8b365de commit 28e8ea5

File tree

6 files changed

+68
-18
lines changed

6 files changed

+68
-18
lines changed

content/common/navigation/monetize/experiences.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ navigation:
2222
path: /production/monetization/paid-access-local-currency
2323
- title: Price optimization
2424
path: /production/monetization/price-optimization
25+
- title: Regional Pricing
26+
path: /production/monetization/regional-pricing
2527

2628
- heading: Advertise
2729
- title: Ads Manager

content/en-us/production/monetization/game-passes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description: Passes let you charge users a one-time Robux fee to access privileg
66
**Passes** let you charge users a one-time Robux fee to access special privileges inside your experience, such as entry to a restricted area, an in-experience avatar item, or a permanent power-up.
77

88
<Alert severity="info">
9-
For items that a player might purchase multiple times, such as potions, temporary power-ups, or in-experience currency, see [Developer Products](../../production/monetization/developer-products.md).
9+
For items that a player might purchase multiple times, such as potions, temporary power-ups, or in-experience currency, see [Developer products](../../production/monetization/developer-products.md).
1010
</Alert>
1111

1212
## Create a pass

content/en-us/production/monetization/price-optimization.md

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,19 @@ To find how many transactions your experience has had, add the total number of p
1515

1616
**Price optimization** lets you find the best price points for your passes and developer products, which can help you earn more money over time while keeping your prices competitive. When you run a price test, subsets of your users see different prices for the same product. At the end of the test, you receive recommendations for the prices that performed best with your audience.
1717

18-
Before using price optimization, you should use the [dynamic price check tool](#use-the-dynamic-price-check-tool) to make sure product prices are dynamically scripted inside your experience. After using price optimization, you can run a [price review period](#run-a-price-review-period) to track the long-term revenue impact of your price changes.
18+
Before using price optimization, you should use the [dynamic price check tool](#check-for-dynamic-pricing) to make sure product prices are dynamically scripted inside your experience. After using price optimization, you can run a [price review period](#run-a-price-review-period) to track the long-term revenue impact of your price changes.
1919

2020
<img src="../../assets/monetization/price-optimization/Price-Optimization-Example.png" />
2121

22-
## Use the dynamic price check tool
22+
You can combine price optimization with **Regional Pricing** for your passes to reach a wider audience and build a more accessible and inclusive global economy. For more information about setting region-specific prices, see [Regional Pricing](./regional-pricing.md).
23+
24+
## Check for dynamic pricing
2325

2426
Price optimization can't collect data from and make changes to prices you have hard-coded into your experience. To run a price optimization test on products with hard-coded prices, you must first update them to be dynamically scripted.
2527

26-
Dynamically scripted prices update through `Class.MarketplaceService|MarketplaceService` and use functions like `Class.MarketplaceService:GetProductInfo()|GetProductInfo()` and `Class.MarketplaceService:GetDeveloperProductsAsync()|GetDeveloperProductsAsync()` to retrieve and display product prices you have set through the Creator Hub. For information on how to dynamically script product prices, see [Selling Passes](./game-passes.md#sell-passes) and [Selling Developer Products](./developer-products.md#sell-developer-products).
28+
Dynamically scripted prices update through `Class.MarketplaceService|MarketplaceService` and use functions like `Class.MarketplaceService:GetProductInfo()|GetProductInfo()` and `Class.MarketplaceService:GetDeveloperProductsAsync()|GetDeveloperProductsAsync()` to retrieve and display product prices you have set through the Creator Hub. For information on how to dynamically script product prices, see [Sell a pass](./game-passes.md#sell-a-pass) and [Sell a developer product](./developer-products.md#sell-a-developer-product).
2729

28-
The dynamic price check tool updates all products for sale with a fake Robux price to identify which of your product prices are hard-coded and which are scripted with `Class.MarketplaceService|MarketplaceService` inside your experience. If a product price updates to the fake Robux price, the price is scripted. If it remains the same, the price is hard-coded.
30+
The dynamic price check tool updates all products for sale with a fake Robux price or a fake economic location to identify which of your product prices are hard-coded and which are scripted with `Class.MarketplaceService|MarketplaceService` inside your experience. If a product price updates to new price, the price is scripted. If it remains the same, the price is hard-coded.
2931

3032
```lua title="Client Script for a Dynamically Scripted Product Price"
3133
local productInfo = MarketplaceService:GetProductInfo(PRODUCT_ID)
@@ -39,22 +41,22 @@ local priceInRobux = 500
3941
To use the dynamic price check tool:
4042

4143
1. Go to [Creations](https://create.roblox.com/dashboard/creations) and select an experience.
42-
2. Go to **Monetization products** &rang; **Price Optimization**.
44+
2. Go to **Monetization** > **Price Optimization**.
4345
3. Click **Dynamic Price Check**.
44-
4. In **Add test accounts**, enter up to five Roblox users to test the fake Robux prices inside your experience.
45-
5. Select a fake Robux price. All of the scripted product prices update to reflect this fake price.
46-
6. Click **Enable**. After a few minutes, you're able to enter your experience to identify which prices are hard-coded.
46+
4. Under **Add test accounts**, enter up to five Roblox users to check for hard-coded prices.
47+
5. Select a testing type.
48+
- **Price pinned** updates all dynamically-scripted prices with a set fake Robux amount.
49+
- **Location pinned** updates all dynamically-scripted prices with a region-specific price for a fake economic location.
50+
6. Click **Enable**. After a few minutes, you can enter your experience to identify the hard-coded prices.
4751

48-
<Alert severity="info">
4952
To disable the dynamic price check tool, go to the **Dynamic Price Check** page and click **Disable**.
50-
</Alert>
5153

5254
## Use price optimization
5355

5456
To use price optimization:
5557

5658
1. Go to [Creations](https://create.roblox.com/dashboard/creations) and select an experience.
57-
2. Go to **Monetization products** &rang; **Price Optimization**.
59+
2. Go to **Monetization** > **Price Optimization**.
5860
3. Select the developer products and passes you want to include in the price test. For best results, include all products.
5961
4. Click **Start Test**. After approximately two weeks, you receive an e-mail notification that the test is complete. The **Price Optimization** page updates with the optimized product prices, the recommended price percentage change, and the approximate long-term revenue impact of applying the new product prices.
6062
5. Click **Review & Apply prices** to apply the results of the price optimization test.
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
title: Regional Pricing
3+
description: Regional pricing adjusts the price of your passes based on a user's region.
4+
---
5+
6+
With Regional Pricing, you can offer region-specific prices for your passes and build a more inclusive and accessible global economy. After you determine a default global price for a pass, Roblox uses a variety of signals like the region's purchasing power, currency exchange rates, and local spending behavior to set the most appropriate price for that pass region by region.
7+
8+
You can choose which of your passes you want to price regionally. When you enable Regional Pricing for a pass in your experience, Roblox automatically adjusts the price of that pass for users based on their economic location. Economic location is not always the same as account location. To determine a user's economic location, Roblox looks at signals, including VPN usage, billing history, and account history. If their economic location can't be determined, users see the default global price for the pass instead.
9+
10+
## Enable Regional Pricing
11+
12+
<Alert severity="warning">
13+
Regional prices never exceed or go below 30% of the default price of your pass.
14+
</Alert>
15+
16+
To enable Regional Pricing:
17+
18+
1. Go to [Creations](https://create.roblox.com/dashboard/creations) and select an experience.
19+
2. Go to **Monetization** > **Passes**.
20+
3. Select an existing pass or create a new pass.
21+
4. Click **Sales**.
22+
5. Turn on **Enable Regional Pricing**. The **Top Countries/Regions** list updates to show the adjusted regional price per country or region based on the default price of the pass. To view regional prices for all countries and regions, click **View all**.
23+
6. Click **Save Changes**.
24+
25+
Regional prices update periodically to reflect changes in global economy trends.
26+
27+
## Check for dynamic pricing
28+
29+
<Alert severity="info">
30+
You don't need to check for hard-coded prices if you only have passes for sale on your experience details page.
31+
</Alert>
32+
33+
When you enable Regional Pricing for a pass, the price of the pass adjusts for users in different regions whether it's for sale inside or outside of your experience. However, if you have hard-coded the price into your experience's UI, that number does not update as it's not dynamic or accessible by Roblox. As a result, users are charged the correct region-specific price but the UI still shows them the hard-coded value.
34+
35+
The **dynamic price check** tool updates all products for sale inside your experience with a fake Robux price or a fake economic location to help you identify which prices are hard-coded in your experience's UI and which are dynamically-scripted with `Class.MarketplaceService|MarketplaceService` and called from a client script. After you have identified the hard-coded passes, you can update them to use `MarketplaceService` functions.
36+
37+
To use the dynamic price check tool:
38+
39+
1. Go to **Monetization** > **Passes**.
40+
2. Click **&hellip;** and select **Dynamic Price Check**.
41+
3. Under **Add test accounts**, enter up to five Roblox users to check for hard-coded prices.
42+
4. Select a testing type.
43+
- **Price pinned** updates all dynamically-scripted prices with a set fake Robux amount.
44+
- **Location pinned** updates all dynamically-scripted prices with a region-specific price for a fake economic location.
45+
5. Click **Enable**. After a few minutes, you can enter your experience to identify the hard-coded prices.
46+
47+
To disable the dynamic price check tool, go to the **Dynamic Price Check** page and click **Disable**.
48+
49+
For more information about hard-coded versus dynamically-scripted product prices, see [Check for dynamic pricing](./price-optimization.md#check-for-dynamic-pricing) in the Price optimization page. For more information about selling passes with `MarketplaceService` functions, see [Sell a pass inside your experience](./game-passes.md#inside-your-experience).

content/en-us/reference/cloud/toolbox-service/v1.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -301,10 +301,7 @@
301301
},
302302
"x-roblox-scopes": [
303303
{
304-
"name": {
305-
"ScopeName": "creator-store-product:read",
306-
"TargetResourceSpecifier": ""
307-
}
304+
"name": "creator-store-product:read"
308305
}
309306
],
310307
"security": [

content/en-us/reference/engine/classes/AudioTextToSpeech.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ type: class
33
category:
44
memory_category: Internal
55
summary: |
6-
Used to play text as speech audio.
6+
Plays text as speech audio.
77
description: |
88
`Class.AudioTextToSpeech` is used to play text as speech audio. It provides a
99
single **Output** pin which can be connected to other pins via
1010
`Class.Wire|Wires`. This API is still in development and is not yet publicly
11-
available
11+
available.
1212
code_samples:
1313
- audio-wiring---text-to-speech
1414
inherits:

0 commit comments

Comments
 (0)