local HandleCFrame = script.Parent.Handle.CFrame
local ShotCFrame = CFrame.new(HandleCFrame.p, mousePosition)
local newBullet = bullet:Clone()
newBullet.Parent = game.Workspace
newBullet.CFrame = bulletSpawn.CFrame
local forceDirection = ShotCFrame.LookVector
local vectorForce = Instance.new("VectorForce")
vectorForce.Force = forceDirection * BulletSpeed
vectorForce.RelativeTo = Enum.ActuatorRelativeTo.World
vectorForce.Parent = newBullet
And heres an idea to reduce a parts mass by half
-- Get the original mass of the part
local originalMass = part:GetMass()
-- Reduce the density of the part to achieve half of the original mass
part:SetDensity(originalMass / (part.Size.X * part.Size.Y * part.Size.Z))
Here it is all together
local HandleCFrame = script.Parent.Handle.CFrame
local ShotCFrame = CFrame.new(HandleCFrame.p, mousePosition)
local newBullet = bullet:Clone()
newBullet.Parent = game.Workspace
newBullet.CFrame = bulletSpawn.CFrame
local originalMass = newBullet:GetMass()
newBullet:SetDensity(originalMass / (newBullet .Size.X * newBullet .Size.Y * newBullet .Size.Z))
local forceDirection = ShotCFrame.LookVector
local vectorForce = Instance.new("VectorForce")
vectorForce.Force = forceDirection * BulletSpeed
vectorForce.RelativeTo = Enum.ActuatorRelativeTo.World
vectorForce.Parent = newBullet
Note: I haven’t testing this out myself yet but looks promising