Compilation Testing Guide
Testing ElysMusicEngine Compilation
Before submitting to Epic/FAB Marketplace, test compilation locally:
Quick Test (Single Version)
.\test_compilation.ps1 -UEVersion 5.4
Test Multiple Versions
.\test_compilation.ps1 -TestVersions @("5.0", "5.1", "5.2", "5.3", "5.4", "5.5")
Clean Build
.\test_compilation.ps1 -UEVersion 5.4 -CleanOutput
Verbose Output
.\test_compilation.ps1 -UEVersion 5.4 -Verbose
What the Script Does
- ✅ Locates Unreal Engine installations
- ✅ Runs
RunUAT BuildPluginfor each version - ✅ Captures build logs
- ✅ Reports compilation errors and warnings
- ✅ Validates output binaries
- ✅ Provides summary of results
Build Output
Build artifacts are saved to: BuildTest/UE_[Version]/
Each build includes:
- Compiled plugin binaries
BuildLog.txt- Full build outputBuildLog_Error.txt- Error output
Common Issues
Missing UE Installation
Error: Unreal Engine X.X not found
Solution: Script searches in:
C:\Program Files\Epic Games\UE_X.XD:\Program Files\Epic Games\UE_X.XE:\Epic Games\UE_X.X
Edit $UEBasePaths in the script if your installation is elsewhere.
Compilation Errors
Error: error C2065: 'GEngine': undeclared identifier
Solution: Missing #include "Engine/Engine.h" - Already fixed in this update.
Error: error C2027: use of undefined type 'UWorld'
Solution: Missing #include "Engine/World.h" - Already fixed in this update.
Error: cannot convert from 'UWorld *' to 'const UObject *'
Solution: These types should be convertible. Check for missing includes or module dependencies.
CI/CD Integration
The GitHub Actions workflow (.github/workflows/unreal-build.yml) performs:
- Structure Validation - Checks plugin files and directories
- Code Validation - Verifies ERP naming, includes, dependencies
- Documentation Validation - Lints markdown files
- Instructions - Reminds to run local compilation tests
Note: GitHub Actions does NOT compile the plugin (UE is too large for CI). Always test locally before submitting.
Pre-Submission Checklist
- Run
test_compilation.ps1for all target UE versions - Fix all compilation errors
- Review and address warnings
- Test plugin in-editor
- Run
prepare_fab_package.py --validate - Verify no binaries in git (
Binaries/,Intermediate/) - Update
CHANGELOG.mdif applicable - Submit to Epic/FAB
Manual UAT Command
If you prefer manual testing:
cd "C:\Program Files\Epic Games\UE_5.4\Engine\Build\BatchFiles"
.\RunUAT.bat BuildPlugin `
-Plugin="C:\Path\To\ElysMusicEngine.uplugin" `
-Package="C:\Path\To\Output" `
-Rocket
Troubleshooting
Script Execution Policy
If PowerShell blocks the script:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Build Hangs
- Increase timeout in script if needed
- Check Task Manager for stuck
UnrealBuildTool.exe - Manually kill and retry with
-CleanOutput
Missing Dependencies
Ensure these are installed:
- Visual Studio 2022 (for UE 5.3+)
- .NET SDK
- Windows SDK
Getting Help
If compilation tests fail:
- Check
BuildTest/UE_[Version]/BuildLog.txt - Search error codes in Unreal Engine documentation
- Review include paths and module dependencies
- Open an issue with:
- UE version
- Full error message
- Relevant build log section