Hello Creators!
We are thrilled to announce that the Avatar Joint Upgrade is officially graduating from Studio Beta and is now available for use in your published, live experiences!

With the upgrade, parts driven by Animation can interact physically with the environment, rather than rigidly following predetermined Animation transforms. This can produce emergent behavior, like the arms and legs swinging above.
As a reminder, this upgrade introduces force and torque-limited AnimationConstraints to R15 character joints. This makes it significantly easier to create realistic, physics-driven movements and interactions, such as fully simulated limbs and powered ragdolls.
Use Cases
Easy Avatar Ragdolls
The Avatar Joint Upgrade adds BallSocketConstraints into avatars, so you can easily make them physically tumble by disabling or weakening their AnimationConstraints. You can copy the Physically Simulated Characters Demo to see this in action.

By disabling CharacterBreakJointsOnDeath, you can transition characters into a realistic ragdoll state immediately upon death.
Physical Animations
This release also includes the general availability of AnimationConstraints, separate from avatar joints. AnimationConstraints can move parts to follow Animations, but can be limited by their MaxForce and MaxTorque properties. This lets you create animated objects that interact physically with your world.

Kinematic (left) vs. Physical (right) Behavior: When IsKinematic set to True, the joint is locked to its animation and lifts the heavy anchor effortlessly. When IsKinematic is set to False the joint lacks the necessary MaxForce to overcome the anchor’s weight, resulting in more realistic pulling.
Note: AnimationConstraints are available for general use to all experiences today, regardless of whether they’ve opted-into the Avatar Joint Upgrade or not.
How to Enable the Upgrade
The Avatar Joint Upgrade is being introduced as part of a standard three-phase rollout plan to ensure a smooth transition and give you all control over when to adopt the new behavior.
You can enable this feature today by setting StarterPlayer.AvatarJointUpgrade to Enabled.
- What changes: When enabled, R15 characters will spawn with
AnimationConstraintsandBallSocketConstraintsinstead ofMotor6Ds. - Important Note on IsKinematic: To prevent unintended breaking changes, all avatar joint
AnimationConstraintsare set toIsKinematic = Trueby default.AnimationConstraints, outside of the Avatar Joint Upgrade, spawn withIsKinematic = Falseby default.
- Unlocking Physics: To achieve the new force and torque-based behavior where joints “strive” to reach their animatable
Transformproperty, you must setIsKinematic = Falsefor the respective joints. WhenIsKinematicis false, the joints are no longer “locked” to the animation and will instead react dynamically to the physics world based on the forces you allow.
Phased Rollout Plan for Avatar Joint Upgrade
This upgrade follows our standard three-phase rollout for potentially breaking changes introduced via a non-scriptable property; StarterPlayer.AvatarJointUpgrade:
| Phase | StarterPlayer.AvatarJointUpgrade Default Value | Creator Impact | Opt-Out Available? |
|---|---|---|---|
| Phase 1 (Current) | Maps to Disabled |
No breaking change; creators can opt-in by setting StarterPlayer.AvatarJointUpgrade to Enabled. |
Yes (Keep as Default) |
| Phase 2 (Target: H2 2026) | Maps to Enabled |
Breaking Change. Experiences depending on the old Motor6D behavior will break. Creators can quickly revert by setting to Disabled and re-publishing. Note: Opting out should be a temporary measure until you migrate your experiences. At this point, we will announce the Phase 3 timeline. |
Yes (Set to Disabled) |
| Phase 3 (ETA: TBD) | Property is removed altogether | All places are forced into the new AvatarJointUpgrade behavior. The old behavior is no longer accessible. | No |
AnimationConstraints do everything Motor6Ds can do and more. Motor6Ds will continue to work as they do today, but will not see improvements as they are legacy JointInstances. We will invest more in improving Constraint tooling and functionality. In the coming weeks, Motor6Ds will be marked deprecated in favor of AnimationConstraints.
Known Issues / Limitations
- In some situations, players can see choppy physics replication on other characters. This happens because clients play Animations and replicated physics on slightly different timelines. Animations apply to kinematic joints immediately, but the CFrames of physically simulated parts are delayed and interpolated. This is most prominent when the character you’re viewing has a mix of kinematic and physically-driven joints and plays an animation that moves their torso. We’re working on improving our replication systems to fix this.
- The AvatarJointUpgrade does not affect R6 characters. You can use scripts to add BallSocketConstraints + AnimationConstraints to R6 characters yourself, but we do not currently plan to support this through the AvatarJointUpgrade.
Next Steps
We intend to move to Phase 2 (where the upgrade becomes the default) in the second half of 2026. We will update this post once we have a specific date for the Phase 2 transition.
For a complete overview of the technical details, features, and in-depth usage examples, please check out the original Studio Beta announcement post.
We can’t wait to see the realistic and dynamic interactions you bring to life with this. Please share them in the comments!
Happy Building,
Roblox Physics Team
[Updated January 26th, 2026] FAQ
Will enabling the joint upgrade change or break my experience? Do I need to update my scripts?
-
In most cases, your experience should behave the same. The AnimationConstraints in spawned players have
IsKinematicset toTrueby default, so they will match Motor6D behavior. However, if your scripts access specific Motor6D properties, you may need to update them.- Scripts checking
instance:IsA(“Motor6D”)will not detect AnimationConstraints. - Setting
C0,C1,Part0, orPart1properties will error. AnimationConstraints use Attachments instead.
You can Ctrl + Shift + F search your codebase for references to these properties and update them to use Attachments.
Before:
After:
- Scripts checking
Are upgraded joints applied to all characters including NPCs?
- Upgraded joints are only added to characters from the Player spawning flow and character-creation flows, like from HumanoidDescription. Upgraded joints will not be added to existing character Models, like NPCs already in your place.
Does enabling the joint upgrade impact performance?
- No, the base joint upgrade has little to no effect on performance. Further explanation in this reply.



