Skip to content

Commit b5c28a6

Browse files
sync: update documentation sources (2026-06-24 00:51 UTC)
1 parent e9507a8 commit b5c28a6

8 files changed

Lines changed: 203 additions & 1045 deletions

File tree

roblox/en-us/reference/cloud/openapi.json

Lines changed: 69 additions & 1034 deletions
Large diffs are not rendered by default.

roblox/en-us/reference/engine/classes/AnimationConstraint.yaml

Lines changed: 69 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,77 @@ type: class
77
memory_category: BaseParts
88
summary: |
99
Aligns two `Class.BasePart|BaseParts` with an animate-able kinematic or
10-
force-based joint.
10+
force-based joint that supports physical simulation (ragdoll, arm strength).
11+
The default joint type for R15 avatar rigs.
1112
description: |
12-
An `AnimationConstraint` constrains its `Class.Attachment|Attachments` so that
13-
they're offset by `Class.AnimationConstraint.Transform|Transform`.
13+
#### Replaces Motor6D for Avatar rigs
14+
15+
As part of the
16+
[Avatar Joint Upgrade](https://devforum.roblox.com/t/avatar-joint-upgrade-for-physically-simulated-character-movement-is-now-live/4298561),
17+
`AnimationConstraint` is the **replacement for `Class.Motor6D`** in R15 player
18+
character rigs. When
19+
`Class.StarterPlayer.AvatarJointUpgrade|AvatarJointUpgrade` is enabled (the
20+
default for new experiences), player characters spawn with
21+
AnimationConstraints instead of Motor6Ds. Unlike Motor6D, AnimationConstraint
22+
supports both kinematic animation and force-based physical simulation —
23+
enabling ragdoll physics, arm strength, and other physically simulated
24+
character movement without rebuilding the rig.
25+
26+
#### Migrating from Motor6D
27+
28+
If you have existing code that uses Motor6D for character rigs, note these key
29+
differences. See also the
30+
[Phase 2 migration recommendations](https://devforum.roblox.com/t/avatar-joint-upgrade-aju-phase-2-rollout-updated-migration-recommendations/4656414).
31+
32+
- **Finding joints**: Use `:FindFirstChildWhichIsA("AnimationConstraint")`
33+
instead of `:FindFirstChildOfClass("Motor6D")`. For code that must support
34+
both old and new rigs, check for AnimationConstraint first, then fall back
35+
to Motor6D.
36+
- **C0, C1, Part0, Part1**: These properties exist on AnimationConstraint as
37+
**read-only** aliases for backwards compatibility. They map to
38+
`Attachment0.CFrame`, `Attachment1.CFrame`, `Attachment0.Parent`, and
39+
`Attachment1.Parent` respectively. Do not attempt to write to them.
40+
- **Do not modify RigAttachment.CFrame directly** — this disrupts animation
41+
retargeting and causes performance issues.
42+
- **Transform**: Works identically to `Class.Motor6D.Transform` — the
43+
`Class.Animator` writes to it each frame. Layer procedural animations by
44+
multiplying into `Transform` during `Class.RunService.PreSimulation`, which
45+
stacks with active animation tracks without breaking retargeting.
46+
- **IsKinematic**: When `true` (default), behavior is equivalent to Motor6D.
47+
Set to `false` to enable force-based physical simulation.
48+
- **Type checks**: `animConstraint:IsA("Motor6D")` returns `false`. Update any
49+
`IsA("Motor6D")` guards to also accept `"AnimationConstraint"`.
50+
- **Server replication**: Instead of setting C0 on the server, use client-side
51+
animation evaluation and synchronize data through custom Attributes or
52+
`Class.UnreliableRemoteEvent`.
1453
15-
For backwards compatibility with `Class.Motor6D`, `AnimationConstraint`
16-
exposes read-only `C0`, `C1`, `Part0`, and `Part1` properties to help adopt
17-
the `Class.StarterPlayer.AvatarJointUpgrade|AvatarJointUpgrade`.
54+
##### Example: Procedural neck rotation
55+
56+
```lua
57+
-- Before (Motor6D): writing to C0 directly
58+
local originalC0 = neck.C0
59+
RunService.RenderStepped:Connect(function()
60+
neck.C0 = originalC0 * computeNeckRotation()
61+
end)
62+
63+
-- After (AnimationConstraint): multiplying into Transform during PreSimulation
64+
RunService.PreSimulation:Connect(function()
65+
if not animator.EvaluationThrottled then
66+
neck.Transform = computeNeckRotation() * neck.Transform
67+
end
68+
end)
69+
```
70+
71+
#### Description
72+
73+
An `AnimationConstraint` constrains its `Class.Attachment|Attachments` so that
74+
they're offset by `Class.AnimationConstraint.Transform|Transform`. When
75+
`Class.AnimationConstraint.IsKinematic|IsKinematic` is `true`, the parts
76+
follow the transform perfectly (identical to Motor6D behavior). When `false`,
77+
the constraint applies forces and torques limited by
78+
`Class.AnimationConstraint.MaxForce|MaxForce` and
79+
`Class.AnimationConstraint.MaxTorque|MaxTorque`, enabling physically simulated
80+
character movement.
1881
code_samples: []
1982
inherits:
2083
- Constraint

roblox/en-us/reference/engine/classes/AvatarCreationService.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,13 @@ methods:
112112
summary: |
113113
A table of arguments for 2D preview generation. Type:
114114
`avatarGeneration2dPreviewParams: {SessionId: string, FileId: string, TextPrompt: string?}`
115+
- name: progressCallback
116+
type: Function?
117+
default:
118+
summary: |
119+
Optional callback function that will be invoked periodically with a
120+
progressInfo table with the overall progress (from 0 to 1). Type:
121+
`(progressInfo: { Progress: number }) -> ()`
115122
returns:
116123
- type: string
117124
summary: |
@@ -159,6 +166,13 @@ methods:
159166
summary: |
160167
A table of arguments for generating an avatar. Type:
161168
`avatarGenerationParams: {SessionId: string, PreviewId: string}`
169+
- name: progressCallback
170+
type: Function?
171+
default:
172+
summary: |
173+
Optional callback function that will be invoked periodically with a
174+
progressInfo table with the overall progress (from 0 to 1). Type:
175+
`(progressInfo: { Progress: number }) -> ()`
162176
returns:
163177
- type: string
164178
summary: |

roblox/en-us/reference/engine/classes/DigitsRigDescription.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@
55
name: DigitsRigDescription
66
type: class
77
memory_category: Animation
8-
summary: ''
8+
summary: |
9+
Maps the 15 phalanx joints of one hand (5 fingers, 3 joints each) and exposes
10+
forward- and inverse-kinematics helpers for controlling finger poses at
11+
runtime.
912
description: |
1013
Enables interoperability of animations across hand rigs and drives the hand
1114
finger solver. Each `DigitsRigDescription` maps the 15 phalanx joints of one

roblox/en-us/reference/engine/classes/GuiButton.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,4 +358,23 @@ events:
358358
security: None
359359
capabilities:
360360
- UI
361+
- name: GuiButton.SecondaryActivated
362+
summary: |
363+
Fires when the button's "secondary" input is activated.
364+
description: |
365+
Fires when a right-click press-and-release is detected on desktop, long
366+
press is detected on mobile, or **Y**/triangle is activated in UI
367+
navigation mode on console. This event is not available yet.
368+
code_samples: []
369+
parameters:
370+
- name: inputObject
371+
type: InputObject
372+
default:
373+
summary: |
374+
The input object representing the alternate activation action.
375+
tags: []
376+
deprecation_message: ''
377+
security: None
378+
capabilities:
379+
- UI
361380
callbacks: []

roblox/en-us/reference/engine/classes/HumanoidRigDescription.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@
55
name: HumanoidRigDescription
66
type: class
77
memory_category: Animation
8-
summary: ''
8+
summary: |
9+
Stores the joint mapping, T-pose, and per-joint properties for a 22-joint
10+
bipedal character rig. Joints may be `Class.AnimationConstraint`,
11+
`Class.Motor6D`, or `Class.Bone` instances.
912
description: |
1013
Stores the joint mapping, reference T-pose and per-joint properties for a
1114
bipedal `Humanoid` character rig. Each of the 22 joints in the rig hierarchy

roblox/en-us/reference/engine/classes/Motor6D.yaml

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,36 @@ name: Motor6D
66
type: class
77
memory_category: BaseParts
88
summary: |
9-
Creates an animatable joint between two `Class.BasePart|BaseParts`.
9+
Creates an animatable joint between two `Class.BasePart|BaseParts`. Superseded
10+
by `Class.AnimationConstraint` for avatar/character rigs. Motor6D is no longer
11+
used by default for player characters when
12+
`Class.StarterPlayer.AvatarJointUpgrade|AvatarJointUpgrade` is enabled.
1013
description: |
14+
#### Description
15+
1116
**Motor6D** joins two `Class.BasePart|BaseParts`
1217
(`Class.JointInstance.Part0|Part0` and `Class.JointInstance.Part1|Part1`)
1318
together in an animatable way. The `Class.Motor6D.Transform|Transform`
1419
property determines the offset between these parts. This can be set manually
1520
using `Class.RunService.PreSimulation` or through an `Class.Animator`.
1621
1722
Models whose parts are joined by `Class.Motor6D` are usually referred to as
18-
**rigs**, typically for `Class.Humanoid|Humanoids`.
23+
**rigs**, typically for `Class.Humanoid|Humanoids`. Motor6D remains
24+
appropriate for non-avatar mechanical rigs (doors, turrets, vehicles) where
25+
physical simulation is not needed.
26+
27+
#### Transitioning to AnimationConstraint for Avatar rigs
28+
29+
As of the
30+
[Avatar Joint Upgrade](https://devforum.roblox.com/t/avatar-joint-upgrade-for-physically-simulated-character-movement-is-now-live/4298561),
31+
R15 player characters spawn with
32+
`Class.AnimationConstraint|AnimationConstraints` instead of Motor6Ds when
33+
`Class.StarterPlayer.AvatarJointUpgrade|AvatarJointUpgrade` is enabled (the
34+
default for new experiences). Code that assumes character joints are Motor6Ds
35+
— such as `character:FindFirstChildOfClass("Motor6D")` or
36+
`joint:IsA("Motor6D")` — will not find joints on upgraded characters. Use
37+
`Class.AnimationConstraint` for new avatar rig code. See the migration notes
38+
on the `Class.AnimationConstraint` page.
1939
code_samples: []
2040
inherits:
2141
- Motor

roblox/en-us/reference/engine/classes/UIShadow.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ properties:
4747
shadow's edges appear softer.
4848
4949
Note that the scale factor of this `Datatype.UDim` property is relative to
50-
the parent's width or height, whichever is shorter.
50+
the parent's width or height, whichever is shorter. This property must
51+
also be non-negative; a negative value will be treated as `0`.
5152
code_samples: []
5253
type: UDim
5354
tags: []

0 commit comments

Comments
 (0)