Projectile Not going in a straigth line when i add children to the model

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear!
    Fix My projectiles so they can have a trajectory

  2. What is the issue? Include screenshots / videos if possible!
    So i have a projectile system in which when the client fires an event the server launches a projctile, it worked flawlessly with the the first model, which was for testing purposes. But i wanted to add a skin system, so i have to apply the skin to the projectiles, skins being completly different models, so the way i did it was by creating multiple projectiles with the same MainPart in which there’s the linear velocity i used to move the projectile and other stuff related to hitbox, the rest of the model consist of meshparts or parts that make the skin. The thing is when i switch to another skin, it does change the skin properly but the trajectory does a weird zig zag thing. heres a video showing the issue

working one

Buggy skin

  1. What solutions have you tried so far? Did you look for solutions on the Creator Hub?
  • Ive already checked the welds, everything is correctly welded to the Main part
  • I checked if i hadnt put the linear vector relative to attachment 0 by accident
  • anchored and collision are correctly disabled
  • also tried making them massless
    nothing seems to work

After that, you should include more details if you have any. Try to make your topic as descriptive as possible, so that it’s easier for people to help you!

here the server sided script that handles projectiles

ThrowEvent.OnServerInvoke = function(player, Amplitude,HitPos,Info)
		local Skin = Info.Skin
		local debounce = true
		local char = player.Character
		local pos1 = char.HumanoidRootPart.Position
		local pos2 = HitPos
		
		local Direction = pos2 - pos1
	local raycastparams = RaycastParams.new()
	raycastparams.FilterDescendantsInstances = {char}
	raycastparams.FilterType = Enum.RaycastFilterType.Exclude
		
	local ClonedKnife = ServerStorage.Projectiles:FindFirstChild(Skin):Clone()
	local main = ClonedKnife.Main
	
	ClonedKnife.Parent = LoadedProjectiles
	ClonedKnife:MoveTo(pos1)
	
		ClonedKnife.Name = tostring(math.random(10000000,99999999))
	ClonedKnife:SetPrimaryPartCFrame(CFrame.lookAt(pos1,pos2))
		raycastparams:AddToFilter(ClonedKnife)
		
		local AV = main.AngularVelocity
		local LV = main.LinearVelocity

	
	-- Speed Modifiers
	if Info.Modifier == "Speed1" then
		Amplitude = Amplitude*1.5
	elseif Info.Modifier == "Speed2" then
		Amplitude = Amplitude*2
	end
	
	-------------------
	print(Amplitude)
	
		LV.VectorVelocity = (Direction.Unit*80)*Amplitude
		AV.AngularVelocity = Vector3.new(-35*Amplitude,0,0)
		LV.RelativeTo = Enum.ActuatorRelativeTo.World
		
		local Hitbox = ShapeCastHitbox.new(main,raycastparams)
		Hitbox.Instance = main


-- the rest doesnt influance the projectile

Please do not ask people to write entire scripts or design entire systems for you. If you can’t answer the three questions above, you should probably pick a different category.