Locally welded models fling character

I’ve been encountering this bug in my game for a solid 10 months.

Basically, whenever I attempt to locally clone a model and locally weld it to a character, then delete it after some time, the player will receive an odd flinging behavior. Anytime the player is mid-air and is moving in a direction, they will gain an insane amount of velocity.

The model’s parts are CanCollide false and Massless so there shouldn’t be an issue here…

The issue occurs in this video. The time when it happens is when you see the neon parts flashing on the character (two times).

Model:
Screenshot_2

Code:

		local g = game.ReplicatedStorage.Objects.Glowthing:Clone()
		g.Parent = char
		g:SetPrimaryPartCFrame(char:FindFirstChild("Head").CFrame)	
		game.Debris:AddItem(g, 3)
		for i,v in pairs(g:GetChildren()) do
			v.Color = color
			for i2,v2 in pairs(char:GetChildren()) do
				if v.Name == v2.Name then
					--v.CFrame = v2.CFrame
					v.Name = "NeonPart"
					local weld = v:FindFirstChild("ManualWeld")
					weld.C0 = CFrame.new()
					weld.Part0 = v2
					--warn("Part mass: "..v:GetMass())
					spawn(function()
						for i = 1,5 do
							v.Transparency = 0.5
							tween:Create(v,TweenInfo.new(.2,Enum.EasingStyle.Linear,Enum.EasingDirection.In),{Transparency = 1}):Play()
							wait(.1)		
						end
					end)			
				end
			end
		end

Just to clarify, this isn’t caused by any new body movers being added to the character. The irregular behavior starts the moment the “Glowthing” model is deleted from the character. Any insight on this would be greatly appreciated.

Edit: The same occurs when using regular welds and weld constraints.

1 Like

Hmm, yeah this is a really odd problem. My suspicions are peaked when you said locally cloned model. Why?

Because physics for BasePart gets automatically replicated onto the server. I bet something really odd is happening there especially with welds. Perhaps the weld is somehow not being destroyed and so the physics is still being transferred from part 0 to part 1?

BTW, did you destroy the weld after you are done with it? I don’t see a :Destroy() in the code.

Otherwise, any more information with the body movers?

Yeah the code I put above is in a local script.

As for deleting the welds using :Destroy(), yes, but no. The weld is inside the model and it should be getting destroyed with the debris AddItem.

	local g = game.ReplicatedStorage.Objects.Glowthing:Clone()
	g.Parent = char
	g:SetPrimaryPartCFrame(char:FindFirstChild("Head").CFrame)	
	game.Debris:AddItem(g, 3)

The only body mover, in this case, is a body velocity.
“charHit” would by my character.

really need some more insight on this topic if anyone is around x_x

Same thing happening to me rn, found nothing on how to solve this issue, I jump and my velocity just goes crazy

I think it’s a physics bug at this point searching online.

Maybe try using a different JointInstance like a Motor6D for instance like in this thread.

Last resort is to set to massless and manually CFrame it from the character.

1 Like

from my experience there is nothing you can do about this except welding to a cloned anchored part, then loop cframing the anchored part

2 Likes

I fixed this solution some time ago. The method was to make all the parts of the character massless (not including the HumanoidRootPart because it leads to weird glitches), and then manually making the root part heavier using CustomPhysicalProperties.

3 Likes