Skip to content

Commit ea9a625

Browse files
update Open Source Docs from Roblox internal teams
1 parent d52f4a2 commit ea9a625

34 files changed

+8650
-3606
lines changed

content/common/navigation/engine/reference.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -916,6 +916,11 @@ navigation:
916916
type: engineapi
917917
source: /reference/engine/classes/DraggerService.yaml
918918
ignoreTranslation: true
919+
- title: EncodingService
920+
path: /reference/engine/classes/EncodingService
921+
type: engineapi
922+
source: /reference/engine/classes/EncodingService.yaml
923+
ignoreTranslation: true
919924
- title: EulerRotationCurve
920925
path: /reference/engine/classes/EulerRotationCurve
921926
type: engineapi

content/en-us/affiliates.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ The [Creator Affiliate Program](https://create.roblox.com/affiliate) is a pilot
1414
- Earn revenue in Robux whenever new users create a Roblox account and purchase Robux using your affiliate link. A new user is someone who doesn't already have an alternative Roblox account.
1515
- Exchange your Robux earnings for real-world money using the Developer Exchange program.
1616

17-
When a user creates a Roblox account using your affiliate link and then buys Robux, you can receive up to 50% of the value of their Robux purchases during their first six months on the platform, for a maximum revenue of $100 USD per new user. For example, if a new user joins Roblox and purchases $100 USD of Robux, you can earn up to $50 USD, minus certain fees like taxes and VAT.
17+
When a user creates a Roblox account using your affiliate link and then buys Robux, you can receive up to 50% of the value of their Robux purchases during their first six months on the platform, for a maximum revenue of \$100 USD per new user. For example, if a new user joins Roblox and purchases \$100 USD of Robux, you can earn up to \$50 USD, minus certain fees like taxes and VAT.
1818

1919
You receive your revenue in Robux, which you can exchange for real-world money through Developer Exchange.
Lines changed: 3 additions & 0 deletions
Loading

content/en-us/assistant/guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import BetaAlert from '../includes/beta-features/beta-alert.md'
2020

2121
## Studio features
2222

23-
In Studio, Assistant consists of a large language model (LLM) that generates code and a run-command module (similar to the existing [Command](../studio/ui-overview.md#command) bar) that runs code. As a result, Assistant can act directly on your data model, such as inserting and modifying objects, writing and inserting scripts, and automating repetitive tasks like modifying properties in bulk.
23+
In Studio, Assistant consists of a large language model (LLM) that generates code and a run-command module (similar to the existing [Command Bar](../studio/ui-overview.md#command-bar)) that runs code. As a result, Assistant can act directly on your data model, such as inserting and modifying objects, writing and inserting scripts, and automating repetitive tasks like modifying properties in bulk.
2424

2525
For a more in-depth look at what Assistant can do and how to use it, see the [Prompt guide and examples](prompt-engineering.md) and the following Roblox Staff livestream for tips, tricks, and inspiration.
2626

content/en-us/luau/native-code-gen.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ Every natively-compiled script consumes memory. When the size of compiled code r
111111
To monitor the native code size of individual functions and scripts:
112112

113113
1. Make sure you're in **Server** view through the [client/server toggle](../studio/testing-modes.md#toggle-clientserver) button.
114-
2. Invoke `debug.dumpcodesize()` from the [Command](../studio/ui-overview.md#command) bar.
114+
2. Invoke `debug.dumpcodesize()` from the [Command Bar](../studio/ui-overview.md#command-bar).
115115

116116
In the [Output](../studio/output.md) window, you'll see the total number of scripts and functions that have been natively compiled up to the point of invocation, the memory consumed by their native code, and the native code size limit. Following the summary, you'll see a table for every natively‑compiled script in descending order of code size.
117117

content/en-us/matchmaking/attributes-and-signals.md

Lines changed: 19 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Attributes and signals
3-
description:
3+
description: Attributes and signals define the player and server data used in matchmaking, including both Roblox-provided signals and custom signals you can create.
44
---
55

66
## Existing attributes
@@ -112,75 +112,61 @@ The following are Roblox-defined signals derived based on Roblox attributes:
112112

113113
A numerical signal that compares the average ages of players on a server to the joining player's age. This signal has a max relevant difference of 25. The signal score is inversely related to the age difference, meaning lower age differences have higher scores.
114114

115-
```lua
116-
ageDifferenceSignalScore = 1 - min(25, ageDifference) / 25, where
117-
ageDifference = abs(avgServerAge - joiningPlayerAge)
118-
```
115+
$\text{ageDifferenceSignalScore} = 1 - \min(25, \text{ageDifference}) / 25$
116+
117+
where
118+
119+
$\text{ageDifference} = |\text{avgServerAge} - \text{joiningPlayerAge}|$
119120

120121
### Device Type
121122

122123
A categorical signal that measures the ratio of players on the server with the same device type as the joining player. Device types include: Computer, mobile device, tablet, console, and VR device.
123124

124-
```lua
125-
deviceTypeSignalScore = (# players with same device as joining player) / (# players on the server)
126-
```
125+
$\text{deviceTypeSignalScore} = \text{\# players with same device as joining player} / \text{\# players on the server}$
127126

128127
### Friends
129128

130129
A preferred player is a player who is either connections with the joining player or who shares the same IP address as the joining player. The Friends signal is a categorical signal with a score of 1 when there is a preferred player in the server and a score of 0 when there are no preferred players on the server.
131130

132-
```lua
133-
friendsSignalScore = hasFriends ? 1 : 0
134-
```
131+
$\text{friendsSignalScore} = \text{hasFriends} \ {?} \ 1 : 0$
135132

136133
The Friends signal can also be considered a numerical signal with a maximum relevant value of 1.
137134

138-
```lua
139-
friendsSignalScore = min(# preferred players in server, 1) / 1
140-
```
135+
$\text{friendsSignalScore} = \min(\text{\# preferred players in server}, 1) / 1$
141136

142137
### Language
143138

144139
A categorical signal that measures the ratio of players on the server who share the same language setting as the joining player.
145140

146-
```lua
147-
languageSignalScore = (# players with same language setting as joining player) / (# players on the server)
148-
```
141+
$\text{languageSignalScore} = \text{\# players with same language setting as joining player} / \text{\# players on the server}$
149142

150143
### Latency
151144

152145
A numerical signal that measures the estimated ping time in milliseconds of the joining player if they were to play on a server. This signal has a max relevant value of 250 milliseconds. The signal score is inversely related to the ping, meaning lower ping values have higher scores.
153146

154-
```lua
155-
latencySignalScore = 1 - min(250, estimatedPingMs) / 250
156-
```
147+
$\text{latencySignalScore} = 1 - \min(250, \text{estimatedPingMs}) / 250$
157148

158149
### Occupancy
159150

160151
A numerical signal that measures the ratio of players on the server to the capacity of the server.
161152

162-
```lua
163-
occupancySignalScore = (# players in server) / serverCapacity
164-
```
153+
$\text{occupancySignalScore} = \text{\# players in server} / \text{serverCapacity}$
165154

166155
### Play History
167156

168157
The Play History attribute value is the log-10 number of minutes a player has played in a universe in the past 28 days. This numerical signal compares the average log-10 Play History value of players in the server to the joining player's Play History value. This signal has a max relevant difference of 4.6. The signal score is inversely related to the play history difference, meaning lower play history differences have higher scores.
169158

170-
```lua
171-
playHistorySignalScore = 1 - min(4.6, playHistoryDifference / 4.6), where
172-
playHistoryDifference = abs(avgServerPlayHistory - joiningPlayerPlayHistory)
173-
```
159+
$\text{playHistorySignalScore} = 1 - \min(4.6, \text{playHistoryDifference} / 4.6)$, where
160+
161+
$\text{playHistoryDifference} = |\text{avgServerPlayHistory} - \text{joiningPlayerPlayHistory}|$
174162

175163
### Voice Chat
176164

177165
A player can have voice chat enabled or disabled. The Voice Chat signal is a categorical signal that measures the ratio of players with the same voice chat setting as the joining player to the number of players in the server.
178166

179167
If a place has voice chat disabled, the Voice Chat signal's weight is 0.
180168

181-
```lua
182-
voiceChatSignalScore = (# players with same voice chat setting as joining player) / (# players on the server)
183-
```
169+
$\text{voiceChatSignalScore} = \text{\# players with same voice chat setting as joining player} / \text{\# players on the server}$
184170

185171
## Custom attributes
186172

@@ -385,9 +371,9 @@ The score is 1 when the server's attribute value (for example, Game Mode) is equ
385371

386372
```lua title="Joining player formula for server categorical signal"
387373
if server_{attribute_name} == joining_player_{attribute_name} then
388-
return 1
374+
return 1
389375
else
390-
return 0
376+
return 0
391377
end
392378
```
393379

@@ -408,7 +394,7 @@ The score is 1 when the server's attribute value is equal to a constant value of
408394

409395
```lua title="Constant value formula for server categorical signal"
410396
if server_{attribute_name} == constant_value then
411-
return 1
397+
return 1
412398
else
413399
return 0
414400
end

content/en-us/matchmaking/scoring.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -185,11 +185,9 @@ Different weights can also make matchmaking choose different servers. The follow
185185

186186
The server score is calculated by the following weighted sum formula, which sums a server's weighted signal scores:
187187

188-
```lua
189-
ServerScore
190-
= WeightedSignalScore_1 + WeightedSignalScore_2 + ... + WeightedSignalScore_n
191-
= Weight_1 * SignalScore_1 + Weight_2 * SignalScore_2 + ... + Weight_n * SignalScore_n
192-
```
188+
$\text{ServerScore} = \text{WeightedSignalScore}_1 + \text{WeightedSignalScore}_2 + \ldots + \text{WeightedSignalScore}_n$
189+
190+
$\phantom{\text{ServerScore}} = \text{Weight}_1 \times \text{SignalScore}_1 + \text{Weight}_2 \times \text{SignalScore}_2 + \ldots + \text{Weight}_n \times \text{SignalScore}_n$
193191

194192
### Matchmaking configurations
195193

@@ -258,15 +256,15 @@ Signals normalize attribute values to be numbers between 0 and 1. Numerical sign
258256

259257
The Age signal measures the difference between the average age of players in the server and the joining player's age.
260258

261-
`ageDifference = abs(avgServerAge - joiningPlayerAge)`
259+
$$\text{ageDifference} = |\text{avgServerAge} - \text{joiningPlayerAge}|$$
262260

263261
Servers with age differences beyond 25 are all considered equally incompatible with the player. For example, an age difference of 25 is no worse for a player than an age difference of 26, so both values should take the signal score to 0. In this case, 25 is considered the normalizing factor.
264262

265-
`normAgeDifference = min(1, abs(avgServerAge - joiningPlayerAge) / 25)`
263+
$$\text{normAgeDifference} = \min(1, |\text{avgServerAge} - \text{joiningPlayerAge}| / 25)$$
266264

267265
The signal score is inversely related to the age difference, meaning that the signal score is higher when the age difference is smaller.
268266

269-
`ageDifferenceSignalScore = 1 - normAgeDifference`
267+
$$\text{ageDifferenceSignalScore} = 1 - \text{normAgeDifference}$$
270268

271269
The following table shows Age signal scores with two different normalizing factors:
272270

content/en-us/production/earn-on-roblox.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ We are building one of the world's largest immersive platforms with 85.3M global
4141
Roblox's GDP <Typography variant="captionHeader" color="info">⑷ </Typography> has grown to become as large as that of some countries. Our success is directly tied to the success of our creators. Roblox earns money by selling Robux which users spend in‑experience and on items and assets in our marketplaces, all created by you.
4242

4343
<p><Typography variant="h5" color="primary">We exist to serve our community</Typography></p>
44-
We're always searching for new ways to increase creators' earnings. In 2024, our creator community earned $923 million. We've paid our developer community $3.3 billion since 2018.
44+
We're always searching for new ways to increase creators' earnings. In 2024, our creator community earned \$923 million. We've paid our developer community \$3.3 billion since 2018.
4545

4646
<p><Typography variant="h5" color="primary">As a result, creators can focus on creating</Typography></p>
4747
We are seeing healthy growth across creators and studios of varying sizes. Since 2019, the average annual earnings of the top 10 and top 1000 creators has increased by ~5.5 and ~6.8 times, respectively.&nbsp;<Typography variant="captionHeader" color="info">⑸</Typography><br /><br />
@@ -52,7 +52,7 @@ We are seeing healthy growth across creators and studios of varying sizes. Since
5252
<figcaption><Typography variant="captionHeader" color="info">⑵</Typography> Payouts for the year ended December&nbsp;31,&nbsp;2024.</figcaption>
5353
<figcaption><Typography variant="captionHeader" color="info">⑶</Typography> Based on readily available public data for daily active users of virtual worlds.</figcaption>
5454
<figcaption><Typography variant="captionHeader" color="info">⑷</Typography> Measured based on Roblox's annual bookings, which measures total economic activity on our platform.</figcaption>
55-
<figcaption><Typography variant="captionHeader" color="info">⑸</Typography> Of the millions of creators monetizing on Roblox, over 24,500 were part of our DevEx program, with the median creator participating in DevEx receiving $1,575 USD during the twelve months ended December&nbsp;31,&nbsp;2024.</figcaption>
55+
<figcaption><Typography variant="captionHeader" color="info">⑸</Typography> Of the millions of creators monetizing on Roblox, over 24,500 were part of our DevEx program, with the median creator participating in DevEx receiving \$1,575 USD during the twelve months ended December&nbsp;31,&nbsp;2024.</figcaption>
5656

5757
## Develop an experience
5858

@@ -243,7 +243,7 @@ After purchasing a Limited, there is up to a 30‑day holding period when the it
243243

244244
## Create and sell Studio plugins and models
245245

246-
You can create and sell Studio [plugins](../studio/plugins.md) and [models](../parts/models.md) to the creator community through the [Creator Store](../production/creator-store.md). A [plugin](../studio/plugins.md) is an extension that adds additional functionality to Studio, and a [model](../parts/models.md) is a reusable asset type. You can offer both to other creators on the [Creator Store](../production/creator-store.md) for free, or you can sell them for **United States Dollars** (the minimum price is $4.99 for plugins and $2.99 for models). Roblox offers a market-leading revenue share for these sales, as only taxes and payment processing fees are deducted. For more information, see [Sell on the Creator Store](../production/sell-on-creator-store.md).
246+
You can create and sell Studio [plugins](../studio/plugins.md) and [models](../parts/models.md) to the creator community through the [Creator Store](../production/creator-store.md). A [plugin](../studio/plugins.md) is an extension that adds additional functionality to Studio, and a [model](../parts/models.md) is a reusable asset type. You can offer both to other creators on the [Creator Store](../production/creator-store.md) for free, or you can sell them for **United States Dollars** (the minimum price is \$4.99 for plugins and \$2.99 for models). Roblox offers a market-leading revenue share for these sales, as only taxes and payment processing fees are deducted. For more information, see [Sell on the Creator Store](../production/sell-on-creator-store.md).
247247

248248
## Join the Creator Affiliate Program
249249

@@ -258,7 +258,7 @@ The [Creator Affiliate Program](https://create.roblox.com/affiliate) is a pilot
258258
- Earn revenue in Robux whenever new users create a Roblox account and purchase Robux using your affiliate link. A new user is someone who doesn't already have an alternative Roblox account.
259259
- Exchange your Robux earnings for real-world money using the Developer Exchange program.
260260

261-
When a user creates a Roblox account using your affiliate link and then buys Robux, you can receive up to 50% of the value of their Robux purchases during their first six months on the platform, for a maximum revenue of $100 USD per new user. For example, if a new user joins Roblox and purchases $100 USD of Robux, you can earn up to $50 USD, minus certain fees like taxes and VAT.
261+
When a user creates a Roblox account using your affiliate link and then buys Robux, you can receive up to 50% of the value of their Robux purchases during their first six months on the platform, for a maximum revenue of \$100 USD per new user. For example, if a new user joins Roblox and purchases \$100 USD of Robux, you can earn up to \$50 USD, minus certain fees like taxes and VAT.
262262

263263
You receive your revenue in Robux, which you can exchange for real-world money through Developer Exchange.
264264

content/en-us/production/monetization/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ You'll receive a [commission](../../marketplace/marketplace-fees-and-commissions
130130

131131
### Plugins and Models
132132

133-
A [plugin](../../studio/plugins.md) is an extension that adds additional functionality to Studio, and a [model](../../parts/models.md) is a reusable asset type. You can offer both to other creators on the [Creator Store](../../production/creator-store.md) for free, or you can sell them for **United States Dollars** (the minimum price is $4.99 for plugins and $2.99 for models). Roblox offers a market-leading revenue share for these sales, as only taxes and payment processing fees are deducted. For more information on selling plugins and models, see [Sell on the Creator Store](../sell-on-creator-store.md).
133+
A [plugin](../../studio/plugins.md) is an extension that adds additional functionality to Studio, and a [model](../../parts/models.md) is a reusable asset type. You can offer both to other creators on the [Creator Store](../../production/creator-store.md) for free, or you can sell them for **United States Dollars** (the minimum price is \$4.99 for plugins and \$2.99 for models). Roblox offers a market-leading revenue share for these sales, as only taxes and payment processing fees are deducted. For more information on selling plugins and models, see [Sell on the Creator Store](../sell-on-creator-store.md).
134134

135135
<Alert severity="warning">
136136
There is a 30 day escrow hold for each purchase. Roblox holds your share of the sale for 30 days, starting from the date of sale.

content/en-us/production/monetization/subscriptions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -342,9 +342,9 @@ Other relevant functions are available in `Class.MarketplaceService`:
342342

343343
## Earn with subscriptions
344344

345-
Subscriptions are priced in local currency, but you earn Robux at a rate of US $0.01 to 1 Robux according to the base platform price you selected for the subscription after platform fees. Roblox takes a 30% platform fee for the first month only, meaning that you receive the full subscription earnings from the second month onward. This revenue split is consistent across all platforms.
345+
Subscriptions are priced in local currency, but you earn Robux at a rate of US \$0.01 to 1 Robux according to the base platform price you selected for the subscription after platform fees. Roblox takes a 30% platform fee for the first month only, meaning that you receive the full subscription earnings from the second month onward. This revenue split is consistent across all platforms.
346346

347-
For example, if a user subscribes at the base price of US $9.99 (desktop) or $12.99 (mobile):
347+
For example, if a user subscribes at the base price of US \$9.99 (desktop) or \$12.99 (mobile):
348348

349349
- **First month:** The creator of the subscription receives `999 * .7 = 699` (desktop) or `1299 * .7 = 909` (mobile).
350350
- **Second month onward:** The creator of the subscription receives `999 = 999` (desktop) or `1299 = 1299` (mobile).

0 commit comments

Comments
 (0)