Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
VGSources
Blog

How to Make Moving Parts in Roblox Studio

Move parts while building or animate them during gameplay. This Roblox Studio guide covers the Move tool, a looping TweenService script, model pivots, and common fixes.
WorldRoblox Studio Length4 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To move a part while building, select it in Workspace and use Studio’s Move tool. To make it move during a game, add a Script and animate it with TweenService. For objects made of several parts, move the Model as one object using its pivot.

Move a part while building in Studio

  1. Insert or select a Part in Workspace.
  2. Choose the Move tool from the Home or Model toolbar, then drag the part along the movement handles.
  3. For an exact position, select the part and edit its Position in the Properties panel. Use the Scale and Rotate tools when you need to resize or turn it.

These editor changes set the part’s placement in the project; they do not make it move during gameplay. For runtime movement, use a script.

Animate one part during gameplay with TweenService

This beginner example moves an anchored part 12 studs upward over two seconds, then reverses and repeats indefinitely. Roblox’s scripting tutorial describes placing a Script under a Part so it runs when that part is loaded into the game. In Explorer, insert a Part in Workspace, rename it MovingPart, and set Anchored to true in Properties. Then hover over the part in Explorer, click +, insert a Script, and replace its contents with:

local TweenService = game:GetService("TweenService")
local part = script.Parent

local startPosition = part.Position
local goal = {Position = startPosition + Vector3.new(0, 12, 0)}
local tweenInfo = TweenInfo.new(
    2, -- seconds for one direction
    Enum.EasingStyle.Linear,
    Enum.EasingDirection.InOut,
    -1, -- repeat forever
    true -- reverse back to the start
)

local tween = TweenService:Create(part, tweenInfo, goal)
tween:Play()

script.Parent refers to the object containing the Script. The goal table sets the destination Position relative to where the part begins. TweenService:Create() builds the tween for that part and goal, and Play() starts it. Keep the part anchored for predictable platform-like motion: anchoring stops gravity and other physics forces from moving it, but does not prevent a script from tweening it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Mushplushies 24PCS Italian Brainrot Steal a Brainrot Toys, Brain Rot Action Figure, 1.8" Tralalero Tralala Tung Tung Tung Sahur Doll, Valentines Day Gifts for Kids Birthday Party Favors Decorations
  • Creative & Humorous Design: Inspired by the viral "Shark in the Shoe" meme, this quirky statue adds a burst of fun and unique personality to your desktop, bookshelf, or display.
  • Perfect Desktop Size: Measuring approximately 1.28 to 2.01 inches, it's compact enough to fit flexibly on desks, car dashboards, shelves, or display cases without taking up much space.
  • Multifunctional Decoration: More than just a figure! It serves as an eye-catching desktop ornament, a unique collector's item, and a conversation starter, easily enhancing the vibe in homes, offices, studios, and beyond.
  • Ideal Gift Choice: Searching for something truly unique? This meme shark statue makes a fantastic and memorable gift for shark enthusiasts, meme lovers, collectors, or anyone who appreciates quirky humor and the wonderfully weird.
  • Durable PVC Material: Crafted from quality PVC, this figure is durable and detailed, ensuring it holds its humorous charm as a long-lasting display piece.

Adjust the Vector3.new(0, 12, 0) offset to change the direction or distance, and change 2 to change the duration in seconds for one direction. TweenInfo also accepts easing style and direction, repeat count, reverse behavior, and delay. A repeat count of -1 means repeat indefinitely; true makes it reverse to the start each cycle. The example follows Roblox’s TweenService documentation and TweenInfo reference.

Move a multi-part Model as one object

If several parts should travel together, group them into a Model instead of scripting each part’s Position independently. In Studio’s Model tab, use the Pivot tools to choose or adjust the point the model moves around. A pivot away from the center can create a hinge-like rotation for a door or arm.

Rank #2
Roblox Action Collection - 15th Anniversary Roblox Icons Gold Collector's Set [Includes Exclusive Virtual Item]
  • Join four famous characters from the world of Roblox and create your own imaginative adventures
  • Mix and match parts to build your own unique Roblox character
  • Deck out your figures with the included accessories
  • Each package comes with a redeemable code to unlock an exclusive virtual item on Roblox
  • Collect all your favorite Roblox figures today!

To move the model in a script, read its current pivot with GetPivot() and place it with PivotTo():

local model = workspace:WaitForChild("MovingModel")
local start = model:GetPivot()
local target = start * CFrame.new(0, 0, -10)
model:PivotTo(target)

This example moves the model once; it does not create a smooth animation. Roblox identifies PivotTo() as the primary scripting function for moving Models. For smooth multi-part animation, use an interpolation approach that controls the model consistently rather than tweening each member separately. See Roblox’s Pivot tools guide and PVInstance reference.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Roblox Series 9 Mini Figure-One Figure
  • Each series features 24 figures
  • Each one is sold separately
  • Collect them all!
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Choose the right movement behavior

Need Approach What to keep in mind
Move a part to a fixed destination in gameplay TweenService on a BasePart property such as Position Good for straightforward motion toward a goal; easing, repeats, and reversals can be set in TweenInfo.
Move several parts together Model pivot APIs such as GetPivot() and PivotTo() Set the pivot where the model should move or rotate around.
Let gravity, forces, or player interaction drive movement Physics-driven design This is a different setup from the anchored tween example; constraints and assemblies are outside this tutorial’s scope.

For any part, collision and visibility are separate settings. CanCollide controls whether it collides, while Transparency controls whether it is visible. A platform meant to disappear and let players pass through needs both properties changed. See Roblox’s Parts documentation.

Quick Recap

Bestseller No. 2
Roblox Action Collection - 15th Anniversary Roblox Icons Gold Collector's Set [Includes Exclusive Virtual Item]
Roblox Action Collection - 15th Anniversary Roblox Icons Gold Collector's Set [Includes Exclusive Virtual Item]
Mix and match parts to build your own unique Roblox character; Deck out your figures with the included accessories
$124.23
Bestseller No. 3
Roblox Series 9 Mini Figure-One Figure
Roblox Series 9 Mini Figure-One Figure
Each series features 24 figures; Each one is sold separately; Collect them all!
$39.99

Fix common movement problems

  • The part falls when Play starts: For scripted platform-style movement, check that Anchored is true. If the object is intended to fall or respond to forces, anchoring is not the right behavior.
  • The script changes the wrong object: Make sure the Script is under the intended Part; script.Parent targets the Script’s parent. Roblox’s Introduction to scripting covers scripts placed under parts.
  • Nothing moves: Check that the tween targets a tweenable property, the goal table contains the intended value, the tween is created for the right instance, and tween:Play() is called.
  • A tween stops unexpectedly: If two tweens try to change the same property on the same object, Roblox documents that the newer tween cancels or overwrites the earlier one. Avoid running competing tweens on one property.
  • A hidden platform still blocks players, or a visible one does not: Check CanCollide and Transparency separately.
  • A model rotates around the wrong point: Adjust its pivot in Studio’s Model tab and confirm the intended point before moving it with PivotTo().

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How To Create Custom Stickers & Shoutouts In Monster Hunter WildsMonster Hunter WildsBlog20min
  2. How to Get XL Gogoat in Pokemon Legends Z-A (An Extra-Large Gogoat)Pokemon Legends Z-ABlog20min
  3. How to Get Rotting Lightbringer in Diablo 4Diablo 4Blog17min
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.