Hello all, new to Unity, first post.
QUESTION (Short version)
Q: Do I have to commit the UnityTestTools to my repo? (using GIT btw).
CONTEXT
Team
- We are an indie team of 10 people (of which 4 coders, 2 graphics, 1 music, 2 marketing, 1 automation-test QA), remotely located.
- We built the team 2 weeks ago, have explored Unity, decided that unity shall be our devel framework, and finally we did an internal silly tic-tac-toe internal for us to check the workflow.
- Now we want to start developing our 1st game. Clean code. Clean repo.
- Using GIT for version control.
- We configured Unity to write all forced in “text” and visible metas.
- We are using Unity5 free edition.
Coding
- Up to now, I’ve managed to create a MVC schema. MonoBehvaiour acts as the “Controller” and then we have “non-dependant classes” that act as the “Model” of our game. The controller calls methods of this model. The model throws events to notify the changes in its state.
- We want to “unit-test” the model.
Assets
- Yesterday I discovered the UnityTestTools
- This is the only downloaded asset, the rest of the assets are made by us.
- The wonderings presented by this question may happen again if we download other assets.
QUESTIONS (Long version)
The same way in PHP you may use “composer” to handle “dependencies” so if you need a library you do not commit it inside your project, you just commit a text file saying “I want this library, this specific version”, there are our questions/wonderings:
Q1) Do I have to commit all the UnityTestTools in my repo? It is 10 Megas - may seem an overkill or not, as it carries “examples” and I don’t know how to filter what is needed and what not - but this might happen with another asset that is 500 Megas for example. Committing downloadable assets seems anti-pattern. Do I have to commit?
Q2) Or it is better that I don’t, and have all the members in the team to manually download UnityTestTools?
Q3) If they delete that repo and download it again, the UnityTestTools seem to be kept local to the project, then a new download is imposed if it’s not kept in the repo? Or Unity may store “local in your computer” things like “the testing library” you are likely going to use in several projects?
Q4) Case one thinks “maybe each project needs its own version of libraries, nothing global” then, committing them to the project still seems overkill… is there any standard of “config file” that I can place and then once the “git repo” is cloned, run some kind of “dependency installer” or so (much like “composer” is to “PHP”?
I’ve seeked for information, but I’m still confused on this. I’ve seen it exists something like an “asset manager” but I’m not sure if this is what I need. Any pointer to documentation I must read will be highly appreciated.
Thanks!