Skip to content

Commit ff89743

Browse files
update Open Source Docs from Roblox internal teams
1 parent c5b4024 commit ff89743

File tree

7 files changed

+45
-10
lines changed

7 files changed

+45
-10
lines changed

content/en-us/characters/pathfinding.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,22 @@ With **Pathfinding modifiers** enabled, text labels indicate specific materials
2121

2222
<img src="../assets/avatar/pathfinding/Navigation-Labels.jpg" width="800" alt="Navigation labels showing on navigation mesh" />
2323

24+
## Known Limitations
25+
26+
Pathfinding features specific limitations to ensure efficient processing and optimal performance.
27+
28+
### Vertical Placement Limit
29+
30+
Pathfinding calculations consider only parts within certain vertical boundaries:
31+
32+
- Lower Boundary &mdash; Parts with a bottom **Y** coordinate less than -65,536 studs are ignored.
33+
- Upper Boundary &mdash; Parts with a top **Y** coordinate exceeding 65,536 studs are ignored.
34+
- Vertical Span &mdash; The vertical distance from the lowest part's bottom **Y** coordinate to the highest part's top **Y** coordinate must not exceed 65,536 studs; otherwise, the pathfinding system will ignore those parts during the pathfinding computation.
35+
36+
### Search Distance Limitation
37+
38+
The direct line-of-sight distance for pathfinding from the start to the finish point must not exceed 3,000 studs. Exceeding this distance will result in a `Enum.PathStatus|NoPath` status.
39+
2440
## Creating Paths
2541

2642
Pathfinding is initiated through `Class.PathfindingService` and its `Class.PathfindingService:CreatePath()|CreatePath()` function.

content/en-us/performance-optimization/improving.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -423,11 +423,11 @@ same `MeshId` are handled in a single draw call when:
423423
<td>Light grid and shadow updates</td>
424424
</tr>
425425
<tr>
426-
<td>Update LightGrid</td>
426+
<td>LightGridCPU</td>
427427
<td>Voxel light grid updates</td>
428428
</tr>
429429
<tr>
430-
<td>Shadows</td>
430+
<td>ShadowMapSystem</td>
431431
<td>Shadow mapping</td>
432432
</tr>
433433
<tr>

content/en-us/production/analytics/custom-events.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ Once your experience begins tracking custom events, you'll unlock the Custom pag
1515

1616
To unlock the Custom Events dashboard, you must first track custom events in your experience. Start by identifying which metrics are the most important for monitoring and improving your experience. Events are aggregated daily so it may take up to 24 hours for charts to populate on the page.
1717

18+
<Alert severity ='warning'>
19+
Events can only be sent from the server and in published experiences. Events can't be sent from the client or Studio.
20+
</Alert>
21+
1822
### Counters
1923

2024
Counters are one-time events captured without a value. You can use counters for tracking the number of times a specific event has occurred. Use counters for single actions such as clicking a button, starting a quest, or using a tool.
@@ -71,6 +75,10 @@ You can breakdown by custom fields by using the breakdown selector.
7175

7276
<img src="../../assets/analytics/event-types/Custom-Event-Breakdown.png" width = "40%" alt="A dropdown indicating the three custom fields you can compare across, along with standard breakdowns like age, gender, operating system and more."/>
7377

78+
You should use custom fields whenever possible instead of event names, since there is a much tighter cardinality limit on event names than custom fields. Using custom fields also allows you to see visualizations of events across field values.
79+
80+
For example, instead of `PlantCabbage`, `PlantTurnip`, `PlantPepper` as three separate events, you could have a single event with the name `PlantSeed` and custom field values `Plant - Cabbage`, `Plant - Turnip`, and `Plant - Pepper`. This way you can visualize both the total number of seeds planted as well as compare each plant in the same visualization. This also reduces your event name cardinality.
81+
7482
For more information, see [custom fields](./custom-fields.md).
7583

7684
## Using Custom Events to Grow Your Experience

content/en-us/production/analytics/custom-fields.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ You can use up to 3 **custom fields** to filter your [Economy](./economy-events.
99
- Player class — Warrior, Mage, Archer
1010
- Weapon type — SMG, Pistol, Rocket Launcher
1111

12-
The `customFields` parameter is a dictionary argument that allows sending up to three custom values using the provided `Enum.AnalyticsCustomFieldKeys` as keys. You can have up to 8,000 unique combinations of values across the three custom fields.
12+
The customFields parameter is a dictionary argument that allows sending up to three custom values using the provided `Enum.AnalyticsCustomFieldKeys` as keys by accessing them as `Enum.AnalyticsCustomFieldKeys.CustomField{01, 02, 03}.Name`. Anything other than `CustomField01.Name`, `CustomField02.Name`, and `CustomField03.Name` is ignored. You can have up to 8,000 unique combinations of values across the three custom fields.
1313

1414
Using a fantasy-related experience as an example, you can track an economy event regarding equipment type, player class, and level with the following:
1515

content/en-us/production/analytics/economy-events.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ Once your experience begins tracking Economy events, you'll unlock the Economy p
1515

1616
To unlock the Economy dashboard, you need to track some economy events in your experience. Start by identifying where users **source** (i.e. gain) and **sink** (i.e. spend) resources in your experience. These are represented in code by `Enum.AnalyticsEconomyFlowType`, which can be either `Source` or `Sink`.
1717

18+
<Alert severity ='warning'>
19+
Events can only be sent from the server and in published experiences. Events can't be sent from the client or Studio.
20+
</Alert>
21+
1822
### Transaction Types
1923

2024
Each source and sink event requires a transaction type, encoded with `Enum.AnalyticsEconomyTransactionType`. By default, the options are:

content/en-us/production/analytics/funnel-events.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ Once your experience begins tracking Funnel events, you'll unlock the Funnel pag
1515

1616
To track funnel events, first identify the most important funnels in your experience and segment them into steps. Your onboarding flow is a great place to start, as this is where you may be losing most of your users.
1717

18+
<Alert severity ='warning'>
19+
Events can only be sent from the server and in published experiences. Events can't be sent from the client or Studio.
20+
</Alert>
21+
1822
### Tracking One-Time Funnels
1923

2024
A one-time funnel monitors conversion events that only occur once per user.

content/en-us/studio/microprofiler/tag-table.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -221,28 +221,31 @@ The following is a list of common tags in the MicroProfiler, grouped by category
221221
</tr>
222222
<tr>
223223
<td>Perform/Scene/computeLightingPerform/LightGridCPU</td>
224-
<td>Updates the voxel lighting. Lights are only rendered in Voxel Lighting mode, but occupancy and sky light are computed in all lighting modes.</td>
225-
<td>If updating chunk occupancy takes too long, consider using lower resolution geometry, or reducing the number of parts. If the other sub-markers take too long, consider reducing the number of lights. Consider using non-shadow casting geometry for objects that move and invalidate the occupancy.</td>
224+
<td>Updates the voxel lighting, which is used in `Enum.Technology|Voxel` and `Enum.Technology|ShadowMap` modes and at quality levels below 4 in `Enum.Technology|Future` mode.</td>
225+
<td>If updating chunk occupancy takes too long, consider using lower resolution geometry, reducing the number of parts, or anchoring parts. If the other sub-markers take too long, consider reducing the number of lights and using non-shadow casting geometry for objects that move and invalidate the occupancy.</td>
226226
</tr>
227-
{/*
228227
<tr>
229228
<td>Perform/Scene/computeLightingPerform/ShadowMapSystem</td>
230-
<td>-- TODO</td>
231-
<td>-- TODO</td>
229+
<td>Updates shadow maps. Not performed at quality levels below 4 or when `Class.Lighting.Technology` is set to `Enum.Technology|Voxel`.</td>
230+
<td>If lighting is set to `Enum.Technology|Future`, lower it to `Enum.Technology|ShadowMap` or reduce the number of lights. You can also use `Class.Light.Shadows` and `Class.BasePart.CastShadows` to disable shadow casting on less important instances. See [Improving Performance](../../performance-optimization/improving.md#mitigation-4).</td>
232231
</tr>
233-
*/}
234232
<tr>
235233
</tr>
236234
<tr>
237235
<td>Perform/Scene/Glow, ColorCorrection, MSAA, SSAO, and SSAOApply</td>
238236
<td>Post-processing rendering.</td>
239-
<td>Reduce the number of post-processing effects, usually this is not significant.</td>
237+
<td>Reduce the number of post-processing effects. Usually this is not significant.</td>
240238
</tr>
241239
<tr>
242240
<td>Perform/Scene/UI</td>
243241
<td>UI rendering. In Id_Screen, there is a label with the number of batches, materials and triangles used.</td>
244242
<td>Reduce the number of visible UI elements. Using `CanvasGroups` may help at the expense of increased memory use.</td>
245243
</tr>
244+
<tr>
245+
<td>Perform/Scene/UpdateView/updateParticles, updateParticleBoundings</td>
246+
<td>Update particle position and bounds.</td>
247+
<td>Reduce the number of `Class.ParticleEmitter|ParticleEmitters`, emission rates, lifetimes, etc. Limit the movement of emitters.</td>
248+
</tr>
246249
<tr>
247250
<td>Id_Opaque</td>
248251
<td>Parts in the scene with a transparency value of 0.</td>

0 commit comments

Comments
 (0)