Pivot Tools

The Pivot tools and related properties give you full control over the points around which objects rotate and translate.

Studio Tools

The interactive Studio tools are located in the Model tab.

Pivot Tools indicated in Model tab

Edit Pivot

The Edit Pivot tool lets you move or rotate the pivot point of a part or model. Once set, rotation and scaling occur around the pivot point. For more information, see Setting a PrimaryPart.

The following diagrams show example pivot locations in relation to object bounds.

Center
Corner
Outside object bounds

When you rotate the pivot of a model, the bounding box of the model also rotates.

Orientation = (0, 90, 0)
Orientation = (0, 135, 0)
Orientation = (0, 180, 0)

You can specify a PrimaryPart for models, which is a BasePart within the model that you can use as a positional basis. In terms of pivot points:

  1. When you assign a PrimaryPart to a model, the existing pivot changes to the pivot point of the PrimaryPart. If you later unassign/clear the PrimaryPart, the pivot point resets to the center of the model's bounding box.
  2. If you delete the PrimaryPart from a model, the pivot point remains in the same location and does not revert to its previous position. This prevents a sudden "jump" if you delete any parts from the model.
Initial pivot point
A. PrimaryPart assigned
B. PrimaryPart deleted

Snap

The Snap checkbox toggles whether the pivot point snaps to hotspots such as corners, edges, or centers when you move it with the Edit Pivot tool. When snapping is enabled, hotspots display as small magenta points.

Hotspots on a part
Hotspots on a model

Reset

The Reset button moves the pivot point to the center of an object or model's bounding box. This operation is useful after you've changed the composition of a model and wish to place its pivot point at the center of its new bounding box.

Pivot Properties

In addition to the interactive tools, pivot values can be directly set in the Properties window.

Property Description
Origin Position Current world location of the object based on its pivot point rather than its bounding box. Useful for setting the precise location of a Model.
Origin Orientation Current orientation of the object based around its pivot point rather than its bounding box.
Pivot Offset Position Precise location of the pivot relative to the object.*
Pivot Offset Orientation Precise pivot orientation.*
World Pivot Position The precise world location of the pivot for Models without a PrimaryPart. If a PrimaryPart is set, the model will use Pivot Offset Position since the pivot becomes relative to that part.*
World Pivot Orientation The precise world orientation for Models without a PrimaryPart. If a PrimaryPart is set, the model will use Pivot Offset Orientation since the pivot becomes relative to that part.*
*Changing this property will not move or rotate the object.

Scripting Pivots

Beyond the Studio tools, pivot points can be accessed and manipulated in scripts.

Function or Property Description
GetPivot() Queries the current world location of an object's pivot as a CFrame. This returns an object's position in 3D space regardless of whether it's an individual part or a Model.
PivotTo() Moves the object such that its pivot will be located at the specified CFrame. This allows for uniform object movement of both individual parts and models.
BasePart.PivotOffset The CFrame which specifies the pivot offset; effectively the offset of the pivot from the CFrame of the BasePart.*
Model.WorldPivot For Models without a PrimaryPart, the CFrame which specifies the model's pivot in world space. If a PrimaryPart is set, the model will use BasePart.PivotOffset since the pivot becomes relative to that part.*
*Changing this property will not move or rotate the object.