Upward and fordward velocity not working together

When applying body velocity (or linear volicty i tried with both), and making the velocity = lookvector * upvector it doesnt work and bug and i really dont understand why

local RS = game:GetService("ReplicatedStorage")
local SS = game:GetService("ServerStorage")

local events = RS.Events
local parkourEvents = events.Parkour




parkourEvents.OnServerEvent:Connect(function(plr)
	local char = plr.Character
	local hum = char:FindFirstChild("Humanoid")
	local hrp = char.HumanoidRootPart
	
	local rayParams = RaycastParams.new()
	rayParams.FilterDescendantsInstances = {workspace.Rays}
	rayParams.FilterType = Enum.RaycastFilterType.Exclude
	
	local ray = workspace:Raycast(hrp.CFrame.Position, hrp.CFrame.LookVector * 5)
	if ray then
		if ray.Instance.Size.Y < 5 then

			local BV = Instance.new("BodyVelocity", hrp)
			BV.MaxForce = Vector3.new(5e4, 5e4, 5e4)
			BV.Velocity = hrp.CFrame.LookVector * 25 * hrp.CFrame.UpVector * 10
			game.Debris:AddItem(BV, 0.4)
			
		end
	end
	
end)

and it is happening here as im trying to implement simple vaulting mechanics but i got the same issue in my combat system when i try to get velocity that is both upward and fordward