Laggy Humanoids

I realize that if I have a lot of humanoids on the server, they’re movement starts to slow down.

How would I alleviate this significantly?

Make my own custom humanoids? Another way? is roblox going to have an update that fixes this?

1 Like

You can start by disabling humanoid states you’re not using - especially climbing. Other than that there’s not much else you can do outside of writing your own system.

Humanoids have been around for an extremely long time and have an insane amount of nuances and issues to them. It’s unlikely this will ever be “fixed”. Maybe someday they’ll be deprecated and replaced.

https://developer.roblox.com/api-reference/enum/HumanoidStateType

2 Likes

If my infected only needs to be walking and jumping, what should i disable?

Humanoids in general have been known to be pretty expensive. You can alleviate lag by, as stated above, disabling states you don’t need and ensuring your code isn’t doing something like running a check for the nearest player every 1/30th of a second, like enemy NPCs available in the toolbox.

1 Like

I think you can safely disable Swimming, Climbing, and Seated.
However, I can disable some extra states on my character without noticing anything weird when smacking my character around with a large stick. Not sure what disabling FallingDown and Ragdoll do since I can clearly still get whacked around.

local h = script.Parent:WaitForChild("Humanoid")
h:SetStateEnabled(Enum.HumanoidStateType.FallingDown, false)
h:SetStateEnabled(Enum.HumanoidStateType.Climbing, false)
h:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, false)
h:SetStateEnabled(Enum.HumanoidStateType.Landed, false)
h:SetStateEnabled(Enum.HumanoidStateType.Freefall, false)
h:SetStateEnabled(Enum.HumanoidStateType.Seated, false)
h:SetStateEnabled(Enum.HumanoidStateType.Swimming, false)
5 Likes