How would you set up version control for a small game team with programmers and artists?
What the interviewer wants to hear
- Use Git with LFS or Perforce for large binary assets
- Ignore generated folders such as Library, Temp, Binaries and Intermediate
- Use file locking for binary files that cannot be merged, like scenes and art
- Small frequent commits and branches or a clear trunk workflow
- Unity: force text serialization and visible meta files
Model answer
For a small team I would use Git with Git LFS, or Perforce if the art is very heavy. First, a proper ignore file so generated folders like Unity's Library and Temp or Unreal's Binaries and Intermediate never get committed. In Unity I make sure asset serialization is set to text and meta files are committed, because references depend on them. Large binaries like textures, models and audio go through LFS. Since scenes, prefabs and art files are hard to merge, I enable file locking so two people do not edit the same level at once. Programmers work on short-lived branches with pull requests, and we keep main always buildable, ideally with a CI build. Clear commit messages help when tracking down which change broke something.
Can you answer it under time pressure?
Take a timed easy round and get scored on every answer.
More easy Game Developer questions
- What is a game loop, and why is delta time important?
- In Unity, what is the difference between Awake, Start, Update, FixedUpdate and LateUpdate?
- How do you use vectors, dot product and cross product in game development?
- How does collision detection work in a game engine, and what is the difference between a collider and a trigger?
- Tell me about a game or game feature you built. What was the hardest problem and how did you solve it?
- Why do game engines like Unity and Unreal favour components over deep inheritance trees for game objects?
- What do you do as a programmer to make a game "feel" good to play?
- What are coroutines in Unity, and when would you use them instead of Update or async/await?
- How do you use prefabs, nested prefabs and prefab variants to keep a Unity project organised?