The commercial toolkit for Godot Sandbox

More power.
Same sandbox.

Give your game faster scripts, protect the code behind it, and let your players build safely.

Built for Godot. Compiled locally. Performant.

One sandbox. Every platform.

  • Windows
  • macOS
  • Linux
  • Android
  • iOS
  • Web
  • Consoles*

The freedom to build.
The control to ship.

Keep your Godot workflow. Add the performance and protection befitting a commercial release.

Bake once. Run faster.

Pre-bake scripts into native code at export time. Get better performance without JIT warm-up, including on platforms where JIT isn’t available.

Scripts stay sandboxed. For trusted game code, relax restrictions to approach native performance.

Performance depends on workload and engine calls.

Ship the game.
Keep the source.

Compile supported game scripts into stripped machine code and obfuscate their implementation. Make your game’s logic harder to inspect and copy.

Your project stays on your machine throughout the build.

Code protection raises the cost of reverse engineering.

Make room for mods.

Support real, player-written gameplay logic inside an isolated runtime. Set memory and execution limits, and choose what a mod can reach.

Restriction mode starts with zero outside access. You define the API that opens it up.

Explore the boundaries

The SafeGDScript language

Familiar syntax.
More ways to express it.

SafeGDScript extends GDScript with reusable behavior and more expressive types. A few small examples show what that looks like in your scripts.

Traits

Share state and behavior across scripts. Declare a trait, then bring its members into your script with uses.

uses Damageable

trait Damageable:
    var health: int = 100

    func take_damage(amount: int) -> void:
        health -= amount

Nullable types

Use T? for a value that can be null. A null check narrows the type so you can safely work with the value that remains.

func bonus_points(bonus: int?) -> int:
    if bonus == null:
        return 0
    return bonus + 10

Structs

Give related data a named shape with declared fields. Construct a value directly and access its fields by name.

struct Item:
    var name: String
    var value: int

func starting_item() -> Item:
    var item := Item("Potion", 25)
    item.value += 5
    return item

Compact if var

Bind a non-null value and use it inside the branch in one step. Only null skips the branch; 0, false, and empty strings still pass.

func score_label(score: int?) -> String:
    if var points := score:
        return str(points) + " points"
    return "No score yet"

Union types

Accept a specific set of types with |. Test with is to narrow the value and handle each case with the right operations.

func item_label(item: int | String) -> String:
    if item is int:
        return "Item #" + str(item)
    return item + " (named)"

Modding, built to be shipped

Open up your game.
Keep the boundaries.

New mechanics, custom worlds, entire game modes. Give your community a real scripting surface without giving their scripts unrestricted access to a player’s machine.

Godot Sandbox brings an isolated runtime and explicit permissions together in a Godot addon.

Explore the sandbox API
Restriction modeZero outside access
community_mod.sgd
Host filesystemBlocked
Network accessBlocked
Operating systemBlocked
Game objects & APIsExplicitly allowed only

You expose the game API. The sandbox enforces the boundary. Keep restrictions enabled for untrusted mods.

Included with Plus

Your studio. Your engine.
Your console build.

Studios buying Godot Sandbox Plus receive a Godot engine module with source. Build the sandbox directly into your engine and use it in your console shipping pipeline, with pre-baked scripts and no JIT dependency.

*Console builds require your own approved platform access, SDKs, and Godot port or export templates. The module is bespoke and has a reduced ABI surface compared to Godot Sandbox. Platform certification and console testing remain part of your studios build process.

Godot Sandbox Plus

Built for your
next release.

Pre-baked performance, script protection, and a supported path to modding and console builds. One commercial toolkit.

Start with the open-source foundation.
Explore Godot Sandbox Community

Sandbox Plus

For developers and studios shipping with Godot.

$2,310USD / seat / year

Annual plan, prepaid yearly. Taxes excluded.

  • Pre-baked scripts for every target platform
  • Script compilation and obfuscation
  • Restricted runtime for real modding
  • Godot engine module source for studio builds
  • Commercial updates and support
Contact sales

Talk through your project and platform needs before purchasing.

A few things worth knowing.

Are pre-baked scripts still sandboxed?

Yes. Ahead-of-time compilation changes how scripts execute. It doesn't require removing the sandbox. You can relax restrictions (including disabling memory safety) for trusted code to approach native performance. Keep the restricted configuration for untrusted mods.

Does it work on every platform?

The runtime and pre-baked approach span desktop, mobile, web, and console targets, including systems without JIT. Your export needs the matching target toolchain and integration. Plus includes the engine module for studios building their own console exports. SDK access and console ports are separate.

What does script obfuscation protect?

Supported scripts ship as stripped machine code rather than tokenized source, making casual recovery much harder. Engine-visible names, some strings, scenes, and assets may remain inspectable. Obfuscation does not make code impossible to reverse engineer. Check your export report for scripts that remain as source.

Can the open-source Godot Sandbox project help with deobfuscation?

No. The Godot module is a complete reimplementation, with a different ABI. The SGD compiler also uses a custom codegen backend to produce highly optimized code.

Why not just embed Lua?

A scripting language alone is not a security boundary. A Lua integration needs carefully restricted host bindings, libraries, and resource limits to handle untrusted code. Godot Sandbox provides a dedicated isolated runtime with a zero-outside-access restriction mode and an explicit game API.

Do I need to upload my game or license my players?

No. Compilation runs locally. Commercial tooling is licensed for development and export; the shipped runtime does not ask players for a license key.