# -------------------------------------------------------------------------
# UNREAL ENGINE GITIGNORE
# -------------------------------------------------------------------------

# ---> Visual Studio & IDEs
# Visual Studio user-specific files
.vs/
.vsconfig

# JetBrains Rider / IntelliJ
.idea/

# ---> Compilation Artifacts
# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app
*.ipa

# ---> Generated Project Files
# These are generated by "Generate Project Files" (right-click .uproject)
*.xcodeproj
*.xcworkspace
*.sln
*.suo
*.opensdf
*.sdf
*.VC.db
*.VC.opendb

# ---> Engine & Editor Temporary Files
# Configuration files generated by the Editor (local user prefs)
Saved/

# Compiled source files for the engine to use
Intermediate/
# Recursive check for Intermediate folders in Plugins
Plugins/**/Intermediate/*

# Cache files for the editor to use
DerivedDataCache/

# Binary Files (Compiled engine code)
Binaries/
# Recursive check for Binaries in Plugins
Plugins/**/Binaries/*

# Developer Plugins (Local/sandbox plugins not meant for the shared repo)
Plugins/Developer/

# ---> Asset & Build Artifacts
# Built data for maps (Lighting data, etc. - usually massive and auto-generated)
*_BuiltData.uasset

# Precompiled Assets (Source art is often kept outside repo or in LFS)
SourceArt/**/*.png
SourceArt/**/*.tga

# Builds
Build/
Builds/

# ---> Build Whitelisting Logic
# This logic ignores the "Build" folder contents BUT allows specific exceptions
# meant for version control (like PakBlacklists and Icons)

# 1. Allow the immediate subdirectories of Build/
!Build/*/
# 2. Ignore everything inside those subdirectories
Build/*/**
# 3. But explicitly KEEP PakBlacklist text files
!Build/*/PakBlacklist*.txt
# 4. And explicitly KEEP icon files
!Build/**/*.ico

# ---> Specific Configs
# SteamVR and HoloLens auto-generated configs that shouldn't be shared
Config/steamvr_ue_editor_app.json
Config/SteamVRBindings
Platforms/HoloLens/Config/HoloLensEngine.ini
