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

> Lit une Roblox property with reflection metadata, y compris les non-scriptable properties. Le premier argument doit etre Instance object et le deuxieme argument doit etre un string property name. Le instance reference doit etre valide. Si le property descriptor manque dans Roblox property metadata, la function retourne seulement nil. Si le descriptor existe mais ne se resout pas en property entry, elle leve "Not a property". Pour les reflection types Bool, Int, Float, Double, String, SystemAddress, SharedString et Vector3, la function appelle le getter et retourne le value plus un boolean egal a !IsScriptable(). SystemAddress retourne RemoteId.PeerId comme integer. SharedString retourne Content comme string. Vector3 lit depuis le instance primitive Size offset et leve "can't get value" si le touch data manque. Les autres property types sont lus with normal Lua field access apres avoir temporairement mis le property scriptable flag a true; BinaryString est temporairement traite comme String pour cette lecture. Le original scriptable flag et le BinaryString type sont restaures avant le retour.

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

  ## Arguments

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

  ## Retours

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

  ## Exemple

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

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