Which method is better/more reliable for detecting when a player has landed?

I’ve tried both, and they seem to work fine. Right now I’m using the Humanoid.StateChanged method to detect when a player lands.

1st method:

Humanoid.StateChanged:Connect(function(state)

	if state == Enum.HumanoidStateType.Landed then

		ResetState()

	end

end)

2nd method:

Humanoid:GetPropertyChangedSignal("FloorMaterial"):Connect(function()

	if Humanoid.FloorMaterial ~= Enum.Material.Air then
		
		ResetState()
		
	end

end)
Humanoid.StateChanged:Connect(function(state)

	if state == Enum.HumanoidStateType.Landed then

		ResetState()

	end

end)

would go with one as it directly checks for the Landed state, which is specifically designed for that purpose.

1 Like