> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rollingquest.kramgames.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ElementPropertiesData — Design-Time Property Editor Reference

> API reference for the ElementPropertiesData class in RollingQuest Lua scripting. Read custom properties on level elements at design time.

The `ElementPropertiesData` class provides typed methods for reading custom properties on level elements at design time. This is the editor-side counterpart to the runtime [`ElementPropertyPool`](/api/classes/element-property-pool).

<Note>
  This is the **editor/design-time API**. For runtime property access during gameplay, use [`ElementPropertyPool`](/api/classes/element-property-pool) instead.
</Note>

## Getter Methods

```lua theme={null}
--- @param name string
--- @return integer
function ElementPropertiesData:GetIntegerProperty(name)

--- @param name string
--- @return number
function ElementPropertiesData:GetFloatProperty(name)

--- @param name string
--- @return string
function ElementPropertiesData:GetStringProperty(name)

--- @param name string
--- @return boolean
function ElementPropertiesData:GetBooleanProperty(name)

--- @param name string
--- @return string
function ElementPropertiesData:GetEnumProperty(name)

--- @param name string
--- @return integer
function ElementPropertiesData:GetEnumOrdinalProperty(name)
```

## Usage Example

Read custom properties from a block during gameplay:

```lua theme={null}
function OnBallRoll(self, rollIn, side, ball)
    -- self is a Block — use the runtime ElementPropertyPool
    local props = self.properties

    if props:hasProperty("health") then
        local health = props:getPropertyValue("health")
        Logger.info("Block health: " .. tostring(health))
    end
end
```
