PcoWSkbVqDnWTu_dm2ix
The Developer Hub is now deprecated and information on this page may no longer be accurate. Instead, you should go to our new and improved documentation. You can also learn more about the future of documentation.
Collapse Sidebar

FloorMaterial

Humanoid

Material

This is a read-only property that describes the Enum/Material the Humanoid is currently standing on.
It works with both regular BasePart|Parts and Terrain voxels.

The code sample below demonstrates how to listen to when this property changes using Instance/GetPropertyChangedSignal. When the material the humanoid is standing on changes, it will print a message indicating the new material being stood on.

local Humanoid = route.to.humanoid

Humanoid:GetPropertyChangedSignal("FloorMaterial"):Connect(function()
    print("New value for FloorMaterial: " .. tostring(Humanoid.FloorMaterial))
end)

Caveats

  • When the Humanoid is not standing on a floor, the value of this property will be set to Air.
    • This occurs because Enum properties cannot have an empty value.
    • This can cause some confusion if a part has its material is set to Air, though in practice, parts are not supposed to use that material in the first place.
  • The Humanoid|Humanoid's character model must be able to collide with the floor, or else it will not be detected.
    • You cannot test if the Humanoid is swimming with this property. You should instead use the Humanoid|Humanoid's Humanoid/GetState function.