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.Stepped or through an Animator.
Models whose parts are joined by Motor6D are usually referred to as rigs, typically for Humanoids.
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.
Motor6D transforms are not applied immediately, unlike updating C0 and C1, but rather as a batch in a parallel job after RunService.Stepped, 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.Stepped.