Safeguard
Supply Chain•

What does a Godot game depend on? Export templates, addons and NuGet

A Godot project has more inputs than its scripts: export templates, addons, and NuGet packages for C#. A short inventory guide for small studios.

Safeguard Security Team
4 min read

A Godot game depends on at least four kinds of input: the editor version, the export templates used to build each platform, any addons in the project, and NuGet packages if you write C#. Godot's documentation confirms the first, second and fourth. Listing all four gives you an inventory you can scan and review.

The inputs, one by one

Editor version. The engine you open the project with. Record it in your repository so builds are repeatable.

Export templates. Godot's export documentation says export templates must be installed to create packages. You manage them through the editor's export template manager, either by selecting the platform and architecture to install, or by installing from a TPZ file, which is essentially a ZIP archive. The documentation says you can download a TPZ with all templates from the download page of the Godot website. Since a template is the runtime your players run, it is an input to your product.

Addons. Third party code and assets in the project's addons folder. Some contain editor scripts, which is covered in the post on tool scripts from assets.

NuGet packages. The C# documentation says NuGet packages can be installed and used with Godot, as with any C# project. That means your project can pull in the full .NET package ecosystem, transitive dependencies included.

Why the template matters

Teams often track libraries and forget the engine runtime. If you ship using an export template, any flaw fixed in a later engine release stays in your build until you re-export with a newer template. Record which editor and template version each release used. Then when an advisory lands, you can answer "which of our shipped builds used the affected version" quickly. Our post on whether shipped Unity games need a rebuild after an engine advisory makes the same point for another engine.

An inventory table to copy

InputWhere it livesWhat to record
EditorDeveloper machines and CIVersion and download source
Export templatesTemplate manager or TPZ fileVersion per platform, source, hash if provided
Addonsaddons folderName, version, source URL, license
NuGet packagesThe C# project file and lock dataName, version, direct or transitive
Mod or patch packsDelivery serverSigning approach

Steps

  1. Create a file in the repository, such as DEPENDENCIES.md, with the table above filled in.
  2. Pin the editor and template versions in your build scripts.
  3. If you use C#, enable a lock file for restores where your tooling supports it so transitive versions do not drift. Check your tooling for how to do this.
  4. Download templates from the official site only, and keep the file you downloaded for your records.
  5. Re-check the list on each engine upgrade and each release.

Try it yourself

Click through it at your own pace, or open it full screen. Look at how direct and indirect packages appear in one list, which is the view you want for your NuGet packages.

Safeguard's SBOM and dependency scanning reads dependency manifests, so a C# project's NuGet packages fit, and you can try a free scan at gold.safeguard.sh/scan. The editor and template versions go in your own notes.

Quick check

Do I need export templates to export a Godot project?

Yes. Godot's documentation says export templates must be installed to export projects.

Can a Godot C# game use any NuGet package?

Godot's documentation says NuGet packages can be installed and used as with any C# project, so ordinary NuGet review applies.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.