How to make a Mesh part with an id move locally moving the player with it?

I already tried doing this using body position and cloning the mesh part locally, but there were some issues with cloning the part upon death, and the body position offset the part and since I need to create a lot of these parts I’d rather have a system that I know works and can use on any number of parts. Is there any way to move a mesh part locally without having to clone it and without using body positions? If not is there a way to move the part locally without using body positions and fixing the cloning issue? The cloning issue is that there would be another mesh part everytime the player died so I deleted the clone upon death, but there still is another part sometimes. Here is my code for the whole thing:

local part = game.Workspace.Level1.KillPart4:Clone()
local originalpart = game.Workspace.Level1.KillPart4 
part.CanCollide = true
part.Transparency = 0
part.Anchored = false 
part.Name = "b"
part.Parent = workspace
local Physics = game:GetService("PhysicsService")
Physics:SetPartCollisionGroup(part, "ClientParts")
local player = game.Players.LocalPlayer     
local char = player.Character
local hum = char:WaitForChild("Humanoid")
local distance = 35 
local bp = Instance.new("BodyPosition" ) 
local br = Instance.new("BodyGyro" )
bp.Parent = part
br.Parent = part 
bp.Position = part.Position 
br.MaxTorque = Vector3.new(10000000000000,1000000000000,10000000000000)
bp.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
bp.P = 8000
bp.D = 1300    
while true do  
	 
		for i = 0, distance do
			bp.Position = bp.Position + Vector3.new(1,0,0) wait()  
		end   
		for i = 0, distance do
			bp.Position = bp.Position + Vector3.new(-1,0,0)    wait() 
		end 

	hum.Died:Connect(function() 
		originalpart.Parent = workspace.Level1
		originalpart.Position = pos
		wait() 
		part:Destroy()	
	end)


end  

I think something like this should work?

local part = script.Parent
part.Touched:Connect(function(hit)
	local WeldConstraint = Instance.new("WeldConstraint")
	WeldConstraint.Parent = hit
	WeldConstraint.Part0 = part
	WeldConstraint.Part1 = hit
end)

part.TouchEnded:Connect(function(hit)
	local WeldConstraint = hit.WeldConstraint
	WeldConstraint:Destroy()
end)

Well, I want to make it so that the part is constantly moving whether or not the player is touching it.

All the script does is attach the player to it, you would need something seperate for the movement

Oh sorry, and thanks, also do u know how I would make the mesh local?

And if its not possible to make the mesh local is there a way to fix the cloning issue?

Also I tried this on a part but the constraint didn’t work, the player just fell off when the part moved. As for moving the part I just made a loop that moved the part by just moving its position, I’m not sure if thats why.