> ## 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

> Odczytuje Roblox property przez reflection metadata, wlacznie z non-scriptable properties. Pierwszy argument musi byc Instance object, a drugi argument musi byc string property name. instance reference musi byc poprawny. Jesli property descriptor nie istnieje w Roblox property metadata, function zwraca tylko nil. Jesli descriptor istnieje, ale nie rozwiazuje sie do property entry, rzuca "Not a property". Dla reflection types Bool, Int, Float, Double, String, SystemAddress, SharedString i Vector3 function wywoluje getter i zwraca value oraz boolean rowny !IsScriptable(). SystemAddress zwraca RemoteId.PeerId jako integer. SharedString zwraca Content jako string. Vector3 czyta z instance primitive Size offset i rzuca "can't get value", jesli touch data nie istnieje. Inne property types sa czytane przez normal Lua field access po tymczasowym ustawieniu property scriptable flag na true; BinaryString jest tymczasowo traktowany jako String dla tego odczytu. original scriptable flag i BinaryString type sa przywracane przed zwroceniem.

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

  ## Argumenty

  <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>

  ## Zwroty

  <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>

  ## Przykład

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

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