изучи вот это:
https://docs.unity3d.com/Manual/ScriptCompilationAssemblyDefinitionFiles.htmlБез определений сборки Unity компилирует любые сценарии C # в вашем проекте в одну из предопределенных управляемых сборок. Unity должен затем перекомпилировать каждый скрипт во всем проекте, когда вы изменяете любой скрипт. Это означает, что промежуток времени между внесением изменений в код и просмотром этих изменений в действии увеличивается по мере добавления новых сценариев в проект.
Разделение помогает сэкономить массу времени. Плюсом, сделать архитектуру, где не будет, например, цикличных связей, что есть плохо.