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

# decompile

> Décompile un script Roblox et renvoie le source text généré lorsque le bytecode est disponible. L’argument doit être une script Instance prise en charge. Si aucun bytecode utilisable n’est disponible, la function renvoie nil.

<div className="real-function-page">
  ```lua theme={null}
  decompile(script: userdata): string | nil
  ```

  ## Arguments

  <ParamField path={"script"} type={"userdata"} required>
    Script object a decompile. Les valeurs ClassName prises en charge sont ModuleScript, LocalScript, CoreScript et Script avec RunContext Client.
  </ParamField>

  ## Retours

  <ResponseField name={"source"} type={"string | nil"}>
    Decompiler output string, caught decompiler exception text, ou nil lorsqu aucun usable embedded bytecode n est disponible.
  </ResponseField>

  ## Exemple

  Decompile a supported Roblox script Instance. To decompile a whole game, iterate its descendants or use a saveinstance workflow.

  ```lua theme={null}
  local targetScript

  for _, descendant in ipairs(game:GetDescendants()) do
      if descendant:IsA("LuaSourceContainer") then
          targetScript = descendant
          break
      end
  end

  if targetScript then
      local source = decompile(targetScript)

      if source then
          print(source)
      end
  end
  ```
</div>
