Body-velocity Delay

My game includes projectiles, which for example is a bow that shoots arrows. These arrows are shot with a body velocity using the lookvector of the part. (Body Velocity Script Lines Below )

		y = Instance.new("BodyVelocity")
		y.maxForce = Vector3.new(math.huge, math.huge, math.huge)
		y.velocity = Shot.CFrame.lookVector*60
		y.Parent = Shot

My problem is when I try to check for the the hit effect of the arrow it has somewhat of a delay, making the arrow go through the player before deleting, which looks really odd, and sometimes bugs the attack. I’m using heartbeat+Region3 to check for the damage and remove the part( And there is no waits in between). Is there a way to fix this, or should I be using an alternative to body velocity?

Gif of the problem:
https://gyazo.com/b617b83bbcddb7323a3e3ddbb4742e27

1 Like

It’s a LocalScript or a Script? (It should be a Script)

Maybe, if in your projectile’s Spawning Script you add that :arrow_down: it will work better…

-- Set the server as the owner of the projectile
Projectile.PrimaryPart:SetNetworkOwner(nil)
-- Also Projectile is your arrow model
7 Likes

Yeah the arrow is coming from a server script of course, and it’s a single part(MeshPart) not in a model, but setting that part’s NetowrkOwner to nil did work, so thanks.

2 Likes