Зачем вообще делать что-то свое, если уже есть что-то готовое? Вариантов вижу три:
1. NIH-синдром. Разработчик чисто из принципа старается использовать только то, что сам создал, минимально привлекая сторонние разработки/инструменты. Логику тут искать, как правило, бессмысленно.
2. "Свое" решение появилось раньше другого готового. В мире существует немало игровых движков, созданных еще до Unity. Собственная разработка уже давно используется, она отлажена и проверена временем, под нее много всего понаделано; выкидывать ее на помойку ради какого-то новомодного Unity откровенно жалко.
3. Готовое решение не отвечает всем требованиям. Скажем, для какой-то конкретной игрушки Unity слишком тяжелый, или же не поддерживает каких-то очень нужных фич, или поддерживает, но недостаточно хорошо (ресурсов слишком много жрет). "Свой" движок под конкретную игру может быть заточен лучше, что автоматом даст конкурентное преимущество перед другими играми, сделанными на Unity.