# Real Function Reference > Complete multilingual function reference for Real. ## Overview - [Introduction](https://docs.projectreal.gg/en/index.md): Reference documentation for every function supported by Real. ## Cache - [Cache](https://docs.projectreal.gg/en/reference/cache/index.md): Reference caching and instance comparison. - [cache.invalidate](https://docs.projectreal.gg/en/reference/cache/cache-invalidate.md): Removes the cached Instance entry for the given Instance. - [cache.iscached](https://docs.projectreal.gg/en/reference/cache/cache-iscached.md): Returns whether the given Instance has a non-nil entry in the Instance cache. - [cache.replace](https://docs.projectreal.gg/en/reference/cache/cache-replace.md): Sets the cached Instance entry for one Instance to another Instance. - [cloneref](https://docs.projectreal.gg/en/reference/cache/cloneref.md): Pushes a new Instance reference for the same same underlying Instance and returns it. - [compareinstances](https://docs.projectreal.gg/en/reference/cache/compareinstances.md): Compares the Instance references stored in two Instance object values. ## Cryptography - [Cryptography](https://docs.projectreal.gg/en/reference/cryptography/index.md): Encoding, hashing, encryption, and compression. - [base64_decode](https://docs.projectreal.gg/en/reference/cryptography/base64-decode.md): Decodes Base64 input with Base64 decoder and returns the decoded bytes as a Lua string. - [base64_encode](https://docs.projectreal.gg/en/reference/cryptography/base64-encode.md): Encodes a Lua string's bytes with Base64 encoder, using = padding and no line breaks. - [crypt.decrypt](https://docs.projectreal.gg/en/reference/cryptography/crypt-decrypt.md): Decrypts Base64 ciphertext with a Base64-decoded key and required Base64 IV using AES CBC or ECB. - [crypt.encrypt](https://docs.projectreal.gg/en/reference/cryptography/crypt-encrypt.md): Encrypts Lua string bytes with AES CBC, ECB, or CTR using a Base64-decoded key, then returns Base64 ciphertext and the IV result. - [crypt.generatebytes](https://docs.projectreal.gg/en/reference/cryptography/crypt-generatebytes.md): Generates random bytes with random byte generator and returns them Base64-encoded as a Lua string. - [crypt.generatekey](https://docs.projectreal.gg/en/reference/cryptography/crypt-generatekey.md): Generates 32 random raw bytes with random byte generator and returns them Base64-encoded as a Lua string. - [crypt.hash](https://docs.projectreal.gg/en/reference/cryptography/crypt-hash.md): Hashes Lua string bytes with a supported crypto library hash algorithm and returns a lowercase hexadecimal digest. - [crypt.hmac](https://docs.projectreal.gg/en/reference/cryptography/crypt-hmac.md): Computes a crypto library HMAC over Lua string bytes using a raw Lua string key and returns a Base64 digest. - [crypt.random](https://docs.projectreal.gg/en/reference/cryptography/crypt-random.md): Generates raw random bytes with random byte generator and returns them as a Lua string. - [lz4compress](https://docs.projectreal.gg/en/reference/cryptography/lz4compress.md): Compresses Lua string bytes with LZ4 block compression and returns the raw compressed bytes as a Lua string. - [lz4decompress](https://docs.projectreal.gg/en/reference/cryptography/lz4decompress.md): Decompresses raw LZ4 block bytes with LZ4 block decompression and returns raw decompressed bytes as a Lua string. ## Filesystem - [Filesystem](https://docs.projectreal.gg/en/reference/filesystem/index.md): Read, write, and manage files and folders. - [appendfile](https://docs.projectreal.gg/en/reference/filesystem/appendfile.md): Appends raw Lua string bytes to a workspace file using binary append mode. The file may be created if its parent folder exists. - [delfile](https://docs.projectreal.gg/en/reference/filesystem/delfile.md): Deletes an existing regular file inside the workspace. - [delfolder](https://docs.projectreal.gg/en/reference/filesystem/delfolder.md): Deletes an existing folder inside the workspace recursively with recursive folder deletion. - [getcustomasset](https://docs.projectreal.gg/en/reference/filesystem/getcustomasset.md): Copies an existing regular workspace file into ExtraContent// and returns an rbxasset:// string for the copied asset path. - [isfile](https://docs.projectreal.gg/en/reference/filesystem/isfile.md): Returns whether a path resolved inside the workspace exists and is a regular file. - [isfolder](https://docs.projectreal.gg/en/reference/filesystem/isfolder.md): Returns whether a path resolved inside the workspace exists and is a directory. - [listfiles](https://docs.projectreal.gg/en/reference/filesystem/listfiles.md): Returns an array table of the direct children of an existing workspace directory. - [loadfile](https://docs.projectreal.gg/en/reference/filesystem/loadfile.md): Reads a workspace file, compiles its contents with the Luau compiler, and returns the loaded Luau function without executing it. - [makefolder](https://docs.projectreal.gg/en/reference/filesystem/makefolder.md): Creates a directory inside the workspace with recursive folder creation, including missing parent directories. - [openfiledialog](https://docs.projectreal.gg/en/reference/filesystem/openfiledialog.md): Opens a Windows file-open dialog with Windows file picker and returns the selected file as a file item. - [openfilesdialog](https://docs.projectreal.gg/en/reference/filesystem/openfilesdialog.md): Opens a Windows file-open dialog with Windows file picker with multi-select enabled and returns the selected files as file item values. - [openfolderdialog](https://docs.projectreal.gg/en/reference/filesystem/openfolderdialog.md): Opens a Windows folder picker with Windows file picker with folder selection mode and returns the selected folder as a file item. - [readfile](https://docs.projectreal.gg/en/reference/filesystem/readfile.md): Reads an existing regular file inside the workspace in binary mode and returns its bytes as a Lua string. - [savefiledialog](https://docs.projectreal.gg/en/reference/filesystem/savefiledialog.md): Opens a Windows save dialog with Windows save dialog, writes the provided Lua string bytes to the selected path, and returns the saved file as a file item. - [writefile](https://docs.projectreal.gg/en/reference/filesystem/writefile.md): Writes Lua string bytes to a file inside the workspace, creating missing parent directories and replacing the file contents if the file already exists. ## JSON - [JSON](https://docs.projectreal.gg/en/reference/json/index.md): Parse, encode, inspect, and transform JSON. - [json.array](https://docs.projectreal.gg/en/reference/json/json-array.md): Creates a new table marked as a JSON array for json.encode, copying the 1.#source sequence when a source table is provided. - [json.clone](https://docs.projectreal.gg/en/reference/json/json-clone.md): Clones a value by encoding it with json.encode semantics and decoding the generated JSON back into Lua values. - [json.decode](https://docs.projectreal.gg/en/reference/json/json-decode.md): Parses a JSON string with Real's JSON parser and returns the decoded Lua value, marking decoded arrays and objects for the JSON helpers. - [json.decodeSafe](https://docs.projectreal.gg/en/reference/json/json-decodesafe.md): Parses JSON with the same parsing behavior as json.decode and returns a success flag instead of throwing for parse errors. - [json.encode](https://docs.projectreal.gg/en/reference/json/json-encode.md): Serializes a Lua value to a JSON string as JSON. json.stringify is registered to the same function. - [json.encodePretty](https://docs.projectreal.gg/en/reference/json/json-encodepretty.md): Serializes a Lua value to a readable formatted JSON string as JSON. json.pretty is registered to the same function. - [json.escape](https://docs.projectreal.gg/en/reference/json/json-escape.md): Escapes a string using Real's JSON string escaping rules and returns the escaped content without surrounding quotes. - [json.format](https://docs.projectreal.gg/en/reference/json/json-format.md): Parses a JSON string and re-encodes it as readable formatted JSON using Real's JSON parser and encoder. - [json.getPath](https://docs.projectreal.gg/en/reference/json/json-getpath.md): Reads a nested value from a table using a dotted string path or an array table of keys. - [json.isArray](https://docs.projectreal.gg/en/reference/json/json-isarray.md): Returns whether a value is treated as a JSON array by Real's JSON table detection. - [json.isNull](https://docs.projectreal.gg/en/reference/json/json-isnull.md): Returns whether a value is Real's JSON null sentinel, json.null. - [json.isObject](https://docs.projectreal.gg/en/reference/json/json-isobject.md): Returns whether a value is treated as a JSON object by Real's JSON table detection. - [json.keys](https://docs.projectreal.gg/en/reference/json/json-keys.md): Returns the visible keys of a table in a new table marked as a JSON array. - [json.minify](https://docs.projectreal.gg/en/reference/json/json-minify.md): Parses a JSON string and re-encodes it with Real's default non-pretty JSON encoder output. - [json.object](https://docs.projectreal.gg/en/reference/json/json-object.md): Creates a new table marked as a JSON object so Real's JSON encoder treats it as an object. - [json.parse](https://docs.projectreal.gg/en/reference/json/json-parse.md): Parses a JSON string like json.decode. - [json.pretty](https://docs.projectreal.gg/en/reference/json/json-pretty.md): Serializes a Lua value to a readable formatted JSON string like json.encodePretty. - [json.quote](https://docs.projectreal.gg/en/reference/json/json-quote.md): Escapes a string using Real's JSON string escaping rules and returns a complete quoted JSON string literal. - [json.stringify](https://docs.projectreal.gg/en/reference/json/json-stringify.md): Serializes a Lua value to a JSON string like json.encode. - [json.tryDecode](https://docs.projectreal.gg/en/reference/json/json-trydecode.md): Attempts to parse a JSON string like json.decodeSafe and returns status values for parse errors. - [json.type](https://docs.projectreal.gg/en/reference/json/json-type.md): Returns a string type name for a value. json.null returns "null". Tables return "array" or "object" using the same table classification as json.isArray and json.isObject. Other values return the runtime Lua type name result. - [json.unescape](https://docs.projectreal.gg/en/reference/json/json-unescape.md): Decodes JSON string escape sequences from escaped string content or from a complete quoted JSON string literal. The input is parsed with the JSON string parser, not as a full JSON document. - [json.validate](https://docs.projectreal.gg/en/reference/json/json-validate.md): Validates a JSON string by parsing one complete JSON value. On success it returns only true. On parse failure it returns false plus parser error details. - [json.values](https://docs.projectreal.gg/en/reference/json/json-values.md): Returns the direct values from a table in a new JSON array table. JSON metadata entries are not included. ## Console - [Console](https://docs.projectreal.gg/en/reference/console/index.md): Runtime output and console controls. - [rconsoleclear](https://docs.projectreal.gg/en/reference/console/rconsoleclear.md): Clears the current Windows console screen buffer when a console window exists. If no console window exists, the call returns without doing anything. - [rconsolecreate](https://docs.projectreal.gg/en/reference/console/rconsolecreate.md): Allocates a Windows console for the process when no console window exists. If a console window already exists, the call returns without doing anything. The function redirects stdout to console output and stdin to console input after allocation. - [rconsoledestroy](https://docs.projectreal.gg/en/reference/console/rconsoledestroy.md): Clears the current Windows console screen buffer, hides the console window, and detaches the process from the console from the console. If no console window exists, the call returns without doing anything. - [rconsoleerr](https://docs.projectreal.gg/en/reference/console/rconsoleerr.md): Writes zero or more values to the current Windows console with stdout after setting the console text attribute to error text color. Values are converted to strings, separated with tabs, and the text attribute is set to default console text color afterward. If no console window exists, the call retur… - [rconsolehide](https://docs.projectreal.gg/en/reference/console/rconsolehide.md): Hides the current Windows console window . The function does not call console detachment, so it does not detach from or destroy the console. If no console window exists, the call returns without doing anything. - [rconsoleinfo](https://docs.projectreal.gg/en/reference/console/rconsoleinfo.md): Writes zero or more values to the current Windows console with stdout after setting the console text attribute to info text color. Values are converted to strings, separated with tabs, and the text attribute is set to default console text color afterward. If no console window exists, the call return… - [rconsoleinput](https://docs.projectreal.gg/en/reference/console/rconsoleinput.md): Waits for one line of input from the current Windows console and returns it without the ending newline. If no console window exists, the call returns no values. - [rconsolename](https://docs.projectreal.gg/en/reference/console/rconsolename.md): Sets the current Windows console window title . The first argument must be a string and is checked before the console existence check. If no console window exists after the string check succeeds, the call returns without doing anything. - [rconsoleprint](https://docs.projectreal.gg/en/reference/console/rconsoleprint.md): Writes zero or more values to the current Windows console with stdout without changing the console text attribute. Values are converted to strings and separated with tabs. The function does not add a newline. If no console window exists, the call returns without converting or writing anything. - [rconsoleshow](https://docs.projectreal.gg/en/reference/console/rconsoleshow.md): Shows the current Windows console window . The function does not allocate a console. If no console window exists, the call returns without doing anything. - [rconsolewarn](https://docs.projectreal.gg/en/reference/console/rconsolewarn.md): Writes zero or more values to the current Windows console using the warning text color, then restores the normal console text color. Values are converted to strings and separated with tabs. If no console window exists, the call returns without writing anything. ## Drawing - [Drawing](https://docs.projectreal.gg/en/reference/drawing/index.md): Drawing objects and their properties. - [cleardrawcache](https://docs.projectreal.gg/en/reference/drawing/cleardrawcache.md): Clears Real's global Drawing object list. Each tracked Drawing object is marked as destroyed, image resources are released when present, and the object list is emptied. Existing Lua references to cleared Drawing objects may still exist, but the objects are no longer considered active Drawing objects… - [Drawing.new](https://docs.projectreal.gg/en/reference/drawing/drawing-new.md): Creates a new Drawing object of the requested type and adds it to Real's tracked Drawing object list. The type string must be one of the exact supported names: "Line", "Text", "Circle", "Square", "Quad", "Triangle", or "Image". Missing, non-string, or unsupported type values raise a Lua error. the D… - [getrenderproperty](https://docs.projectreal.gg/en/reference/drawing/getrenderproperty.md): Returns the result of indexing the first argument with the given property key. For Drawing object, this uses the same Drawing property lookup as object[property], so unknown properties and destroyed Drawing objects return nil. the Drawing API registers this API only when the required rendering envir… - [isrenderobj](https://docs.projectreal.gg/en/reference/drawing/isrenderobj.md): Returns whether the value is object with the Drawing object type. This is a methods check only; it does not check whether the underlying Drawing object is still active, tracked, or destroyed. the Drawing API registers this API only when the required rendering environment is active is true; when that… - [setrenderproperty](https://docs.projectreal.gg/en/reference/drawing/setrenderproperty.md): Assigns value to object[property]. For Drawing object, this uses the same Drawing property assignment as direct property assignment. Unknown Drawing properties are ignored, and destroyed Drawing objects are not changed. The third argument must be present. the Drawing API registers this API only when… ## ImGui - [ImGui](https://docs.projectreal.gg/en/reference/imgui/index.md): Immediate-mode windows and callback-driven controls. - [imgui.create](https://docs.projectreal.gg/en/reference/imgui/imgui-create.md): Creates a tracked ImGui window record and returns an ImGuiWindow object. The title argument defaults to "REAL_IM_UI" when omitted or nil. The title must be unique among currently tracked ImGui windows; creating another tracked window with the same title raises a Lua error. - [imgui.setvsync](https://docs.projectreal.gg/en/reference/imgui/imgui-setvsync.md): Updates the ImGui renderer's vertical-synchronization preference. The current presentation path stores this preference but does not apply it. - [ImGuiWindow.Button](https://docs.projectreal.gg/en/reference/imgui/imguiwindow-button.md): Appends a button element to an ImGuiWindow and stores the callback. When the rendered button is clicked, the callback is queued and later invoked without arguments. The method returns the same ImGuiWindow object. - [ImGuiWindow.Checkbox](https://docs.projectreal.gg/en/reference/imgui/imguiwindow-checkbox.md): Appends a checkbox element to an ImGuiWindow. The callback is invoked with the new boolean value when the checkbox changes, and the method returns the same ImGuiWindow object. - [ImGuiWindow.CollapsingHeader](https://docs.projectreal.gg/en/reference/imgui/imguiwindow-collapsingheader.md): Appends a collapsing header start marker, immediately calls the content callback with the same ImGuiWindow object so it can append nested elements, then appends a header end marker. During rendering, nested elements are skipped while the header is collapsed. Callback errors are caught and not return… - [ImGuiWindow.ColorPicker](https://docs.projectreal.gg/en/reference/imgui/imguiwindow-colorpicker.md): Appends a RGBA color editor to an ImGuiWindow and stores the callback. Missing or nil color components default to 1.0. When the rendered editor changes, the callback is queued and later invoked with red, green, blue, and alpha. The method returns the same ImGuiWindow object. - [ImGuiWindow.destroy](https://docs.projectreal.gg/en/reference/imgui/imguiwindow-destroy.md): Destroys an ImGuiWindow. If the object still points to a window, the method removes that window from Real's tracked ImGui window list, unreferences stored element callbacks, deletes the window record, and sets the Instance reference to nil. Calling destroy again on the same object returns without do… - [ImGuiWindow.InputText](https://docs.projectreal.gg/en/reference/imgui/imguiwindow-inputtext.md): Appends a single-line ImGui InputText element to an ImGuiWindow and stores the callback. The initial text is read with optional string handling and copied into the element's fixed 256-byte text buffer. When the rendered input changes, the callback is queued and later invoked with the current string.… - [ImGuiWindow.SameLine](https://docs.projectreal.gg/en/reference/imgui/imguiwindow-sameline.md): Adds a layout marker so the next rendered item can continue on the same row. - [ImGuiWindow.Separator](https://docs.projectreal.gg/en/reference/imgui/imguiwindow-separator.md): Adds a separator line to the window. - [ImGuiWindow.SliderFloat](https://docs.projectreal.gg/en/reference/imgui/imguiwindow-sliderfloat.md): Adds a floating-point slider to the window. The label, value, minimum, and maximum arguments are required. When the user changes the slider, the callback receives the updated numeric value. - [ImGuiWindow.SliderInt](https://docs.projectreal.gg/en/reference/imgui/imguiwindow-sliderint.md): Adds an integer slider to the window. The label, value, minimum, and maximum arguments are required. When the user changes the slider, the callback receives the updated integer value. - [ImGuiWindow.Text](https://docs.projectreal.gg/en/reference/imgui/imguiwindow-text.md): Adds non-interactive text to the window. The text argument must be a string. ## Input - [Input](https://docs.projectreal.gg/en/reference/input/index.md): Keyboard and mouse input events. - [isrbxactive](https://docs.projectreal.gg/en/reference/input/isrbxactive.md): Returns whether the current foreground window is the Roblox window found by Real. Real finds that window by enumerating windows for the current process and selecting a window whose class name is Roblox window. The function takes no arguments and returns false when no foreground window or matching Ro… - [keyclick](https://docs.projectreal.gg/en/reference/input/keyclick.md): Sends a key down event followed by a key up event when the Roblox window is active. The keyCode argument is checked as a Lua number, and sent with keyboard input with KEYEVENTF_SCANCODE. If isrbxactive would be false, the function returns without sending input. - [keypress](https://docs.projectreal.gg/en/reference/input/keypress.md): Sends a key down event when the Roblox window is active. The keyCode argument is checked as a Lua number, and sent with keyboard input with KEYEVENTF_SCANCODE. This function does not send a key up event. If isrbxactive would be false, the function returns without sending input. - [keyrelease](https://docs.projectreal.gg/en/reference/input/keyrelease.md): Sends a key up event when the Roblox window is active. The keyCode argument is checked as a Lua number, and sent with keyboard input with KEYEVENTF_SCANCODE | KEYEVENTF_KEYUP. This function does not send a key down event. If isrbxactive would be false, the function returns without sending input. - [mouse1click](https://docs.projectreal.gg/en/reference/input/mouse1click.md): Sends a left mouse down and left mouse up event when the Roblox window is active. The function takes no arguments, returns nothing, and returns without sending input when isrbxactive would be false. - [mouse1press](https://docs.projectreal.gg/en/reference/input/mouse1press.md): Sends a left mouse down event when the Roblox window is active. The function takes no arguments, returns nothing, does not send a matching left mouse up event, and returns without sending input when isrbxactive would be false. - [mouse1release](https://docs.projectreal.gg/en/reference/input/mouse1release.md): Sends a left mouse up event when the Roblox window is active. The function takes no arguments, returns nothing, does not send a matching left mouse down event, and returns without sending input when isrbxactive would be false. - [mouse2click](https://docs.projectreal.gg/en/reference/input/mouse2click.md): Sends a right mouse down and right mouse up event when the Roblox window is active. The function takes no arguments, returns nothing, and returns without sending input when isrbxactive would be false. - [mouse2press](https://docs.projectreal.gg/en/reference/input/mouse2press.md): Sends a right mouse down event when the Roblox window is active. The function takes no arguments, returns nothing, does not send a matching right mouse up event, and returns without sending input when isrbxactive would be false. - [mouse2release](https://docs.projectreal.gg/en/reference/input/mouse2release.md): Sends a right mouse up event when the Roblox window is active. The function takes no arguments, returns nothing, does not send a matching right mouse down event, and returns without sending input when isrbxactive would be false. - [mousemoveabs](https://docs.projectreal.gg/en/reference/input/mousemoveabs.md): Moves the mouse using Windows absolute mouse input when the Roblox window is active. The x and y arguments are checked as Lua numbers and converted to an integer. Real treats them as coordinates relative to the active foreground window client area, adds that client area screen position with ClientTo… - [mousemoverel](https://docs.projectreal.gg/en/reference/input/mousemoverel.md): Moves the mouse by a relative delta when the Roblox window is active. The x and y arguments are checked as Lua numbers and converted to an integer, then passed directly to mouse input with the requested mouse action as dx and dy. The function does not use the requested mouse action, does not perform… - [mousescroll](https://docs.projectreal.gg/en/reference/input/mousescroll.md): Sends a mouse wheel event when the Roblox window is active. The amount argument is checked as a Lua number, and passed directly as the dwData value to mouse input with the requested mouse action. Real does not normalize the amount or add movement data. The function returns nothing and returns withou… ## Instances - [Instances](https://docs.projectreal.gg/en/reference/instances/index.md): Instance discovery and interaction helpers. - [fireclickdetector](https://docs.projectreal.gg/en/reference/instances/fireclickdetector.md): Fires a ClickDetector interaction for the local player. The first argument must be an Instance whose ClassName is ClickDetector. distance is optional and defaults to 0. clickOption is optional, compared case-insensitively, and defaults to "mouseclick". Supported options are "mouseclick", "rightmouse… - [fireproximityprompt](https://docs.projectreal.gg/en/reference/instances/fireproximityprompt.md): Triggers a ProximityPrompt with Real's ProximityPrompt trigger. The prompt argument must be object with a ClassName field equal to "ProximityPrompt". If the value is not object, the call raises a type error. If ClassName is missing or not a string, it raises "Invalid Instance". If ClassName is not "… - [firetouchinterest](https://docs.projectreal.gg/en/reference/instances/firetouchinterest.md): Fires Real's touch interest event for two BasePart instances. The first two arguments must be Instance object and both values must pass IsA("BasePart"). The state argument is required and must be a number or boolean. When state is a number, only 1 becomes true and every other number becomes false. W… - [getcallbackvalue](https://docs.projectreal.gg/en/reference/instances/getcallbackvalue.md): Reads a Lua callback function stored in a callback property on an Instance. The first argument must be Instance object and the second argument must be a string property name. The instance reference must be valid. The property name is resolved with Roblox property metadata and must refer to a propert… - [gethui](https://docs.projectreal.gg/en/reference/instances/gethui.md): Returns game:CoreGui lookup.RobloxGui. The function takes no arguments. If CoreGui lookup returns nil, or if RobloxGui on that value is nil, the function returns nil. The function does not create a container and does not use the cached CoreGui value. - [getinstances](https://docs.projectreal.gg/en/reference/instances/getinstances.md): Returns a new array table containing every object value currently stored in the Instance cache. The function takes no arguments. It does not filter by Parent, ClassName, DataModel fieldship, nil-parent state, or Instance validity beyond checking that each registry value is object. Entries are copied… - [getnilinstances](https://docs.projectreal.gg/en/reference/instances/getnilinstances.md): Returns a new array table containing cached Instance values whose Parent field is nil. The function takes no arguments. It does not sort the returned entries. - [isnetworkowner](https://docs.projectreal.gg/en/reference/instances/isnetworkowner.md): Returns true when the Instance reports a NetworkOwnerV3 value greater than 2. Errors from reading that hidden property are not caught by this function. ## Reflection - [Reflection](https://docs.projectreal.gg/en/reference/reflection/index.md): Reflection helpers for instances and properties. - [gethiddenproperty](https://docs.projectreal.gg/en/reference/reflection/gethiddenproperty.md): Reads a Roblox property with reflection metadata, including non-scriptable properties. The first argument must be Instance object and the second argument must be a string property name. The instance reference must be valid. If the property descriptor is missing from Roblox property metadata, the fun… - [isscriptable](https://docs.projectreal.gg/en/reference/reflection/isscriptable.md): Checks the scriptable flag for a Roblox property on an Instance. The function first returns a cached scriptable value when one exists for the same instance reference and property name. On a cache miss, the property name is resolved with Roblox property metadata and the Instance class descriptor. If… - [sethiddenproperty](https://docs.projectreal.gg/en/reference/reflection/sethiddenproperty.md): Sets a Roblox property with reflection metadata. The first argument must be Instance object, the second argument must be a string property name, and the third argument must be present. The instance reference must be valid. If the property descriptor is missing from Roblox property metadata, the func… - [setscriptable](https://docs.projectreal.gg/en/reference/reflection/setscriptable.md): Stores a scriptable override for a Roblox property in the scriptable override cache and returns the previous scriptable state. The first argument must be Instance object, the second argument must be a string property name, and the third argument must be boolean. If a cache entry already exists for t… ## Scripts - [Scripts](https://docs.projectreal.gg/en/reference/scripts/index.md): Script, bytecode, and environment queries. - [decompile](https://docs.projectreal.gg/en/reference/scripts/decompile.md): Decompiles a Roblox script and returns the generated source text when bytecode is available. The argument must be a supported script Instance. If usable bytecode is not available, the function returns nil. - [dumpstring](https://docs.projectreal.gg/en/reference/scripts/dumpstring.md): Returns the decompressed bytecode string for a Roblox script object. dumpstring is registered to the same behavior as getscriptbytecode, so its behavior is identical. The argument must be object. The bytecode behavior accepts ClassName values ModuleScript, LocalScript, CoreScript, and Script. For Sc… - [getcallingscript](https://docs.projectreal.gg/en/reference/scripts/getcallingscript.md): Returns the Script Instance associated with the current Luau thread, or nil when no script is associated with it. - [getinstancesbyclass](https://docs.projectreal.gg/en/reference/scripts/getinstancesbyclass.md): Returns instances from the Instance cache table whose ClassName field exactly matches the requested string. The first argument is required to be a string. An empty string raises "ClassName required". The function creates a new array table, iterates the cache stored under Instance cache, keeps only v… - [getloadedmodules](https://docs.projectreal.gg/en/reference/scripts/getloadedmodules.md): Returns a new array table containing live entries from loaded module list. The optional excludeCore argument is read with optional boolean handling and defaults to true when omitted or nil. If excludeCore is true, entries whose instance is a descendant of core packages or CoreGui are skipped. Expire… - [getmenv](https://docs.projectreal.gg/en/reference/scripts/getmenv.md): Returns the environment table associated with a ModuleScript. The argument must be a ModuleScript object. Invalid objects raise "Invalid Instance", non-ModuleScript objects raise "ModuleScript expected", and ModuleScripts without an available thread raise "invalid thread". The function does not acce… - [getreferencedby](https://docs.projectreal.gg/en/reference/scripts/getreferencedby.md): Returns cached Instance values whose supported reference properties point to the provided Instance. The argument must be an Instance. - [getrunningscripts](https://docs.projectreal.gg/en/reference/scripts/getrunningscripts.md): Returns a new array table of unique script Instances taken from live Lua threads. The function takes no arguments. It walks the live Luau thread list, reads each thread node, skips entries without a thread node, without a weak thread ref, without LiveLuaRef, without a Lua state, without object, or w… - [getscriptbytecode](https://docs.projectreal.gg/en/reference/scripts/getscriptbytecode.md): Returns the decompressed bytecode string for a Roblox script object. getscriptbytecode is registered to the same behavior as dumpstring, so its behavior is identical. The argument must be object. The bytecode behavior accepts ClassName values ModuleScript, LocalScript, CoreScript, and Script. For Sc… - [getscriptclosure](https://docs.projectreal.gg/en/reference/scripts/getscriptclosure.md): Loads the stored bytecode for a supported Roblox script Instance and returns it as a Lua closure. Returns nil when usable bytecode is not available. - [getscripthash](https://docs.projectreal.gg/en/reference/scripts/getscripthash.md): Returns an uppercase SHA384 hex digest for the stored bytecode string of a Roblox script object. The argument must be object. The bytecode behavior accepts ClassName values ModuleScript, LocalScript, CoreScript, and Script. For Script, RunContext must be Client. If ClassName is missing, the function… - [getscripts](https://docs.projectreal.gg/en/reference/scripts/getscripts.md): Returns script object values currently present in the Instance cache. The function takes no arguments. It iterates the cache stored under the Instance cache and only considers entries whose value is object. It reads each value's ClassName field with optional string handling. LocalScript and ModuleSc… - [getscriptthread](https://docs.projectreal.gg/en/reference/scripts/getscriptthread.md): Returns the Lua thread associated with a script object when Real can find one. The argument must be object. The function reads the value's ClassName field and raises "not a valid Instance" if that field is not a string. Accepted ClassName values are Script, LocalScript, and ModuleScript; any other v… - [getsenv](https://docs.projectreal.gg/en/reference/scripts/getsenv.md): Returns the environment table associated with a LocalScript, Script, or ModuleScript. Unsupported script objects or scripts without an available thread raise the same errors as the underlying script lookup. - [loadstring](https://docs.projectreal.gg/en/reference/scripts/loadstring.md): Compiles a Luau source string and returns the loaded function. If loading fails, it returns nil and an error message. The returned function is not executed automatically. ## Signals - [Signals](https://docs.projectreal.gg/en/reference/signals/index.md): Signal connections and event forwarding. - [cansignalreplicate](https://docs.projectreal.gg/en/reference/signals/cansignalreplicate.md): Checks whether an RBXScriptSignal is legal to send with the current NetworkClient replication layer. The function validates the first argument as RBXScriptSignal, reads the signal's source instance and event descriptor, then returns the boolean result of replication layer signal replication validati… - [firesignal](https://docs.projectreal.gg/en/reference/signals/firesignal.md): Runs the local connections for an RBXScriptSignal with the provided arguments. The first argument must be a valid signal. Invalid signal values raise an error. - [getconnections](https://docs.projectreal.gg/en/reference/signals/getconnections.md): Returns connection objects for an RBXScriptSignal. The first argument must be a valid RBXScriptSignal. - [getsignalarguments](https://docs.projectreal.gg/en/reference/signals/getsignalarguments.md): Returns an array table of type names read from an RBXScriptSignal event descriptor signature. The first argument must be object whose Luau type name is RBXScriptSignal. The function reads the signal's event descriptor, walks the signature slots with the Real's argument stride, reads each argument ty… - [getsignalargumentsinfo](https://docs.projectreal.gg/en/reference/signals/getsignalargumentsinfo.md): Returns an array table of argument info from an RBXScriptSignal signature. It does not return captured runtime argument values. - [getsignalwhitelist](https://docs.projectreal.gg/en/reference/signals/getsignalwhitelist.md): Returns a new array table with the six static whitelist entries defined by the function: OnClientEvent/RemoteEvent, OnServerEvent/RemoteEvent, OnClientInvoke/RemoteFunction, OnServerInvoke/RemoteFunction, OnClientEventUnreliable/UnreliableRemoteEvent, and OnServerEventUnreliable/UnreliableRemoteEven… - [replicatesignal](https://docs.projectreal.gg/en/reference/signals/replicatesignal.md): Invokes the replication path for an RBXScriptSignal. The function reads the signal signature, converts provided Lua arguments into Roblox signal values for each signature type, truncates extra Lua arguments beyond the signature length, then calls the owning instance event invocation function. ## WebSocket - [WebSocket](https://docs.projectreal.gg/en/reference/websocket/index.md): Bidirectional WebSocket connections. - [WebSocket.Close](https://docs.projectreal.gg/en/reference/websocket/websocket-close.md): Closes a WebSocket object returned by WebSocket.connect. The first argument must be a table. The function reads the object's connection state; when a live state exists and is not already destroyed or closed, it sets isClosed to true and sends an empty close frame frame with the stored WebSocket conn… - [WebSocket.connect](https://docs.projectreal.gg/en/reference/websocket/websocket-connect.md): Creates two BindableEvents, opens a WebSocket client WebSocket connection to the provided URL, and yields until the connection attempt finishes. On success, it returns a WebSocket table with OnMessage and OnClose events, Send and Close methods supplied by the methods, and an connection state. Incomi… - [WebSocket.Send](https://docs.projectreal.gg/en/reference/websocket/websocket-send.md): Sends a Lua string with a WebSocket object returned by WebSocket.connect. The method expects the WebSocket table as the first argument and the message string as the second argument. It reads the object's connection state, raises "WebSocket state is missing" if that object is absent, returns without… ## Actors - [Actors](https://docs.projectreal.gg/en/reference/actors/index.md): Execution contexts and actor communication. - [create_comm_channel](https://docs.projectreal.gg/en/reference/actors/create-comm-channel.md): Creates a new BindableEvent with Instance.new, stores its Instance reference in the communication channel list under a numeric channel ID, and returns the ID plus the BindableEvent Instance. The channel ID is computed from the current map size plus one. If Instance.new("BindableEvent") does not leav… - [get_comm_channel](https://docs.projectreal.gg/en/reference/actors/get-comm-channel.md): Returns the BindableEvent for a communication channel ID, or nil when no channel exists for that ID. - [getactorfromthread](https://docs.projectreal.gg/en/reference/actors/getactorfromthread.md): Returns the Actor Instance associated with a Luau thread. The first argument must be a thread. The function reads the thread's thread data, requires a Actor reference and a positive container count, then reads the associated Actor. If the actor weak reference is valid, it is pushed as an Instance; o… - [getactors](https://docs.projectreal.gg/en/reference/actors/getactors.md): Returns an array table of live Actor Instances resolved from the ScriptContext actor thread list. The function takes no arguments. It walks the actor thread list, decrypts each actor Lua state, keeps entries that are valid threads, then reads each thread's thread data and the associated Actor weak r… - [getactorthreads](https://docs.projectreal.gg/en/reference/actors/getactorthreads.md): Returns an array table of Luau threads from the actor thread list. The function takes no arguments. It reads the actor list bounds from ScriptContext, walks each actor state entry, decrypts the stored global state into a Luau thread, and includes only entries that are valid threads. - [getcurrentactor](https://docs.projectreal.gg/en/reference/actors/getcurrentactor.md): Returns the Actor Instance associated with the current Luau thread. The function takes no arguments. It resolves the current Luau thread with the same lookup used by getactorfromthread: the thread data must exist, Actor reference must exist, reference count must be greater than 0, and the associated… - [getdeletedactors](https://docs.projectreal.gg/en/reference/actors/getdeletedactors.md): Returns an array table of Luau threads from the actor list whose thread data has a Actor reference, reference count is greater than 0, and the associated Actor is an expired weak reference. The function takes no arguments. It does not return Actor Instance values. - [isparallel](https://docs.projectreal.gg/en/reference/actors/isparallel.md): Returns a boolean from the current Luau thread's ScriptContext DataModel. The function takes no arguments. It reads the current current parallel execution status. If the current DataModel returns no DataModel, the function returns false. checkparallel is an alias for the same function. - [run_on_actor](https://docs.projectreal.gg/en/reference/actors/run-on-actor.md): Runs Luau source on the thread associated with a target Actor Instance. The first argument must be an Instance whose ClassName is Actor, and the second argument must be a non-empty source string. Extra arguments after source are passed to the dispatched source when supported. The call returns no val… - [run_on_thread](https://docs.projectreal.gg/en/reference/actors/run-on-thread.md): Runs Luau source on a specific Luau thread. Extra arguments after source are passed to the dispatched source when supported. The call returns no values and does not return values produced by the dispatched source. runonthread is an alias. ## Closures - [Closures](https://docs.projectreal.gg/en/reference/closures/index.md): Inspect, create, clone, and replace closures. - [checkcaller](https://docs.projectreal.gg/en/reference/closures/checkcaller.md): Returns whether the current Luau thread is present in Real caller context. The function takes no arguments and pushes the boolean result of the current caller context. The function does not inspect the Lua call stack or a function object. - [clonefunction](https://docs.projectreal.gg/en/reference/closures/clonefunction.md): Creates and returns a separate function value for the function passed as the first argument. The argument must be a function. - [comparefunctions](https://docs.projectreal.gg/en/reference/closures/comparefunctions.md): Compares two function values by their function identity. Both arguments must be functions. The function returns the boolean result of function identity(L, 1) == function identity(L, 2). It does not compare function bytecode, source, behavior, hashes, upvalues, or newcclosure mappings. comparefunctio… - [getfunctionhash](https://docs.projectreal.gg/en/reference/closures/getfunctionhash.md): Returns an uppercase SHA384 hex digest derived from a Luau function. The argument must be a function, and C closures raise "Lua function expected". If no hashable function content is available, the function returns nil. - [hookfunction](https://docs.projectreal.gg/en/reference/closures/hookfunction.md): Replaces the behavior of a target function with a replacement function and returns a callable copy of the original behavior. Both arguments must be functions. - [hookmetamethod](https://docs.projectreal.gg/en/reference/closures/hookmetamethod.md): Finds the named metamethod on a value and replaces that metamethod function with the provided replacement. The metamethod name must be a string and the replacement must be a function. - [iscclosure](https://docs.projectreal.gg/en/reference/closures/iscclosure.md): Returns whether the provided function is a C closure. The argument must be a function; passing any other type raises a type error. The function does not inspect executor ownership, source, bytecode, or upvalues. - [isexecutorclosure](https://docs.projectreal.gg/en/reference/closures/isexecutorclosure.md): Returns whether the provided function is classified as executor-owned. The argument must be a function. The function does not inspect source text, debug names, bytecode hashes, or call stack ownership. - [isfunctionhooked](https://docs.projectreal.gg/en/reference/closures/isfunctionhooked.md): Returns whether the provided function currently has a hook record. The argument must be a function. - [ishiddenstack](https://docs.projectreal.gg/en/reference/closures/ishiddenstack.md): Returns whether a function, or the function at a stack level, is marked as hidden. target must be a function or stack level number. Invalid stack levels raise "Level out of range". isstackhidden is an alias. - [islclosure](https://docs.projectreal.gg/en/reference/closures/islclosure.md): Returns whether the provided function is a Lua closure. The argument must be a function; passing a non-function raises a type error. isluaclosure is an alias. - [isnewcclosure](https://docs.projectreal.gg/en/reference/closures/isnewcclosure.md): Returns whether the provided function is a newcclosure-created C closure. The first argument must be a function; passing a non-function raises a type error. Documented usage is a single function argument; extra arguments are not part of the supported signature. - [newcclosure](https://docs.projectreal.gg/en/reference/closures/newcclosure.md): Returns a C closure for the provided function. If the function is already a C closure, the same function is returned. Passing a non-function raises a type error. - [newlclosure](https://docs.projectreal.gg/en/reference/closures/newlclosure.md): Returns a Luau closure that calls the provided function. The first argument must be a function. - [restorefunction](https://docs.projectreal.gg/en/reference/closures/restorefunction.md): Restores a hooked function, or replaces one function with another when two function arguments are provided. The first argument must be a function. - [sethiddenstack](https://docs.projectreal.gg/en/reference/closures/sethiddenstack.md): Marks or unmarks a function, or the function at a stack level, as hidden. target must be a function or stack level number. hidden defaults to true. Invalid stack levels raise "Level out of range". setstackhidden is an alias. ## Debug - [Debug](https://docs.projectreal.gg/en/reference/debug/index.md): Runtime inspection and debug utilities. - [getconstant](https://docs.projectreal.gg/en/reference/debug/getconstant.md): Returns one constant from a Lua function or stack level by one-based index. target must be a function or stack level number. Invalid stack levels raise "Level out of range". Non-function and non-number targets raise a type error expecting "function or number". C closures raise "Lua function expected… - [getconstants](https://docs.projectreal.gg/en/reference/debug/getconstants.md): Returns constants from a Lua function or stack level as a table keyed by one-based constant index. target must be a function or stack level number. Invalid stack levels raise "Level out of range". Non-function and non-number targets raise a type error expecting "function or number". C closures raise… - [getinfo](https://docs.projectreal.gg/en/reference/debug/getinfo.md): Returns a metadata table for a function or stack level. target must be a function or number. Invalid target types raise "function or number expected", invalid stack levels raise "Level out of range", and unavailable levels raise "invalid level". The returned table includes func, nups, source, short_… - [getproto](https://docs.projectreal.gg/en/reference/debug/getproto.md): Returns a nested Lua function by one-based index. target must be a Lua function or stack level number. Invalid stack levels raise "Level out of range", non-Lua functions raise "Lua function expected", and indexes outside the nested function range raise "index out of bounds". When active is true, ret… - [getprotos](https://docs.projectreal.gg/en/reference/debug/getprotos.md): Returns all nested Lua functions from a Lua function or stack level as a one-based array table. Invalid stack levels raise "Level out of range", and non-Lua functions raise "Lua function expected". debug.getprotos is an alias. - [getreg](https://docs.projectreal.gg/en/reference/debug/getreg.md): Returns the current Lua registry table. The function takes no arguments and returns the registry table directly. - [getstack](https://docs.projectreal.gg/en/reference/debug/getstack.md): Reads stack slot values from a Lua stack frame. level is required and must be a number; it is converted to an integer and must be between 0 and the current call stack depth minus one. Invalid levels raise "Level out of range". The selected frame is L->ci - level, so level 0 refers to the current fra… - [getupvalue](https://docs.projectreal.gg/en/reference/debug/getupvalue.md): Returns one upvalue from a Lua function or stack level by one-based index. Invalid stack levels raise "Level out of range", non-Lua functions raise "Lua Function expected", indexes below 1 raise "Upvalue index starts at 1", and indexes past the available upvalues raise "Upvalue index out of range".… - [getupvalues](https://docs.projectreal.gg/en/reference/debug/getupvalues.md): Returns all upvalues from a Lua function or stack level as a one-based array table. Invalid stack levels raise "Level out of range", and non-Lua functions raise "Lua function expected". debug.getupvalues is an alias. - [isvalidlevel](https://docs.projectreal.gg/en/reference/debug/isvalidlevel.md): Checks whether a numeric stack level is within the current call stack range. level is required and must be a number because the function calls requires a number. The value is converted to an integer. The function returns false when level < 0 or level >= the current call stack depth, otherwise true.… - [setconstant](https://docs.projectreal.gg/en/reference/debug/setconstant.md): Replaces one constant in a Lua function or stack level by one-based index. Invalid stack levels raise "Level out of range", non-Lua functions raise "Lua function expected", indexes below 1 raise "Constant index starts at 1", and indexes past the available constants raise "Constant index out of range… - [setstack](https://docs.projectreal.gg/en/reference/debug/setstack.md): Replaces one stack slot value in a Lua stack frame. level and index are required numbers. level must satisfy 0 <= level < the current call stack depth; invalid levels raise "Level out of range". C closure frames raise "Lua function expected". index is one-based and must refer to an existing stack sl… - [setupvalue](https://docs.projectreal.gg/en/reference/debug/setupvalue.md): Replaces one upvalue in a Lua function or stack level by one-based index. Invalid stack levels raise "Level out of range", non-Lua functions raise "Lua function expected", indexes below 1 raise "Upvalue index starts at 1", and indexes past the available upvalues raise "Upvalue index is out of range"… ## Environment - [Environment](https://docs.projectreal.gg/en/reference/environment/index.md): Access to runtime environments and garbage-collected objects. - [filtergc](https://docs.projectreal.gg/en/reference/environment/filtergc.md): Searches live garbage-collected tables or functions that match the supplied filters. filterType must be "table" or "function". options must be a table. - [getgc](https://docs.projectreal.gg/en/reference/environment/getgc.md): Returns an array table of live Luau garbage-collected objects visible to the API. Functions and userdata-like objects are included by default. Tables are included only when includeTables is true. get_gc_objects is an alias. - [getgenv](https://docs.projectreal.gg/en/reference/environment/getgenv.md): Returns the current executor environment table by pushing LUA_ENVIRONINDEX. The function takes no arguments, returns exactly one value, and has no registered alias. Repository call-sites use the returned table to read and write shared executor globals such as __siApiCache and saveinstance. - [getrenv](https://docs.projectreal.gg/en/reference/environment/getrenv.md): Returns the Roblox global environment table. The function takes no arguments and returns exactly one value. - [getscriptglobals](https://docs.projectreal.gg/en/reference/environment/getscriptglobals.md): Returns a new table containing the current LUA_GLOBALSINDEX values for _G and shared. The function takes no arguments, creates a fresh table, assigns _G from LUA_GLOBALSINDEX._G and shared from LUA_GLOBALSINDEX.shared, and returns exactly one value. It does not return the full global table, and no a… - [gettenv](https://docs.projectreal.gg/en/reference/environment/gettenv.md): Returns the environment table stored on a Luau thread. getstateenv is an alias. - [setclipboard](https://docs.projectreal.gg/en/reference/environment/setclipboard.md): Writes one value to the Windows system clipboard as text. The value is converted to a string. The function returns no status value, whether the clipboard write succeeds or fails. toclipboard is an alias. - [setrbxclipboard](https://docs.projectreal.gg/en/reference/environment/setrbxclipboard.md): Writes a required string to the Windows clipboard using Roblox Studio clipboard data format. The function returns no status value, whether the clipboard write succeeds or fails. ## Metatables - [Metatables](https://docs.projectreal.gg/en/reference/metatables/index.md): Metatables, metafields, and namecall methods. - [getmetafield](https://docs.projectreal.gg/en/reference/metatables/getmetafield.md): Returns a raw metafield value from the target metatable. target may be any value, and field must be a string. The function does not call the metafield, does not invoke __index lookup, and returns nil when the metatable or field is missing. - [getnamecallmethod](https://docs.projectreal.gg/en/reference/metatables/getnamecallmethod.md): Returns the current namecall method string when one is available, otherwise nil. The function takes no arguments and does not compute a method name from a target object. get_namecall_method is an alias. - [getrawmetatable](https://docs.projectreal.gg/en/reference/metatables/getrawmetatable.md): Returns the metatable currently attached to a target value, or nil when none is present. The function returns exactly one value and does not change the target. debug.getmethods is an alias for getrawmethods. - [hasmetafield](https://docs.projectreal.gg/en/reference/metatables/hasmetafield.md): Returns whether the target value has a non-nil raw metafield with the requested name. The function does not call the metafield, does not invoke __index lookup, and does not change readonly state. - [hasmetatable](https://docs.projectreal.gg/en/reference/metatables/hasmetatable.md): Returns whether the target value has a metatable. The function returns one boolean and does not return or change the metatable itself. - [isreadonly](https://docs.projectreal.gg/en/reference/metatables/isreadonly.md): Returns whether a table is readonly. The argument must be a table, and the function does not change it. - [makereadonly](https://docs.projectreal.gg/en/reference/metatables/makereadonly.md): Marks a table as readonly and returns no values. - [makewriteable](https://docs.projectreal.gg/en/reference/metatables/makewriteable.md): Marks a table as writable and returns no values. - [setnamecallmethod](https://docs.projectreal.gg/en/reference/metatables/setnamecallmethod.md): Replaces the current namecall method string when a current namecall method exists. The method argument must be a string. If no current namecall method exists, the call returns no values and does not create one. set_namecall_method is an alias. - [setrawmetatable](https://docs.projectreal.gg/en/reference/metatables/setrawmetatable.md): Sets the metatable for a target value and returns the original target. metatable must be a table or nil; nil clears the metatable. debug.setmethods is an alias for setrawmethods. - [setreadonly](https://docs.projectreal.gg/en/reference/metatables/setreadonly.md): Sets whether a table is readonly and returns no values. ## Threads - [Threads](https://docs.projectreal.gg/en/reference/threads/index.md): Thread context and identity. - [getscriptfromthread](https://docs.projectreal.gg/en/reference/threads/getscriptfromthread.md): Returns the Script Instance associated with a Luau thread, or nil when no valid script reference is available. - [getthreadidentity](https://docs.projectreal.gg/en/reference/threads/getthreadidentity.md): Returns the identity for the current Luau thread, or for the first argument when that argument is a thread. Returned identities are 1 through 12; other stored values return 0. - [isourthread](https://docs.projectreal.gg/en/reference/threads/isourthread.md): Returns whether the supplied Luau thread is tracked as a Real-created thread. is_our_thread is an alias. - [setthreadidentity](https://docs.projectreal.gg/en/reference/threads/setthreadidentity.md): Sets the identity for the current Luau thread, or for a provided Luau thread. Identity values are converted to integers and clamped to the supported range 0 through 12. ## Disassembler - [Disassembler](https://docs.projectreal.gg/en/reference/disassembler/index.md): Function disassembly output. - [disassemble](https://docs.projectreal.gg/en/reference/disassembler/disassemble.md): Disassembles a Luau function and returns a formatted bytecode listing string. Argument 1 must be a function; otherwise a type error reports expected function. The closure must be valid and must not be a C closure; invalid closures raise "invalid closure" and C closures raise "cannot disassemble C cl… ## Miscellaneous - [Miscellaneous](https://docs.projectreal.gg/en/reference/miscellaneous/index.md): General runtime, executor, and networking helpers. - [clear_teleport_queue](https://docs.projectreal.gg/en/reference/miscellaneous/clear-teleport-queue.md): Clears Real's queued teleport source strings and returns no values. The registered aliases call the same function. - [getexecutorname](https://docs.projectreal.gg/en/reference/miscellaneous/getexecutorname.md): Returns Real's executor name as one string. - [getexecutorversion](https://docs.projectreal.gg/en/reference/miscellaneous/getexecutorversion.md): Returns Real's executor version as one string. - [getfflag](https://docs.projectreal.gg/en/reference/miscellaneous/getfflag.md): Reads a Roblox fast flag by exact name and returns its value as a string. Missing or unsupported flags return nil. - [getfflagtype](https://docs.projectreal.gg/en/reference/miscellaneous/getfflagtype.md): Returns the detected type for a Roblox fast flag as "string", "bool", "int", or "unknown". Missing or unsupported flags return "unknown". - [getfpscap](https://docs.projectreal.gg/en/reference/miscellaneous/getfpscap.md): Returns the current FPS cap value represented by Roblox, or 0 when the value cannot be read. - [gethwid](https://docs.projectreal.gg/en/reference/miscellaneous/gethwid.md): Returns Real's hardware identifier string. - [GetObjects](https://docs.projectreal.gg/en/reference/miscellaneous/getobjects.md): Loads a local Roblox asset and returns a one-item table containing the loaded Instance. Use the method-call form game:GetObjects(asset). - [HttpGet](https://docs.projectreal.gg/en/reference/miscellaneous/httpget.md): Performs a GET request for game:HttpGet(url, cache) or game:HttpGetAsync(url, cache) and returns the response body string. The URL must pass Real's URL restrictions. - [HttpPost](https://docs.projectreal.gg/en/reference/miscellaneous/httppost.md): Performs a POST request for game:HttpPost(...) or game:HttpPostAsync(...) and returns the response body string or a request error string. The URL must pass Real's URL restrictions. - [identifyexecutor](https://docs.projectreal.gg/en/reference/miscellaneous/identifyexecutor.md): Returns two strings: the executor name followed by the executor version. - [info](https://docs.projectreal.gg/en/reference/miscellaneous/info.md): Writes zero or more values as an informational message. Values are converted to strings and separated with tab characters. The function returns no values. - [messagebox](https://docs.projectreal.gg/en/reference/miscellaneous/messagebox.md): Shows a Windows message box with text, caption, and numeric flags, then returns the integer result code. - [queue_on_teleport](https://docs.projectreal.gg/en/reference/miscellaneous/queue-on-teleport.md): Queues a source string to run after a later teleport initialization. The function returns no values. - [request](https://docs.projectreal.gg/en/reference/miscellaneous/request.md): Sends an HTTP or HTTPS request and yields until it completes. options must include Url. Method defaults to GET and must be GET, POST, PUT, PATCH, or DELETE. Headers, Cookies, and Body are optional. Request errors return an error string; completed requests return a response table. - [setfflag](https://docs.projectreal.gg/en/reference/miscellaneous/setfflag.md): Sets a Roblox fast flag by exact name. Accepted value types depend on the detected flag type. The function returns true after a supported write and false when the flag is missing, unsupported, or the value is not accepted. - [setfpscap](https://docs.projectreal.gg/en/reference/miscellaneous/setfpscap.md): Sets the FPS cap value and returns no values. Values that are non-finite, less than or equal to 0, or greater than 2000 are treated as 2000. ## RakNet - [RakNet](https://docs.projectreal.gg/en/reference/raknet/index.md): Packet hooks, packet signals, and packet send helpers. - [RakNet.add_receive_hook](https://docs.projectreal.gg/en/reference/raknet/raknet-add-receive-hook.md): Registers a callback for observed incoming RakNet packets. The callback receives one RakNetPacket while the packet is valid. Registering the same closure again replaces its stored reference. The function returns the callback it was given. - [RakNet.add_send_hook](https://docs.projectreal.gg/en/reference/raknet/raknet-add-send-hook.md): Registers a callback for observed outgoing RakNet packets. The callback receives one RakNetPacket while the packet is valid. Registering the same closure again replaces its stored reference. The function returns the callback it was given. - [RakNet.is_enabled](https://docs.projectreal.gg/en/reference/raknet/raknet-is-enabled.md): Boolean field on the RakNet table. It is true only when RakNet support is enabled for the current Real session. When it is false, the RakNet table is still present, but the send, hook, signal, priority, and reliability fields are not registered. - [RakNet.OnPacketReceive.Connect](https://docs.projectreal.gg/en/reference/raknet/raknet-onpacketreceive-connect.md): Connects a callback to the OnPacketReceive signal table and returns a RakNetSignalConnection. The callback receives a RakNetPacket while the packet is valid. - [RakNet.OnPacketSend.Connect](https://docs.projectreal.gg/en/reference/raknet/raknet-onpacketsend-connect.md): Connects a callback to the OnPacketSend signal table and returns a RakNetSignalConnection. The callback receives a RakNetPacket while the packet is valid. - [RakNet.remove_receive_hook](https://docs.projectreal.gg/en/reference/raknet/raknet-remove-receive-hook.md): Removes a receive hook previously registered with the same callback closure. The function returns no values whether or not a matching hook was present. - [RakNet.remove_send_hook](https://docs.projectreal.gg/en/reference/raknet/raknet-remove-send-hook.md): Removes a send hook previously registered with the same callback closure. The function returns no values whether or not a matching hook was present. - [RakNet.send](https://docs.projectreal.gg/en/reference/raknet/raknet-send.md): Queues packet data for the RakNet send path. The packet can be a string, buffer, array table of byte numbers, RakNetPacket, or RakNetPacketTable. Raw data calls may also pass optional priority, reliability, and orderingChannel values. The call returns no values. - [RakNetPacket.Block](https://docs.projectreal.gg/en/reference/raknet/raknetpacket-block.md): Marks a live RakNetPacket as blocked. Ignore resolves to the same method. The method returns no values. - [RakNetPacket.SetData](https://docs.projectreal.gg/en/reference/raknet/raknetpacket-setdata.md): Replaces the data stored on a live RakNetPacket with a string, buffer, or array table of byte numbers. The packet id field is updated from the first byte, or 0 when the new data is empty. The method returns no values. - [RakNetSignalConnection.Disconnect](https://docs.projectreal.gg/en/reference/raknet/raknetsignalconnection-disconnect.md): Disconnects a connection returned by RakNet.OnPacketSend.Connect or RakNet.OnPacketReceive.Connect. The method returns no values. ## RealSignal - [RealSignal](https://docs.projectreal.gg/en/reference/realsignal/index.md): Standalone signal objects with callbacks, one-shot handlers, and waiters. - [RealSignal.Connect](https://docs.projectreal.gg/en/reference/realsignal/realsignal-connect.md): Connects a callback to a RealSignal and returns a RealSignalConnection. The callback receives the arguments passed to Fire. - [RealSignal.Fire](https://docs.projectreal.gg/en/reference/realsignal/realsignal-fire.md): Fires the RealSignal with zero or more values. Connected callbacks receive those values, once connections are disconnected before invocation, and waiting threads are resumed with the same values. The method returns no values. - [RealSignal.Once](https://docs.projectreal.gg/en/reference/realsignal/realsignal-once.md): Connects a callback that is disconnected before its first callback invocation. The callback receives the arguments passed to Fire. - [RealSignal.Wait](https://docs.projectreal.gg/en/reference/realsignal/realsignal-wait.md): Yields the current thread until the RealSignal is fired, then resumes with the arguments passed to Fire. It errors when called from a context that cannot yield. - [RealSignalConnection.Disconnect](https://docs.projectreal.gg/en/reference/realsignal/realsignalconnection-disconnect.md): Disconnects a RealSignalConnection returned by Connect or Once. The method returns no values. - [Signal.new](https://docs.projectreal.gg/en/reference/realsignal/signal-new.md): Creates a new RealSignal object. The returned signal exposes Connect, Once, Wait, and Fire methods. ## SaveInstance - [SaveInstance](https://docs.projectreal.gg/en/reference/saveinstance/index.md): Roblox XML place and model serialization. - [saveinstance](https://docs.projectreal.gg/en/reference/saveinstance/saveinstance.md): Serializes the DataModel or a selected Instance to a Roblox XML place or model file and returns the saved path string. The root can be passed as the first argument, supplied as options.Object, or omitted to use game. FilePath, Path, or FileName can select the output name. The function may yield whil… ## Optional - [Guides](https://projectreal.gg/en/docs/guides) - [Troubleshooting](https://projectreal.gg/en/docs/troubleshooting) - [Release notes](https://projectreal.gg/en/docs/releases) > The links below point to documentation indexes. Follow each `/_llms/` index recursively until you reach documentation pages. ## Indexes - [German (257 pages)](https://docs.projectreal.gg/_llms/de.md): Documentation for German. - [Spanish (257 pages)](https://docs.projectreal.gg/_llms/es.md): Documentation for Spanish. - [French (257 pages)](https://docs.projectreal.gg/_llms/fr.md): Documentation for French. - [Arabic (257 pages)](https://docs.projectreal.gg/_llms/ar.md): Documentation for Arabic. - [Indonesian (257 pages)](https://docs.projectreal.gg/_llms/id.md): Documentation for Indonesian. - [Japanese (257 pages)](https://docs.projectreal.gg/_llms/ja.md): Documentation for Japanese. - [Korean (257 pages)](https://docs.projectreal.gg/_llms/ko.md): Documentation for Korean. - [Polish (257 pages)](https://docs.projectreal.gg/_llms/pl.md): Documentation for Polish. - [Brazilian Portuguese (257 pages)](https://docs.projectreal.gg/_llms/pt-br.md): Documentation for Brazilian Portuguese. - [Russian (257 pages)](https://docs.projectreal.gg/_llms/ru.md): Documentation for Russian. - [Turkish (257 pages)](https://docs.projectreal.gg/_llms/tr.md): Documentation for Turkish. - [Vietnamese (257 pages)](https://docs.projectreal.gg/_llms/vi.md): Documentation for Vietnamese. - [Simplified Chinese (257 pages)](https://docs.projectreal.gg/_llms/zh-cn.md): Documentation for Simplified Chinese.