How to make a smooth grab attack?

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!
    i want to make something like this:

  1. What is the issue? Include screenshots / videos if possible!
    my script is very laggy, yea i can attach the player to the character, but i cant make smooth like tsb:

  1. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    this, and weldconstraint but is not good:
function module.Grab_type1(Argument, Enemy, you, Animation_On, CFrame_Attachment, CFrame_End_of_Grab, With_endCframe, Rotation, Player_Animation, Enemy_Player, Time_WalksSpeed, Walk_Speed)
	local RotEnemy = Enemy.HumanoidRootPart
	local char = you.Character
	local HumanoidEnemy = Enemy.Humanoid
	local rp_enemy = Enemy["HumanoidRootPart"]
	local run = game:GetService("RunService")
	
	local ws_val = you:WaitForChild("PvpFolder"):WaitForChild("Attack_walkSpeed")
	
	ws_val.Value = Walk_Speed
	
	local value = Instance.new("NumberValue", char:WaitForChild("Values"))
	value.Name = "Attack_Test"
	value.Value = Time_WalksSpeed
	
	local anim = Enemy_Player:Clone()
	anim.Parent = Enemy
	local animationa = HumanoidEnemy:LoadAnimation(anim)
	animationa:Play()
	Player_Animation:Play()


	HumanoidEnemy.AutoRotate = false
	
	Enemy:SetAttribute("GettingBeatdown", true)

	local attach_start = Instance.new("Attachment", char.HumanoidRootPart)
	attach_start.CFrame = CFrame_Attachment
	attach_start.Name = "startattach"

	local attach_end = Instance.new("Attachment", rp_enemy)
	attach_start.Name = "endattach"

	local orientation

	local align_position = Instance.new("AlignPosition", char.HumanoidRootPart)
	align_position.Enabled = true
	align_position.Name = "ALIGNN"
	align_position.ApplyAtCenterOfMass = false
	align_position.RigidityEnabled = true
	align_position.ReactionForceEnabled = true
	align_position.Attachment0 = attach_start
	align_position.Attachment1 = attach_end

	local align_orientation = Instance.new("AlignOrientation", rp_enemy)
	align_orientation.Enabled = true
	align_orientation.Name = "ALIGGG"
	align_orientation.AlignType = Enum.AlignType.AllAxes
	align_orientation.ReactionTorqueEnabled = false
	align_orientation.RigidityEnabled = true

	align_orientation.MaxTorque = math.huge
	align_orientation.Responsiveness = 200
	align_orientation.Mode = Enum.OrientationAlignmentMode.OneAttachment
	align_orientation.CFrame = CFrame.new(rp_enemy.Position, char.HumanoidRootPart.Position) * Rotation
	align_orientation.Attachment0 = attach_end
	
	task.spawn(function()
		orientation = run.Heartbeat:Connect(function()
			--rp_enemy:SetNetworkOwner(char.HumanoidRootPart)
			align_orientation.CFrame = CFrame.new(rp_enemy.Position, char.HumanoidRootPart.Position) * Rotation
		end)
	end)
	
	task.spawn(function()
		lol_XD.Function(Argument, you, Player_Animation)
	end)
	local AnimationTracks = char["Humanoid"]:GetPlayingAnimationTracks()
	for i, track in pairs (AnimationTracks) do
		if track == Player_Animation then
			track:GetMarkerReachedSignal("End_Player"):Connect(function(paramString)
				char:SetAttribute("Beatdown", false)
				for i, v in pairs(you.Character:FindFirstChild("Values"):FindFirstChild("NormalVals"):GetChildren()) do
					if v:IsA("ObjectValue") and v.Name == "Target" then
						v:Destroy()
					end
				end
				task.delay(Time_WalksSpeed,function()
					value:Destroy()
				end)
			end)
			track:GetMarkerReachedSignal("End_Enemy"):Connect(function(paramString)
				if With_endCframe == true then
					RotEnemy.CFrame = RotEnemy.CFrame * CFrame_End_of_Grab
				end
				HumanoidEnemy.AutoRotate = true
				Enemy:SetAttribute("GettingBeatdown", false)
				animationa:Destroy()
				orientation:Disconnect()
				align_position:Destroy()
				align_orientation:Destroy()
			end)
		end
	end
end

Welding Victim to You Character

i try that, but there some issues, i try weldconstraint, and well, when the victim is lower health and dies, i die tho

ijikonjiopunbouounwdaidjaidjoadaijdajiodaijo

I think weld is best method, and write you own health system are easier, like Number-Value for Health