Skip to content

Motor6D

Supported Class Physics

Creates an animatable joint between two BaseParts. Superseded by AnimationConstraint for avatar/character rigs. Motor6D is no longer used by default for player characters when AvatarJointUpgrade is enabled.

Description

Description

Motor6D joins two BaseParts (Part0 and Part1) together in an animatable way. The Transform property determines the offset between these parts. This can be set manually using RunService.PreSimulation or through an Animator.

Models whose parts are joined by Motor6D are usually referred to as rigs, typically for Humanoids. Motor6D remains appropriate for non-avatar mechanical rigs (doors, turrets, vehicles) where physical simulation is not needed.

Transitioning to AnimationConstraint for Avatar rigs

As of the Avatar Joint Upgrade, R15 player characters spawn with AnimationConstraints instead of Motor6Ds when AvatarJointUpgrade is enabled (the default for new experiences). Code that assumes character joints are Motor6Ds — such as character:FindFirstChildOfClass("Motor6D") or joint:IsA("Motor6D") — will not find joints on upgraded characters. Use AnimationConstraint for new avatar rig code. See the migration notes on the AnimationConstraint page.

Inheritance

Object → Instance → JointInstance → Motor → Motor6D

Nova inheritance: Instance → JointInstance → Motor → Motor6D

Properties

Transform Supported Property Describes the current animation offset of the Motor6D joint.
Transform: CoordinateFrame

Describes the current animation offset of the Motor6D joint.

The internal CFrame that is manipulated when a Motor6D is being animated. It is recommended to use this property for custom animations rather than JointInstance.C0 and JointInstance.C1.

Timing

Motor6D transforms are not applied immediately, unlike updating C0 and C1, but rather as a batch in a parallel job after RunService.PreSimulation, immediately before physics steps. The deferred batch update is much more efficient than many immediate updates.

If the Motor6D is part of an animated model with an Animator, then Motor6D.Transform will usually be overwritten every frame by the Animator after RunService.PreAnimation and before RunService.PreSimulation.

Roblox reference signature
Transform: CFrame

Roblox documentation

Inherited members

Inherited from Motor: 16 properties, 37 methods, 7 events. They are documented on the base class page.

Roblox reference: Motor6D

Generated from Nova's API dump and Roblox creator-docs. Nova-only members come from the engine's reflection metadata.