Help with a "rocket" gear

Hi, right now I’m trying to make a gear that propels the player up when used

The code I have right now finds the HumanoidRootPart, and then sets its AssemblyLinearVelocity’s Y value to 100, and this doesn’t seem to achieve the affect I’m looking for. If a player uses the gear while just standing still it does nothing, and if the player jumps and uses the gear while falling it will push them up but by a very small amount. Whenever I go into the properties of my character and set my HRP’s ALV to 100 it has the effect I’m looking for, but for some reason getting a script to do the same thing doesn’t

I’ve tried both Linear Velocity and Angular Velocity, I’ve tried ApplyImpulse(), and I’ve just done a ton of research and I can’t find anything. The only thing I can think of using is Velocity, but I really don’t want the solution to my problem being using something that is deprecated.

Here’s the code I’m using:

local Tool = script.Parent.Parent

Tool.Activated:Connect(function()
	local Player = Tool.Parent
	local HRoot = Player:FindFirstChild("HumanoidRootPart")
	HRoot.AssemblyLinearVelocity = Vector3.new(0, 100, 0)
	Tool:Destroy()
end)

Thanks for the help, it’s greatly appreciated :slight_smile: