BodyVelocity not working

In a tool I have a server script that creates a projectile. I took a piece of code I made for another tool and put it hear, with the only change being UpVector instead of lookVector, and it doesn’t work. It still works in the other tool and it properly gets moved inside of the meshpart.

local serverStorage = game:GetService("ServerStorage")
local debris = game:GetService("Debris")

local tool = script.Parent

local remoteEvent = tool.RemoteEvent
local sound = tool.Handle.Bell
local projectiles = serverStorage.Projectiles

remoteEvent.OnServerEvent:Connect(function(player,mouse,start)
	print("fire")
	local moon = projectiles.Moon:Clone()
	moon.CFrame = CFrame.new(start + Vector3.new(0,30,0), mouse) * CFrame.Angles(0,90,-90)
	moon.Parent = workspace.Projectiles
	
	local soundClone = sound:Clone()
	soundClone.Parent = moon
	soundClone:Play()
	debris:AddItem(moon,6)
	
	local BodyVelo = Instance.new("BodyVelocity")
	BodyVelo.Velocity = moon.CFrame.UpVector*100
	BodyVelo.Parent =  moon
end)

Have you tried changing the MaxVelocity property to math.huge? That’s 1 issue that I could possibly see

Also, are you getting the Mouse.Hit.Position in your OnServerEvent? If not, that could be why

1 Like

Changing MaxForce and P does nothing. The mouse position is being passed through the event.

The mesh is facing the wrong direction, so I have to change its angle and then have the BodyVelocity go to where it actually is.

Ok I figured it out. Apparently it just doesn’t work on a cloned objects. If you create a new part then it will work.