C’est une bonne idée d’utiliser GIT pour gérer le code source d’une application Unity, mais il ne faut pas y mettre tous les fichiers d’un projet sous peine de faire gonfler inutilement l’espace disque occupé par le dépôt et ralentir les opérations de synchronisation avec les dépôts distants (clone, fetch, pull, push). Certains dossiers sont inutiles, d’autres peuvent être recréés par Unity quand il en a besoin.
Voici comment configurer Unity et GIT pour une utilisation optimale.
Configuration dans Unity
Avant de faire le premier commit avec GIT pour un projet Unity, il faut s’assurer que Unity sauve un maximum de fichiers sous forme texte au lieu de binaire.
Dans Unity, aller dans Edit >Project Settings > Editor
Sous Asset Serialization, il faut choisir le Mode Force Text. C’est le point le plus important.
Sous Version Control, choisir le Mode soit Visible Meta Files ou Hidden Meta Files. La différence est seulement si les fichiers .meta sont visibles ou pas dans l’Explorateur ou le Finder.
Fichier .gitignore
Placer un fichier texte nommé .gitignore dans le dossier racine du projet Unity permet d’ignorer les fichiers qui ne sont pas nécessaire de mettre sous GIT.
Installation facile:
- Télécharger gitignore.zip
- Déplacer le fichier zip dans la racine du projet
- Décompressez le fichier zip
- Le fichier (caché)
.gitignore
est directement au bon endroit, avec le bon nom.
Contenu du fichier:
# Apps
*.app/
# =============== #
# Unity generated #
# =============== #
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ibrary/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/
# Unity3D Generated File On Crash Reports
sysinfo.txt
/[Mm]emoryCaptures/
/[Rr]ecordings/
/Assets/AssetStoreTools*
# Probuilder
Assets/ProBuilder Data/
Assets/ProBuilder Data.meta
# Visual scripting
# Optionally exclude these transient (generated) files,
# because they can be easily re-generated by the package
Assets/Unity.VisualScripting.Generated.meta
Assets/Unity.VisualScripting.Generated/
# ===================================== #
# Visual Studio / MonoDevelop generated #
# ===================================== #
[Ee]xported[Oo]bj/
/*.userprefs
/*.csproj
/*.pidb
/*.suo
/*.sln*
/*.user
/*.unityproj
/*.booproj
.vsconfig
# Visual Studio cache directory
/.vs/
# ============ #
# OS generated #
# ============ #
.DS_Store*
._*
.Spotlight-V100
.Trashes
Icon?
!Icon?/
ehthumbs.db
[Tt]humbs.db
# ============ #
# Other #
# ============ #
# Usually installed by packages from the package manager
Assets/Samples
Le fichier est peut-être caché par le Finder sous OS X. Voir ici pour afficher les fichiers cachés sous OS X.
Liens
Pour démarrer la gestion d’un projet Unity avec SourceTree et bitbucket, voir cet article (en anglais):
Backing Up Your Projects: A Beginner’s Guide