#
# This file tells Git about engine files that never really belong in source control.  They are usually build products, log 
# files and intermediate files generated from a compiler or the engine runtime.
#
#
# NOTE:
#  Paths that start with / match paths relative to the root (where the .gitignore file is)
#  Paths that end with / will match a folder and all files under it (but not a regular file with no extension)
#  Use * for wildcards.  Wildcards stop at path separators
#  Use ** for a wildcard that spans path separators
#  Paths in this file should use forward slash characters, not back slashes
#  Use \ to escape special characters like ! and #
#  Use ! to negate a previous pattern.  But it doesn't work if the parent sub-folder was masked out already.
# 

# Ignore all files by default, but scan all directories
*
!*/

# C/C++ source files
!*.c
!*.cc
!*.cpp
!*.cpp.template
!*.h
!*.h.template
!*.hpp
!*.inl
!*.inc
!*.m
!*.mm
!*.rc
!*.rc2
!*.def
!*.exp
!*.manifest

# Java source files
!*.java
!*.java.template

# C# source files
!*.cs
!*.cs.template
!*.aspx
!*.resx

# Shader formats
!*.usf
!*.hlsl
!*.glsl

# Text files
!*.txt
!*.md

# Script files
!*.bat
!*.sh
!*.pl
!*.py
!*.js
!*.command

# Other configuration and markup files
!*.ini
!*.json
!*.tps
!*.xml
!*.xaml
!*.uproject
!*.uplugin
!*.html
!*.html.template
!*.css
!*.udn
!*.config
!*.version
!.git*

# Projects and makefiles
!*.cmake
!*.mk
!*.dsp
!*.dsw
!*.csproj
!*.vcproj
!*.vcxproj
!*.vcxproj.filters
!*.sln
!*.xcodeproj
!*.xcconfig
!*.vsprops
!*.snippet
!Makefile
!Makefile.*
!Settings.settings

# Specific names
!README
!AUTHORS
!LICENSE
!FAQ
!VERSION
!ChangeLog

# Ignore Unix backup files
*~

# Exceptions
/*.sln
/*.xcodeproj
/Makefile
/CMakeLists.txt
*.target.xml
*.exe.config
*.exe.manifest

# Add exceptions for Mac Mono binaries needed to run GitDependencies.exe.
!/Engine/Binaries/ThirdParty/Mono/Mac/bin/*
!/Engine/Binaries/ThirdParty/Mono/Mac/etc/mono/config
!/Engine/Binaries/ThirdParty/Mono/Mac/etc/mono/4.5/machine.config
!/Engine/Binaries/ThirdParty/Mono/Mac/lib/libMonoPosixHelper.dylib
!/Engine/Binaries/ThirdParty/Mono/Mac/lib/mono/4.5/mscorlib.dll
!/Engine/Binaries/ThirdParty/Mono/Mac/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll
!/Engine/Binaries/ThirdParty/Mono/Mac/lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll
!/Engine/Binaries/ThirdParty/Mono/Mac/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll
!/Engine/Binaries/ThirdParty/Mono/Mac/lib/mono/gac/System.Configuration/4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
!/Engine/Binaries/ThirdParty/Mono/Mac/lib/mono/gac/System.Core/4.0.0.0__b77a5c561934e089/System.Core.dll
!/Engine/Binaries/ThirdParty/Mono/Mac/lib/mono/gac/System.Xml/4.0.0.0__b77a5c561934e089/System.Xml.dll

# Ignore the automatically created mono symlink
/Engine/Binaries/ThirdParty/Mono/Mac/bin/mono

# ...and GitDependencies.exe
!/Engine/Binaries/DotNET/GitDependencies.exe
!/Engine/Binaries/DotNET/GitDependencies.exe.config

# Ignore documentation generated for C# tools
Engine/Binaries/DotNET/UnrealBuildTool.xml
Engine/Binaries/DotNET/AutomationScripts/BuildGraph.Automation.xml

# Ignore content folders
Content/

# Ignore DDC
/Engine/DerivedDataCache/**

# Ignore intermediate folders
Intermediate/
obj/

# Ignore any saved local files
Saved/
/Engine/Programs/UnrealBuildTool/**
/LocalBuilds/

# Explcitly ignore Mac DS_Store files, regardless of where they are
.DS_Store

