New character new problem

So I’m making a marble game but your character is gonna be a marble and so i wrote the movement script and its not working if you need more information feel free to ask
Script
-----variables
human = script.Parent.Humanoid
ball = script.Parent.Ball

–function runs as players move
function move()

--checks if floating or not
if human.FloorMaterial ~= Enum.Material.Air then
	
	--change the velocity
	ball.Velocity = ball.Velocity + (human.Movedirection * human.Walkspeed)
	
end

end

game:GetService(“RunService”).RenderStepped:Connect(move)

Try

-----variables
human = script.Parent.Humanoid
ball = script.Parent.Ball

function move()

--checks if floating or not
human:GetPropertyChangedSignal("FloorMaterial"):Connect(function()
if human.FloorMaterial ~= Enum.Material.Air then
	
	--change the velocity
	ball.Velocity = ball.Velocity + (human.Movedirection * human.Walkspeed)
	
end
end)
end
game:GetService(“RunService”).RenderStepped:Connect(move)