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

# gethiddenproperty

> Liest eine Roblox property ueber reflection metadata, einschliesslich non-scriptable properties. Das erste Argument muss Instance object sein und das zweite Argument muss ein string property name sein. Der instance reference muss gueltig sein. Wenn der property descriptor in Roblox property metadata fehlt, gibt die function nur nil zurueck. Wenn der descriptor existiert, aber nicht zu einem property entry aufgeloest wird, wirft sie "Not a property". Fuer die reflection types Bool, Int, Float, Double, String, SystemAddress, SharedString und Vector3 ruft die function den getter auf und gibt den value plus ein boolean gleich !IsScriptable() zurueck. SystemAddress gibt RemoteId.PeerId als integer zurueck. SharedString gibt Content als string zurueck. Vector3 liest aus dem instance primitive Size offset und wirft "can't get value", wenn der touch data fehlt. Andere property types werden ueber normal Lua field access gelesen, nachdem das property scriptable flag temporaer auf true gesetzt wurde; BinaryString wird fuer diesen Lesevorgang temporaer als String behandelt. Das original scriptable flag und der BinaryString type werden vor dem Return wiederhergestellt.

<div className="real-function-page">
  ```lua theme={null}
  gethiddenproperty(instance: Instance, property: string): any | boolean
  ```

  ## Argumente

  <ParamField path={"instance"} type={"Instance"} required>
    Instance object whose property should be read. Invalid Instance values raise an argument error.
  </ParamField>

  <ParamField path={"property"} type={"string"} required>
    string property name resolved with Roblox property metadata.
  </ParamField>

  ## Rückgaben

  <ResponseField name={"propertyValue"} type={"any"}>
    Property value, or nil as the only return value when no property descriptor exists.
  </ResponseField>

  <ResponseField name={"wasHidden"} type={"boolean"}>
    Second return value equal to !IsScriptable() when a property value is read.
  </ResponseField>

  ## Beispiel

  Read a property value even when normal script access is limited.

  ```lua theme={null}
  local value, wasHidden = gethiddenproperty(workspace, "ClassName")
  print(value, wasHidden)
  ```
</div>
