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

> يقرأ Roblox property عبر reflection metadata، بما في ذلك non-scriptable properties. يجب أن يكون الوسيط الأول Instance object والثاني string property name. يجب أن يكون instance reference صالحا. إذا كان property descriptor مفقودا من Roblox property metadata، ترجع function nil فقط. إذا كان descriptor موجودا لكنه لا يتحول إلى property entry، تطلق "Not a property". لأنواع reflection Bool و Int و Float و Double و String و SystemAddress و SharedString و Vector3، تستدعي function getter وترجع value مع boolean يساوي !IsScriptable(). SystemAddress يرجع RemoteId.PeerId كـ integer. SharedString يرجع Content كـ string. Vector3 يقرأ من instance primitive Size offset ويطلق "can't get value" إذا كان touch data مفقودا. الأنواع الأخرى تقرأ عبر normal Lua field access بعد ضبط property scriptable flag مؤقتا إلى true؛ BinaryString يعامل مؤقتا كـ String لهذا القراءة. تتم استعادة original scriptable flag و BinaryString type قبل الرجوع.

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

  ## الوسائط

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

  ## القيم الراجعة

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

  ## مثال

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

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