Make a Windows installer for a Unity or Godot game
Build the Windows player, know which folders must ship and which must not, and turn the build folder into a Setup.exe with a Desktop shortcut and a clean uninstall for itch.io, your own site or direct sales.
Updated October 31, 2026 · 3 min read
Steam handles installation for games sold there. Everywhere else, on itch.io, on your own site, in a Humble bundle, a zip is what most indie games ship, and players who aren't used to zips get lost. An installer gives them a Desktop icon, a Start Menu entry and an uninstall button, and gives you a single Setup.exe to link. Here is how to make one from a Unity or Godot build.
Unity: build the Windows player
- Open File → Build Settings (or Build Profiles in Unity 6) and pick Windows, architecture x86_64.
- Set the company name, product name, version and icon under Player Settings. The icon becomes the
.exeicon; keep a.icoversion of it for the installer. - Build into an empty folder.
The folder contains:
MyGame.exe, the player;MyGame_Data/, your assets, scenes and resources;UnityPlayer.dllandUnityCrashHandler64.exe;MonoBleedingEdge/for Mono builds, orGameAssembly.dllfor IL2CPP builds.
Do not ship the MyGame_BurstDebugInformation_DoNotShip folder (the name says it), and don't ship .pdb files from development builds. Run the .exe from the folder once before packaging.
Godot: export the Windows build
- Project → Export, add a Windows Desktop preset.
- Set the icon, product name, version and company under Application. Godot needs
rceditconfigured in the editor settings to embed the icon; otherwise the.exekeeps the Godot icon, which the installer's shortcut icon can still override. - Export to an empty folder. You get
MyGame.exeandMyGame.pck(or a single.exewith the pack embedded, if you ticked that option), plus.dllfiles for GDExtensions if any.
Zip the build folder
Zip the contents of the build folder, keeping its structure. Everything in the zip is installed as is, so players get exactly the files you tested.
Build the installer
- Upload the zip to ExeTup. It picks
MyGame.exeas the main program; confirm it (not the crash handler). - Enter the game's name, version, your studio as publisher, and a licence if you have one.
- Choose the scope. All users installs into Program Files and asks for admin rights, the convention for games. Current user installs without a prompt, which suits machines where the player isn't an administrator.
- Keep 64-bit. Unity and Godot 4 no longer produce 32-bit builds by default, and modern Windows is 64-bit.
- Upload the
.ico, enable the Desktop shortcut (players expect one) and "launch after install", then build.
Download Setup.exe, install it on a Windows machine, launch from the Desktop icon, and uninstall from Windows Settings.
Game-specific notes
- Size. Game builds are large. Solid LZMA compression in the installer typically shrinks a Unity build by 30 to 60 percent, often more than a zip does. Check the upload limit on the pricing section before you build.
- Save games. Unity's
Application.persistentDataPathand Godot'suser://already point at the player's AppData, not the install folder, so saves survive uninstalls and reinstalls. Don't write saves next to the.exe; Program Files is read-only for normal users. - Updates. A new version is a new installer with a higher version number. Installing it over the old one replaces the files in place.
- Mods and extra files. A readme, a soundtrack or a mod folder can be added in ExeTup's "Other files" step so they install alongside the game.
- SmartScreen. Players downloading a new indie game will see the "Windows protected your PC" warning until the file earns a reputation. See what to do about it; a short note on your store page helps.
FAQ
Does itch.io need an installer?
No, itch.io accepts zips, and the itch app installs them. An installer is for players who download from the website directly, and for sales outside stores. Many developers upload both.
Can I include the Visual C++ redistributable?
The installer doesn't chain other installers. Unity builds normally run without it; if your game needs a specific redistributable, say so on the download page or install it from your game's first launch.
Will antivirus flag my game?
A standard installer that puts the game in Program Files behaves like any other program. Unsigned files from new publishers get extra scrutiny; code signing is the long-term answer.
What about Unreal Engine builds?
The same process. Package the project for Windows, zip the packaged folder with its .exe, and build the installer from it.
Related guides
- How to make a Setup.exe for your Windows app (no code)What a Setup.exe actually does, the three ways to make one, and how to turn an app folder into a professional installer in minutes without writing an installer script.
- Turn an .exe into a Windows installer (exe to Setup.exe)How to convert a plain .exe, or a folder with an .exe in it, into a real Windows installer with shortcuts and an uninstaller, without writing an installer script.
- "Windows protected your PC": what the SmartScreen warning means and how to get rid of itWhy Windows shows the "unknown publisher" warning on a new installer, what users can click, and how code signing and reputation make it go away.