Any developer or team ends up building a base of code or assets that they reuse in multiple projects. Your team (using Git and a workflow like I outlined in the last few posts) has made new stuff so quickly you don’t know what to do with it. While Unity makes it easy to drag and drop files between projects, it has no built in ability to manage these reused frameworks. As these frameworks become bigger or more important, you need to start managing changes to them more robustly. If you fix a bug while working on one project, your other projects using the same code should get fixed too. You should be able to revert to a past version of a framework without untangling it from the rest of your project. What might help with this? Why, Git, of course! By using Git’s submodules you can get all the benefits of a Git repository plus the ability to add that repo to any project.
Submodules aren’t perfect. They’re rather fragile little things and unlike most other Git operations, if you trip-up you often have to start over. But not to worry! Follow these simple steps and you’ll be sharing assets so much you won’t know what to do with them. As before, I’ll detail the process in both SourceTree and with the command line.
OK, so you know how to set up your Git repo (Part 1), and you know how to use it (Part 2). This
final part will go over the workflow I use with my Unity projects & how to collaborate with other members of your team. Part 4 will show how to reuse code or other frameworks, and part 5 how to quickly start a new project with all your favourite settings & packages already installed.
Continue reading Unity + Git, Friends Forever – Pt 3 : Workflow
This is part two of a three part guide to using Git with Unity. Part one deals with setting up Git and Unity to work together, while part three will detail a workflow that works well with Unity projects in particular. This part is a guide to the essential Git functions you need to know to use it. It will most help those new to Git, but anyone can use this part as a Git cheat-sheet, or as an intro to SourceTree or the command line.
So…what can you actually do with this Git thing?
Continue reading Unity + Git, Friends Forever – Pt 2 : The Essentials
I recently wrote a quick post about how I use Git submodules to manage my code/asset packages in Unity. While writing it I realised how difficult just getting to that stage with version control can be.
We’ve all heard how useful this version control thing is. If you work in a team larger than 2-3, you need it to manage changes to the project. If you don’t, you need it to store backups and history. It lets you reuse code and keep it updated easily. It saves my ass daily (when my laptop died suddenly last week, it took longer to find monitor cables than it did to get my project up and running on another computer). It’ll save your ass daily too.
So, here’s the first a multi-part, step by step guide on how I use Unity with Git on OSX. Yes, there are other methods. Yes, there are other platforms. But I use Git like this.
Continue reading Unity + Git, Friends Forever – Pt 1 : Setup