Для багатьох із нас, особливо працюючих над меншими іграми, ви повинні мати активи в тому ж сховищі, що і ваше джерело .
Припущення про те, що активи належать до окремого сховища, має сенс лише для дуже великих наборів активів або для дещо великих наборів активів, коли чітко визначена межа двигуна / даних. Якщо немає конкретної технічної причини для цього - це погана порада!
Ви хочете, щоб ваш контроль версій поводився як контроль версій . Ви хочете мати змогу перемотати назад, перемотати назад, перекладати та з’єднувати версії та все ж працювати у грі. І ваш код і активи будуть залежати один від одного.
Наприклад: Ваш код може сподіватися, що він зможе встановити параметр на шейдері, і цей шейдер може залежати від текстури, що там знаходиться. А може формат даних ваших рівнів може залежати від конкретної версії коду гри.
Це майже напевно стане безладним. І у вас є кращі справи, ніж намагатися тримати це в порядку.
Тепер, як прокоментував Майк Вагнер ( на цю відповідь ) - ви не хочете або не потребуєте всіх «триваючих» версій своїх активів під контролем версій! Так само буде зроблена остаточна / робоча версія, використовувана вашим кодом - часто саме це ви експортуєте зі свого інструмента.
(Хоча, якщо ви хочете керувати версіями версій активів - це нормально. І добре підходить для окремого сховища. Я особисто вважаю, що хорошої організації папок та належної системи резервного копіювання достатньо.)
При цьому - іноді приємно мати можливість просто активувати активізовані активи під контролем версій. Зазвичай це передбачає наявність контентного конвеєра, який може обробляти будь-які кроки "експорту" для вас - наприклад: вирівнювання багатошарового зображення до однієї текстури.