The problem here is even though the BodyVel is getting parented to the FireBall no force is being applied.
NOTE: i have FE disabled so don't bash on me, i have my reasons and this is not by any means going to end up in a finishing product.
local force = 200 game:GetService("UserInputService").InputBegan:connect(function(inputObject) if inputObject.KeyCode == Enum.KeyCode.E then local player = game.Players.LocalPlayer local char = player.Character local charTorso = char:findFirstChild("Torso") local fireBall = Instance.new("Part", workspace) fireBall.Name = "FireBall" fireBall.Size = Vector3.new(0.5, 0.5, 0.5) fireBall.Shape = "Ball" fireBall.TopSurface = "Smooth" fireBall.BottomSurface = "Smooth" fireBall.BrickColor = BrickColor.new("Crimson") fireBall.Transparency = 0.5 fireBall.CFrame = charTorso.CFrame * CFrame.new(0, 0, -5) local velo = Instance.new("BodyVelocity", fireBall) velo.MaxForce = Vector3.new(1, 1, 1) * math.huge velo.Velocity = charTorso.CFrame.lookVector * force end end)