Why Test Exported Builds?
Your game might work perfectly in the Summer Engine editor but have issues when exported. Always test exported builds before releasing to players! This guide shows you how to properly test your game after export but before release.Quick Testing Workflow
Export Your Game
Test on Your Development Machine
Test on a Clean Machine
Fix Issues and Re-export
macOS Local Testing
First Run: Ad-Hoc Signing
Summer Engine creates ad-hoc signed builds by default. These work on your Mac but have security dialogs.Export Your Game
- Bundle Identifier:
com.yourgame.test(any reverse-domain format) - Codesign → Codesign: Disabled or Built-in (ad-hoc only)
- Notarization → Notarization: Disabled
~/Desktop/YourGame.appLaunch the Exported Game
YourGame.appHandle Security Dialog
- Right-click (don’t double-click!)
YourGame.app - Click Open from menu
- Click Open in the dialog

Grant Permissions
Why the Security Warning Appears
Ad-hoc signed apps (for testing):- ✅ Run on your Mac
- ✅ Request permissions properly
- ✅ Perfect for development testing
- ❌ Other people’s Macs will block them (Gatekeeper)
- ✅ Run on anyone’s Mac
- ✅ No security warnings
- ❌ Require Apple Developer account ($99/year)
- ❌ Not needed for Steam/itch.io (platforms handle it)
Testing Features That Only Work in Exports
Microphone/Audio Input
Why it matters: Voice chat, voice commands, audio recording In editor: May not request permissions properly (macOS security limitation) In export: ✅ macOS permission dialog appears on first launch How to test:Export and Launch
Trigger Mic Usage
Grant Permission
Verify It Works
- Speak into mic
- Check audio input is captured
- Test your voice features work properly
- After granting permission, verify in System Settings → Privacy & Security → Microphone
- Your game should appear in the list ✅
Camera Access
Similar process to microphone - permission dialog appears on first use in exported build.File System Access
Save games and user data:- In editor: Saves to project folder usually
- In export: Saves to
~/Library/Application Support/Godot/app_userdata/YourGame/
- Save game in exported build
- Quit game
- Launch again - verify save loaded
Windows Local Testing
No Security Warnings on Your PC
Windows trusts your own builds by default. But test what other users will see:Export for Windows
MyGame.exeTest Launch
MyGame.exe - should run immediatelyTest on Friend's PC
MyGame.exe to another Windows PCThey’ll see: Windows Defender SmartScreen warningWhat Users See (Unsigned Windows Build)
First launch on clean PC:- Double-click
MyGame.exe - Windows Defender SmartScreen appears:
“Windows protected your PC. Microsoft Defender SmartScreen prevented an unrecognized app from starting.”
- Click More info
- Click Run anyway
- Game launches
Performance Testing
Test Debug vs Release
Debug Export (For Testing)
Debug Export (For Testing)
- Shows debug messages in console
- 30-50% slower than release
- Larger file size
- Includes debug symbols
Release Export (For Distribution)
Release Export (For Distribution)
- Full optimization enabled
- Smaller file size
- No console output
- Maximum performance
- Export preset → Debug → Export Console Wrapper
- Debug Only: Includes console in debug builds
- No: No console in any builds (release mode)
Framerate Testing
Check FPS in exported build:- Enable FPS display in your game (or use external tools)
- Run through demanding scenes
- Verify maintains target FPS (30 or 60)
- Profile in editor first (Debug → Profiler)
- Optimize before exporting
- Lower graphics settings in Project Settings
Testing on Clean Machines
Why This Matters
Your dev machine has:- Summer Engine installed
- All dependencies
- Your project files
- Visual C++ runtimes
- Ideal testing environment
- Nothing except the OS
- Might be missing runtimes
- Different GPU/drivers
- Real-world conditions
- Missing DLL files (Windows)
- Graphics driver incompatibilities
- Audio device issues
- Save file path problems
How to Test on Clean Machine
- Use a Friend's Computer
- Virtual Machine
- Different User Account
- Export your game
- Copy to USB drive or upload to Google Drive/Dropbox
- Friend downloads and runs it
- Watch them play (screen share if remote)
- Note any errors or issues
Testing Checklist
Before releasing your game, verify:Launch and Stability
- Game launches without errors
- No crashes during 30+ minutes of gameplay
- Game can be quit properly (doesn’t hang)
- Multiple launch/quit cycles work (no state corruption)
Graphics
- All textures load correctly
- Shaders work (no pink/magenta materials)
- UI scales properly at different resolutions
- Fullscreen and windowed modes work
- Game looks correct on different monitors
Audio
- Music plays without crackling
- Sound effects trigger correctly
- Volume controls work
- Audio doesn’t cut out or distort
- Works with both speakers and headphones
Input
- Keyboard controls work (if applicable)
- Mouse controls work (if applicable)
- Gamepad controls work (if applicable)
- Input remapping works (if your game has it)
Game Features
- Save/load works
- Saved data persists after quitting
- All levels/content accessible
- Achievements unlock (if implemented)
- Multiplayer connects (if applicable)
Platform-Specific (macOS)
- Microphone permission requested (if using voice)
- Camera permission requested (if using camera)
- Game works on both Intel and Apple Silicon (if using universal)
Platform-Specific (Windows)
- No DLL missing errors
- Works on Windows 10 and 11
- Visual C++ Runtime not required (should be bundled)
Voice Feature Testing (Special Case)
If your game uses microphone input (voice chat, voice commands):The Editor Problem
Issue: Running Summer Engine editor as a bare binary doesn’t trigger macOS microphone permissions properly. Result: Voice features may appear broken in editor but work fine in exported builds.The Solution: Test Via Export
Export Your Game
Launch Exported .app
Trigger Voice Feature
Permission Dialog Appears
Grant and Test
Fixing Issues Found During Testing
Game Crashes on Launch
Debug process:Export in Debug Mode
Launch from Terminal
Read Error Messages
- Missing file errors
- Script errors
- Resource loading failures
Fix in Summer Engine
Graphics Issues (Missing Textures, Pink Materials)
Possible causes:- Texture compression not enabled for platform
- Shaders not exported properly
- Resources not included in export
- Verify texture compression enabled (ETC2 ASTC for Mac, S3TC BPTC for Windows)
- Check Export → Resources → Export Mode is “Export all resources in project”
- Re-export and test
Audio Not Playing
Check:- Audio files are Ogg Vorbis or WAV (MP3 works but has licensing issues)
- AudioStreamPlayer nodes properly configured
- Audio bus not muted
- Test with headphones (not just speakers)
Testing Different Architectures (macOS)
macOS has three architecture options - each needs testing if you support it:Universal (Recommended)
What it is: Single app that runs on both Intel and Apple Silicon Macs How to test:- Test on Apple Silicon Mac (M1/M2/M3)
- Test on Intel Mac (if you have access)
arm64 Only
What it is: Apple Silicon only (smaller file size) How to test: Runs on M1/M2/M3 Macs only Will NOT run on: Intel Macs (shows error)x86_64 Only (Legacy)
What it is: Intel Macs only How to test: Runs on Intel Macs On Apple Silicon: Runs via Rosetta 2 (translation layer) - slower performanceTesting Save Data
Where Saves Go
In editor:- Usually
user://folder maps to project directory - Easy to find and debug
- macOS:
~/Library/Application Support/Godot/app_userdata/YourGameName/ - Windows:
%APPDATA%\Godot\app_userdata\YourGameName\ - Linux:
~/.local/share/godot/app_userdata/YourGameName/
Test Save Persistence
Create Save Data
Quit Completely
Relaunch
Verify Save Loaded
- Using wrong directory (hardcoded paths instead of
user://) - Not calling
save()on File object - File permissions issues on different OS
Performance Testing
Compare Editor vs Export
Expected: Exported game runs faster than editor (especially Release builds) If exported game is slower:- Check you’re using Release export, not Debug
- Profile in editor first (Debug → Profiler) - find bottlenecks before exporting
- Test on same machine for fair comparison
Minimum Spec Testing
Test on lower-end hardware:- Older Mac (Intel i5)
- Budget Windows PC
- Integrated graphics (Intel/AMD iGPU, not dedicated GPU)
- Maintains target FPS (30 or 60)
- No stuttering during gameplay
- Memory usage stays reasonable (< 4 GB for most indie games)
Platform-Specific Testing
macOS Specific
Test these features:- Retina display rendering (high DPI)
- Fullscreen vs windowed mode
- Menu bar integration (if using native menus)
- Dock icon appears correctly
- Microphone permissions (if using voice)
- Trackpad gestures (if supported)
- macOS Sonoma (14.x) - latest
- macOS Ventura (13.x) - common version
Windows Specific
Test these features:- DirectX 11 rendering
- Fullscreen exclusive mode
- Alt+Tab works properly
- Multiple monitor support
- Windows 10 AND Windows 11
- Path separators (
/vs\) - Case-sensitive file names (works on Mac, breaks on Windows)
- Missing Visual C++ Runtime (should be bundled)
Multiplayer Testing
If your game has multiplayer (voice chat, co-op, etc.):Local Network Testing
Export for Both Platforms
Test on Same Network
- Computer A runs one build
- Computer B runs another build
- Connect them together (LAN multiplayer)
Test Voice Chat
- Verify audio transmits clearly
- Check proximity audio works (if applicable)
- Test push-to-talk vs always-on
Test Gameplay
- Movement syncs correctly
- Actions sync (shooting, jumping, etc.)
- No severe lag on local network
Internet Testing
Test over real internet (not just LAN):- Use cloud server or dedicated server
- Test with friend in different location
- Check for latency issues
- Verify voice quality over internet connection
What to Look For During Testing
Red Flags (Fix Before Release)
🚩 Crashes within first 5 minutes - major stability issue 🚩 Missing textures/audio - resource export problem 🚩 Stuttering/freezing - performance issue 🚩 Save doesn’t persist - save system broken 🚩 Controls don’t work - input mapping issueMinor Issues (Fix If Time Permits)
⚠️ Occasional visual glitch - note and fix if easy ⚠️ One sound effect too loud - balance issue ⚠️ Typo in UI text - polish issue ⚠️ Minor FPS dip in one area - optimize if possibleWhat’s OK to Ship
✅ Security warnings on macOS/Windows - normal for unsigned games on itch.io ✅ Console window appears briefly (Windows Debug mode) - disable for final release ✅ Not 100% perfect graphics - indie games are judged on gameplay ✅ Small bugs you know about - can patch after release if notedIteration Speed
Fast Testing Loop
Make Changes
Quick Test in Editor
Export
Test Export
Repeat
Preparing for Release
Once testing is complete:Final Export Checklist
- Export in Release mode (not Debug)
- Test on clean machine(s)
- All critical bugs fixed
- Save/load verified working
- Performance acceptable on minimum spec
- File size reasonable (< 500 MB ideal for indie games)
- Game can be quit properly
- README/instructions included (if distributing manually)
For Steam
- Exported for all target platforms (Windows, Mac, Linux)
- Tested each platform build
- Build size under Steam depot limits (usually fine for indie games)
- Steam Input configured (if using controllers)
For itch.io
- Game zipped if needed (macOS .app must be zipped)
- File named clearly (
MyGame-Mac.zip,MyGame-Windows.exe) - README explains how to bypass security warnings
- File size under itch.io limits (1-2 GB)

