The rotation is just gonna be 0,0,0 you’re just creating a position. Which means later rx, ry, rz will be all 0 as well.
Do

local newVector = CFrame.Angles(0, math.rad(stats.temp.Turn), 0)

Assuming that stats.temp.Turn is in degrees, you need to turn into radians.

CFrame.new() and CFrame.Angles()are both constructors, they both construct a cframe, it’s just that CFrame.new() fills just the position and CFrame.Angles() fills just the rotation. Multiplying them together forms a complete CFrale value.

Yes, that would probably work. I noticed that as I was writing it, then forgot
I’ll try it out.

EDIT: It’s returning Vector3 values such as this:

For it to work properly, I’d expect it to, when on the ground, only have a number effecting the car’s orientation in the Y value, which, obviously, isn’t working very well.

Looks like there were a couple more problems here:

local newVector = CFrame.Angles(0, stats.temp.Turn, 0) -- stats.temp.Turn should not have been math.rad
local rx, ry, rz = newVector:ToEulerAnglesXYZ()
angle.AngularVelocity = chassis.CFrame:VectorToWorldSpace(Vector3.new(rx, ry, rz))

I’m still experiencing one of the problems I was before, the car won’t turn when on a 90-degree wall. Although this did fix another problem I was having with gravity.