Regression: Anchoring the HumanoidRootPart no longer freezes the character


#1

In my game, I would anchor the HumanoidRootPart for an easy to write stun. This has regressed and no longer freezes the character in place. This happens every time whether or not the part is anchored on the client or the server.

What’s interesting is that jumping is affected–jumping while your root part is anchored will just cause you to do the animation but gain no vertical movement.

Reproduction steps:

  • Spawn into play solo
  • Anchor the HumanoidRootPart
  • Notice that you can still move, when you would’ve been stuck in place before

Studio version:
image


#2

To my understanding, this is not a regression. This has been in Roblox since the beginning of time.

Humanoids run in 2 different modes. One is simulated, when its close to interacting with other objects, and the other is non-simulated for performance saving. Anchored has never worked for when a character was running around on its own away from anything it may interact with.

This is a bug but its a very long standing bug. Can you confirm that you haven’t just recently changed something and discovered a repro?


#3

My script for anchoring root parts hasn’t been changed since I wrote it and the scripts that utilize it haven’t either.

This is the (server) script (I can tell it’s old because it breaks basically every practice I follow nowadays):

local torsoAnchors = 0

script.Parent.HumanoidRootPart.ChildAdded:connect(function(c)
	if c.Name == "TorsoAnchor" then
		torsoAnchors = torsoAnchors + 1

		script.Parent.HumanoidRootPart.Anchored = true
	end
end)

script.Parent.HumanoidRootPart.ChildRemoved:connect(function(c)
	if c.Name == "TorsoAnchor" then
		torsoAnchors = torsoAnchors - 1

		if torsoAnchors == 0 then
			script.Parent.HumanoidRootPart.Anchored = false
		end
	end
end)

On my git blame, the files that utilized this haven’t been changed. However, they certainly did anchor.


#4

Is it possible that whenever you’ve used it before there were Constraints attached to the characters being Anchored?

Again as far as I am aware whenever humanoids were in a non-simulated state Anchored hasn’t worked before.


#5

No. Here’s the context of something that uses it that I know worked.

image


#6

That still doesn’t mean anything to me. My point is that if you would’ve done this next to another object, a pole, or another anchored part that was close-ish to touching the HumanoidRootPart you would have triggered simulated mode, which would have respected anchored.

I can imagine however you were using this in a gameplay scenario, maybe it was always being triggered when the character was in simulated mode?


#7

Possibly? Let me test in studio with a large anchored wall next to my character when I do it.

Weird, when doing it next to an anchored brick the behavior I recognize comes back. I suppose there was just always a wall nearby?


#8

I just verified that the behavior is the same with 365 studio from over a month ago. This was never a reliable behavior. We’ll file a bug bu to my knowledge this kind of behavior has existed for a long time on Roblox.


#9

I’m going to bet that you’re right: the ability that utilized this is something you’d always use next to a wall for cover. Because of that, we just never noticed this was the behavior I suppose.


#10

Yeah it’s still a bug, and I’m surprised it hasn’t gotten much attention. I wonder if any content will break if we fix this.

In the mean time, you should probably use AlignPosition and AlignOrientation constraints for stuns.