Version Control
Version Control Systems or VCS (Git, SVN, Perforce, Mercurial, Bazaar, CVS, TFS, etc.) are used to manage changes to code and data, and enable teams to coordinate their development efforts. To make tracking of changes efficient and reduce the amount of disk space required, you should know which files must be tracked by the VCS and which can be ignored.
Ignore List#
In any project there are files and folders that are not subject to version control. These can be files created by the compiler, *.obj, *.tlog, or an output folder used to store binary executables.
The following files and folders in you project's root can be ignored, as they are generated automatically on your disk:
Common ignore list for every API and IDE#
- .thumbnails
- bin
Add this folder to version control before updating the engine’s version or reconfiguring the project in SDK Browser to provide the updated bin to all developers.
- data/microprofile_dump_html
- junk
- obj
- source/x64
- CMakeCache.txt
- source/**/*.obj
- unigine_editor.cfg
- *.cache
- *.modified
- *.tlog
.thumbnails
bin
data/microprofile_dump_html
junk
obj
source/x64
CMakeCache.txt
source/**/*.obj
unigine_editor.cfg
*.cache
*.modified
*.tlog
Additional ignore list for C++ (CMake) projects#
Add these entries to the common .gitignore specified above when developing projects based on C++ (CMake).
- build-*
- CMakeFiles
- CMakeScripts
- CMakeCache.txt
- cmake_install.cmake
- CMakeUserPresets.json
- compile_commands.json
- CTestTestfile.cmake
build-*
CMakeFiles
CMakeScripts
CMakeCache.txt
cmake_install.cmake
CMakeUserPresets.json
compile_commands.json
CTestTestfile.cmake
Additional ignore list for C++ (Visual Studio 2015+) projects#
Add these entries to the common .gitignore specified above when developing projects based on C++ (Visual Studio 2015+).
- .vs
- *.vcxproj.user
- *.VC.db
- *.opendb
- *.opensdf
- *.pro.user
- *.sdf
- *.suo
.vs
*.vcxproj.user
*.VC.db
*.opendb
*.opensdf
*.pro.user
*.sdf
*.suo
Files and Folders to Add to Version Control#
The following files and folders should be subject to version control:
- data folder with all its contents
If you do not want to share the editor and application settings with other team members, add the following configuration files to .gitignore:
- data/configs/unigine.user
- data/configs/default.user
- data/.editor2/*
- source folder contents except for the elements mentioned above
This folder is created only for projects that use C++ or C# API.
- *.cache files containing compiled shader cache
When team members develop a project using different GPUs or/and driver’s version for their machine configuration, it is better to add the shader cache files to .gitignore since these file will be recompiled by an end developer’s computer.
- *.project file (and *.csproj for C# projects)