Exporting Your Godot Project to Windows and Linux
Exporting your Godot project for Windows and Linux is a crucial step in sharing your game with the world. This tutorial walks you through the process, covering essential topics like export templates, preset configuration, and platform-specific settings. Learn how to navigate the export window, understand various options, and create distribution-ready builds for both Windows and Linux platforms. Whether you’re targeting Steam, itch.io, or direct distribution, this guide provides valuable insights to help you reach your audience effectively. By Eric Van de Kerckhove.
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress, bookmark, personalise your learner profile and more!
Create accountAlready a member of Kodeco? Sign in
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress, bookmark, personalise your learner profile and more!
Create accountAlready a member of Kodeco? Sign in
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress, bookmark, personalise your learner profile and more!
Create accountAlready a member of Kodeco? Sign in
Contents
Exporting Your Godot Project to Windows and Linux
30 mins
- Getting Started
- What is Exporting?
- Getting the Export Templates
- Adding an Export Preset
- Export Settings
- Shared Options
- Options Tab
- Resources Tab
- Features Tab
- Encryption Tab
- Scripts Tab
- Creating a Linux Export
- Adding a Windows Export Preset
- Windows Export Settings
- Codesign
- Application Settings
- Setting up Rcedit
- Creating a Windows Export
- Testing Your Exported Project
- Distributing Your Project
- Where to Go From Here?
Resources Tab
The Resources tab is where you can select which resources to export. By default, Godot will export all resources in the project.
There are three fields here:
- Export Mode This changes what resources Godot will export. By default, all resources like textures, music and scenes are exported. This may not be what you want as it’s a common practice to have sandbox or other debug scenes for example. You can filter out those resources by setting the export mode to Export selected scenes (and dependencies) and only selecting the scenes you need.
-
Filters to export non-resource files/folders: By setting up filters here, you can export files that Godot doesn’t recognize as resources. As an example, you may want to read parse data from a JSON file, which is usually not exported along with the rest of the project. By adding
*.json
to the filters, all your JSON files will be exported, making accessible to your project. -
Filters to export to exclude files/folders: This does the opposite from the previous filters. Any resource filter you add here will not be exported. You can use this to exclude debug scenes for example by naming your debug scenes
debug_name.tscn
and adding adebug*.tscn
to the filters. This will omit all debug scenes from the export.
Features Tab
This tab has a list of feature tags that you can use to change the behavior of your project based on available features.
The list of features are strings separated by commas. You can use these to check what capabilities your project and the device it’s running on supports.
The way this works from code is by calling OS.has_feature(name)
. For example, if you have the web
feature enabled, you can check if it’s available in your project by calling OS.has_feature("web")
.
By default, the feature list is filled with all available features based on the export preset. These include the texture format, the OS and the CPU architecture. You can add your own feature tags by adding them to the Custom list at the top.
Encryption Tab
This tab allows you to encrypt your exported project.
This is an advanced feature, as it requires you to compile your own export template with encryption enabled and an encryption key baked in. Like the resources tab, you can use file and folder filters here to choose what to encrypt.
I won’t go into the details here on how to use this feature, but you can find more info on it on the Compiling with PCK encryption key page.
Scripts Tab
This final tab allows you to change how your GDScript scripts are exported.
There are three options here:
- Text: No compilation or compression is done. All scripts are plain text. This is useful to debug your project.
- Binary tokens: All scripts are compiled to binary tokens. This makes loading the scripts a lot faster, but it takes a bit more effort to get the source code.
- Compressed binary tokens: This is the default export format. The scripts are compiled to binary tokens and then compressed. This decreases the file size, makes script fast to load and obfuscates the code as a bonus.
Unless you have a specific reason to use the other options, it’s best to use the Compressed binary tokens option.
Now you have an understanding of the different export options, you can create your first export!
Creating a Linux Export
To export your project, first choose an export path using by clicking the file button next to the Export Path field.
This will open a Save dialog. Navigate to the directory where you want to create your build and set a filename for it at the bottom. Make sure you choose an empty folder, as all files will be placed in the folder you choose, Godot won’t create a subfolder. Once you made your choice, click Save to store the path.
With the export path set, click the Export Project… button at the bottom of the Export window. This will open another Save dialog in the directory you chose. There’s a subtle difference though: an extra checkbox labeled Export With Debug.
This small checkbox is very important. This toggles between a debug build and a release build of your project. When toggled, you will export a debug build, which is a bit slower than a release build, but it comes with a console window and safeguards so the project won’t crash if anything is missing or goes horribly wrong. If you export a project with the checkbox unchecked, it will export a release build, which is optimized for speed, but it will crash the project if there are major issues.
In a nutshell, use debug builds when testing and ironing out bugs, and release builds when you’re ready to release your project to a wider audience. For now, leave the checkbox checked and click the Save button.
Now go ahead and check what Godot created in the directory you chose.
As you can see, there are three files here:
- .x86_64 executable: This is the executable for Linux.
- .pck file: The PCK file containing the project’s resources.
- .sh file: A shell script that runs the executable in a new terminal window.
To run your exported project, double click the .x86_64 executable. You might need to make the file executable first by running chmod +x ./name_of_executable.x86_64
in the terminal.
Adding a Windows Export Preset
Exporting for Windows is similar to Linux, but there are some extra settings and optional steps to keep in mind.
To create a Windows export, you’ll need to add the Windows Desktop export preset first. Start off by opening the Export window if you haven’t already. Now click the Add… button at the top and choose Windows Desktop.
This will add a new Windows Desktop entry in the Presets list.
Windows Export Settings
Time to take a look at the extra settings Godot has in store for you for Windows exports.
The Options tab is the only one that has Windows-specific settings, namely the Codesign and Application sections. You may need to scroll down the list of settings to see them.