EditorExportPlatformPC in Godot – Complete Guide

Exporting games is a crucial step in the game development process. It’s the stage where your creativity and hard work materialize into a playable game that can reach the audience’s hands. Whether you’re a beginner or an experienced coder, understanding how to export your game using Godot’s EditorExportPlatformPC is essential knowledge. By mastering this, you can share your projects with players on the most popular desktop platforms.

What Is EditorExportPlatformPC?

What Is EditorExportPlatformPC?

EditorExportPlatformPC is a class in the Godot engine, specifically for versions starting at Godot 4. It serves as the base class for desktop platform exporters, including Windows and Linux/BSD. It comes under the hood of the Godot game engine, offering developers a way to package and distribute their games to various PC environments.

What Is It For?

What Is It For?

The primary purpose of the EditorExportPlatformPC class is to streamline the process of exporting your game project into a format that can be easily run on desktop operating systems. It provides a set of tools and settings that let you fine-tune how your game is exported, ensuring optimal functionality and performance on the target platform.

Why Should I Learn It?

Why Should I Learn It?

Learning how to utilize the EditorExportPlatformPC class can significantly boost your efficiency as a developer. It opens up the opportunity to tailor your game’s export process to the specific needs of the desktop platform, understanding the intricacies that come with each system. This knowledge is invaluable for anyone looking to distribute their Godot-crafted games and make them accessible to a wide audience.

CTA Small Image
FREE COURSES AT ZENVA
LEARN GAME DEVELOPMENT, PYTHON AND MORE
ACCESS FOR FREE
AVAILABLE FOR A LIMITED TIME ONLY

Setting Up the Export Presets

To start exporting your game for PC using Godot, the first step is configuring your export presets. Presets are profiles that contain the settings for how your game will be exported for each platform. Accessing these presets can be done through the ‘Project’ menu and then selecting ‘Export’.

// In Godot's main editor
// Accessing the export menu
Project > Export...

Once in the Export window, you’ll need to add a preset for each platform you wish to support. Here is how you add an export preset for Windows:

// Adding a Windows Desktop Export Preset
Add...
> Windows Desktop

Repeat the process for Linux/BSD:

// Adding a Linux/BSD Export Preset
Add...
> Linux/BSD

Each preset can be configured individually, allowing you to adjust the unique settings and requirements for the given platform, including the export path, binary formats, and custom templates if needed.

Customizing Export Settings

With your presets created, the next step is to customize the settings for your game’s export. Godot provides you a list of options for this purpose:

// Example of customizing export settings for a Windows Desktop Export Preset
Selected Export Preset: Windows Desktop
One-click Deploy: Disabled
Export Path: 'MyGame/MyGame.exe'
Custom Template: 'Use Custom Build' - Disabled by default

For Linux/BSD, you might set different paths or binary formats:

// Example for Linux/BSD Export Preset
Selected Export Preset: Linux/BSD
Export Path: 'MyGame/MyGame.x86_64'
Custom Template: 'Use Custom Build' - Disabled by default

Remember to address any export warnings or missing resources that the editor indicates to ensure a smooth export process. Fine-tuning these settings will differ between projects, so experiment with what works best for your game.

Exporting Scripts and Resources

When exporting your game, deciding how scripts and resources are handled is important. Here’s an example of how you can include required resources in your export:

// Resources export settings 
Filters to export non-resource files/folders: '*.txt', 'Images/*'
Export Mode: 'Export All Resources in the Project'
Script Export Mode: 'Compiled'

You may also want to encrypt your scripts to protect them:

// Settings for encrypting scripts
Script Export Mode: 'Encrypted'
Encryption Key: 'Your_Encryption_Key_Here'

When configured, these settings will dictate whether scripts are exported in plain text, compiled bytecode, or encrypted form, as well as which non-resource files are included in your game’s build.

Customizing Game Executable

The final customization step before exporting is to detail the application executable itself, which includes the icon, application name, and version:

// Customizing your game executable for Windows
Selected Export Preset: Windows Desktop
Application Name: 'My Awesome Game'
Version: '1.0.0'
Icon: res://icon.ico

For Linux/BSD you might have different configurations:

// Customizing your game executable for Linux/BSD
Selected Export Preset: Linux/BSD
Application Name: 'My Awesome Game'
Version: '1.0.0'
Icon: res://icon.png

These settings are vital for branding your game and providing the necessary metadata that users and operating systems use to identify your game.

Once your game’s executable is customized, you’re ready to execute the final step of exporting. Pressing the ‘Export Project’ button will prompt you to confirm the export paths and settings. Guidance is given directly in the Godot interface, ensuring you make informed decisions at this stage.

// Executing the final step of exporting
Export Project > 'Save' > 'Export & Run'

If your game requires post-export scripting or modifications, such as adding additional files or making changes to the exported project’s directory, you can manually make these adjustments after the initial export has completed.

// Post-export example for packaging additional resources
// Manual operations after exporting can include copying additional files
Copy 'README.txt' to Export Folder
Copy 'Licenses' Folder to Export Folder

Godot also allows you to run custom export scripts that can automate these tasks for you, executing them each time the project is exported.

// Using Godot’s custom export scripts
Custom Script: 'my_export_script.gd'

Debugging your game on PC platforms is crucial for a smooth user experience. Godot offers built-in debugging tools. You may run the game from the editor with the desired export preset to test the exported version of the game directly:

// Testing the exported version for Windows in debug mode 
Run 'MyGame.exe' With Debugging

Finally, to optimize and reduce the size of the export, you can leverage export flags to exclude unnecessary resources:

// Optimize export size by excluding unneeded resources
Features Tags: 'exclude_unused', 'minsize'

You can also create additional export presets for different levels of quality or feature sets to cater to diverse machine specifications:

// Creating a 'low-spec' export preset
Duplicate Preset > Edit 'low-spec' Preset
Textures > Shrink Images: On

Godot allows enabling or disabling certain features or plugins for particular exports, which can significantly affect performance:

// Disable 3D for a 2D game export on a Linux/BSD preset
Selected Export Preset: Linux/BSD
Features: 'disable_3d', 'disable_vr'

Through the use of EditorExportPlatformPC and an understanding of the different configurations and customizations available, you can ensure that your game is optimized and runs flawlessly across various PC environments, providing a professional and enjoyable experience for your players.

At Zenva, we understand the importance of mastering the export process for launching successful games. That’s why we encourage learners to delve into the practical aspects of game development, guiding you through each step with hands-on tutorials and projects. By incorporating these skills, you become fully equipped to bring your game development dreams to fruition.

To streamline your workflow, Godot provides batch exporting options that allow you to export your game to multiple platforms simultaneously. Here’s how you could set up a batch export:

// Setting up a batch export command
godot --export "Windows Desktop" "MyGame/MyGame.exe"
godot --export "Linux/BSD" "MyGame/MyGame.x86_64"

For games that support multiple languages, you can manage localization resources within your export settings:

// Managing localization in export settings
Localization > Export CSV/PO Translation

// Include only selected languages in the export
Localization > Export Filtered Locales > 'en', 'es', 'fr'

Exporting your game for PC might sometimes mean having to deal with platform-specific requirements, such as signing your executable on Windows:

// Signing a Windows executable using a custom script after export
Run Custom Script: 'sign_executable.bat' "MyGame/MyGame.exe"

If your game is intended for distribution on platforms like Steam, you’ll need to integrate the platform’s SDK. This setup can be included in the export process:

// Integrating Steam SDK in the export process
Environment Variables > STEAM_SDK_LOCATION: '/path/to/steam_sdk'
Plugins > Enable 'Steam' for Export

Adjusting the graphical settings for different export presets allows you to optimize performance while catering to varying hardware capabilities:

// Adjusting graphics settings for a 'High Quality' export preset
Selected Export Preset: Windows Desktop - High Quality
Graphics > Anisotropic Filter Level: 16
Graphics > Shadow Detail: High

// Adjusting for a 'Low Quality' export preset
Selected Export Preset: Windows Desktop - Low Quality
Graphics > Anisotropic Filter Level: 1
Graphics > Shadow Detail: Low

Visual effects that may not perform well on all devices can be toggled on or off within the export presets. For example, disabling HDR for lower-end machines will help balance performance with visual quality:

// Disabling HDR for a less powerful hardware export option
Selected Export Preset: Low Spec
Rendering > Features > High Dynamic Range: Disabled

In multiplayer games, setting up network options such as permissions and security settings are essential steps in preparing your game for export:

// Setting network permissions for a game export
Networking > Network Permissions: Public
Networking > Use SSL Certificates: Enabled

Ensuring a smooth export process includes anticipating the user environment and configuring your game to play nicely with firewalls and antivirus software:

// Configuring Firewall and Antivirus permissions
Security > Firewall Exceptions: Add "MyGame.exe"
Security > Antivirus Whitelist: Add Game Folder Path

Understanding the full scope of Godot’s EditorExportPlatformPC class and the associated settings gives you the power to meticulously prepare your game for a seamless PC gaming experience. As developers at Zenva, we emphasize the value of learning through doing. Our courses are designed to empower you to apply these concepts and export settings to your projects, ensuring that when you’re ready to share your creation with the world, it’s with confidence and competence.

Continue Your Game Development Journey

The knowledge you have now is a fantastic stepping stone into the expansive realm of game development with Godot. To dive deeper into crafting cross-platform games and honing your skills, our Godot Game Development Mini-Degree is the perfect next step. This series of courses will guide you through using both 2D and 3D assets, mastering GDScript, controlling gameplay flow, constructing comprehensive UI systems, and implementing mechanics for various game genres.

Whether you’re starting out or building upon existing expertise, Zenva’s learning platform fits your pace and supports your growth every step of the way. Beyond the Mini-Degree, you can explore a broader range of content in our extensive collection of Godot courses. Our curriculum is designed for versatility and engagement, allowing you to go from beginner to professional in a supportive, self-paced online environment.

So, why wait? Take the next step in your game development journey with Zenva, and keep the momentum going toward creating the games you’ve always wanted to play and share with the world!

Conclusion

Mastering the export process in Godot with the EditorExportPlatformPC class isn’t just about getting your game out there; it’s about bringing your creative vision to life in the hands of players across various PC platforms. By diving into the details, customizing your settings, and understanding the nuances of each platform, you prime your project for success. Remember, every great game started as an idea followed by that thrilling moment of sharing it with the world, and you’re now equipped with the knowledge to do just that.

At Zenva, we’re proud to guide you through this exciting journey. We encourage you to keep learning, keep coding, and keep pushing the boundaries of what your games can be. Embrace the next phase of your development story with our Godot Game Development Mini-Degree, and experience the satisfaction of elevating your skills to create, export, and publish games that resonate with players globally. The quest for game development mastery awaits, and we’re here to embark on that adventure with you.

FREE COURSES
Python Blog Image

FINAL DAYS: Unlock coding courses in Unity, Godot, Unreal, Python and more.