CFrame positioning problem- x,y,z axes not being read correctly by Studio

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear!

Hey everyone. I have been exploring CFrames lately, and am trying to use the CFrame method ToWorldSpace to move a parts position 10 studs above another parts position (replicating its orientation as well). I’m surprised to be having issues with this at all.

The problem is that it seems Studio isn’t reading my input correctly. For example, I have to include an argument with the ToWorldSpace method that changes the Z axis position in order to change the Y axis position. Very odd.

I have tried reinstalling Studio as I have had small issues like this before, though it has not helped.

local part1 = script.Parent
local part2 = workspace:WaitForChild("CFramePart")

local offset =,0,-10)

part1.CFrame = part2.CFrame:ToWorldSpace(offset)

As an example of my issue, the above code should change part1’s position&rotation to part2’s position&rotation moving 10 studs back on the Z axis. But instead, the part is moved 10 studs up on the Y Axis as shown in the photo. The black part is part2, the gray part is part1.


I don’t know if I quite understand but if you want to move a part up you could try using UpVector instead.

local offest = part2.CFrame.UpVector*-10

You are moving on Z direction so uh,