Just started trying out welds and i created this script :
repeat wait() until player.Character:FindFirstChild("Torso") ~= nil
local clonekagune = replicatedstorage.KaguneFolder:WaitForChild("BikakuModel"):Clone() --Model
clonekagune.Parent = player.Character
--Creating Weld
local weldkagune = Instance.new("Weld")
weldkagune.Part0 = player.Character:WaitForChild("Torso")
weldkagune.Part1 = clonekagune:WaitForChild("MainPart")
weldkagune.C0 = CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(0, 0, 0)
weldkagune.Parent = weldkagune.Part0
And it worked, but there was a small glitchy problem, whenever i press the movement keys {wasd} it tends to make my character turn and walk slowly, is there any way to fix this?

2 comments
Also the BikakuModel has a autoweld script and all parts are unanchored and non cancollide
Because it has weight/mass. I guess you could change the parts density. Just play around with the physical properties.