Help with Mount Controls

  1. What do you want to achieve? Keep it simple and clear!
    I want to have mount controls similar to the default Roblox character controls instead of “steering” the mount.
    This is what I mean by default Roblox character controls
  2. What is the issue? Include screenshots / videos if possible!
    I do not know how to do this and the script that I tried, does not work.
  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    I’ve tried to at least start with rotation by adding the characters MoveDirection (multiplied by 10 because why not), adding it into the position of the vehicleseat, then changing the CFrame of the BodyGyro to that. Here is the script:
local Seat = script.Parent
local BG = script.Parent.Parent.MountBasePart.BodyGyro
local val = 10

local function update()
	local wd = CFrame.new(Vector3.new((Seat.Occupant.MoveDirection.X * val), 0, (Seat.Occupant.MoveDirection.Z * val) + Seat.Position.X, Seat.Position.Y, Seat.Position.Z))
	BG.CFrame = wd
	print(BG.CFrame)
end

local function onChanged(property)

	if property == "Steer" then
		update()
	elseif property == "Throttle" then
		update()
	end
end

script.Parent.Changed:Connect(onChanged)

https://gyazo.com/f8138a37589dc07ae14362d37f30a853