Tween are stoping after playing new Tween

Hello developers!

I made a function where cubes moves left side, right side and jump but when I press
A + W or D + W to jump and move, the jump tween stops and something like this happening:

There is script:

local function movement(player, side)
	if side == "left" then
		TweenService:Create(workspace.Cube.Player, moveInfo, {Position = workspace.Cube.Player.Position + Vector3.new(8.75, 0, 0)}):Play()
	elseif side == "right" then
		TweenService:Create(workspace.Cube.Player, moveInfo, {Position = workspace.Cube.Player.Position - Vector3.new(8.75, 0, 0)}):Play()
	elseif side == "jump" then
		TweenService:Create(workspace.Cube.Player, moveInfo, {Position = workspace.Cube.Player.Position + Vector3.new(0, 3.5, 0)}):Play()
		task.wait(.75)
		TweenService:Create(workspace.Cube.Player, moveInfo, {Position = workspace.Cube.Player.Position - Vector3.new(0, 3.5, 0)}):Play()
	end
end

EventName.OnServerEvent:Connect(movement)

This is because each object can only play one tween at once.
I would recommend using an alternative method, like LinearVelocity

Instead of playing two tweens, you could maybe merge the two positions and play just one tween with it.
In the case of going left and jumping at the same time, your combined vector3 would be (8.75, 3.5, 0).

It is difficult to calculate how long LinearVelocity should take for the cube to be in the middle of e.g. the left track