I have a part that I want to be orbited around by another part. The part that is orbiting needs to use its CFrame.LookVector to move, because I need the part to be facing away from the part its orbiting. The way I tried doing this was with a .stepped loop that set the CFrame to the return of the function below.
local function calculateOrbit(bulletCFrame, orbitOrgin, bulletOrbitSpeed)
local newPosition = bulletCFrame.Position + bulletCFrame.RightVector * bulletOrbitSpeed/40
local newCFrame = CFrame.lookAt(newPosition, -orbitOrgin)
return newPosition, newCFrame
end