How do I make a part face an object, without being held in place? I tried this with a regular CFrame:
script.Parent.CFrame = CFrame.new(part1.Position, Part2.Position)
it works, but when I try to move part1, it will snap back to its original position.

4 comments
Use CFrame.lookAt.
isnt that depracted?
Exactly the opposite, lookAt should be used in favor of new, however it does not have any difference.
How are you moving part1?