Knockback not feeling good

I’ve been making a kicking system in my game, and it works, but it doesn’t really feel very good.
Could anybody help me with this?

impulse = Hrp.CFrame.LookVector * 30
		HitHrp:ApplyImpulse(impulse)
		local bodyVelocity = Instance.new("BodyVelocity")
		bodyVelocity.Velocity = impulse
		bodyVelocity.MaxForce = Vector3.new(100000, 100000, 100000)
		bodyVelocity.P = 10000
		bodyVelocity.Parent = HitHrp
		wait(0.1)
		bodyVelocity:Destroy()

Afew things you could do to make it feel better is to;

  1. For dummys, give the player networkOwnership, this makes kicking more responsive and could help with the delay that happens.
  2. Camera shake or FOV change when kicking. This will make the kick feel like it has more impact to it, you can also do some on screen or lighting effects to make a subtle “impact frame”.
  3. You can try slowly decreasing the bodyVelocity’s velocity for a friction effect instead of just completely removing it after 0.1, this way they wont come to a instant stop and it would be more of a transition into a stop.

  • Also wait() is bad practice, you should use task.wait() its more accurate.
  • Another thing, you should use a vectorForce instead of a bodyVelocity, vectorForces are just newer so there may be a difference in how they act

Definitely give the player network ownership aswell as

What you want is a very powerful impulse and a very short lifespan for the BodyVelocity, also I suggest using Debris:AddItem

I Guess Try Use Tween On Velocity Follow A Patern. And Change Pov,… Use DebrisService. Idk