I just want to say that I made sure the part is unanchored.
I used remote events, so there are two scripts.
Server Script:
local tool = script.Parent local event = tool.ClickEvent local handle = tool.Handle function createPart() local part = Instance.new("Part") part.Parent = workspace part.Size = Vector3.new(.2, .2, .2) part.BrickColor = BrickColor.Yellow() part.Anchored = false part.CanCollide = false return part end event.OnServerEvent:connect(function(player, mouseLocation) local part = createPart() part.CFrame = tool.Handle.CFrame part.CFrame = CFrame.new(part.Position, mouseLocation) local bodyVelocity = Instance.new("BodyVelocity", part) bodyVelocity.velocity = part.CFrame.lookVector * 90 bodyVelocity.maxForce = Vector3.new(math.huge, math.huge, math.huge) game.Debris:AddItem(part, 15) end)
Local Script:
local player = game.Players.LocalPlayer local mouse = player:GetMouse() local tool = script.Parent local event = tool.ClickEvent tool.Activated:connect(function() local mouseLocation = mouse.Hit.p event:FireServer(mouseLocation) end)