Для моего игрового проекта я создал отдельный VS-проект, независимый от проекта Unity, и связал там все файлы cs.
В файлах, протестированных таким образом, не использовался UnityEngine
в все, но вы также можете настроить dummy-UnityEngine для теста. Расположение этой папки находится вне папки проекта Unity, чтобы Unity не касалась этих тестовых файлов cs и vcproj.
Из проекта VS я могу просто включить любые файлы cs из папки Unity-project Assets.
Моя структура каталогов:
ProjectRoot/ <== real project root folder.
.git/ <== git tracking for unity part and testcode.
Unity/ <== Unity's project homedirectory.
Assets/
script
... various scripts.
mats/
scenes/
..... <== lots of Unity project stuff
testcode.sln
testcode.vcproj <== refers to cs files from testcode AND Unity.
testcode/
testclass.cs
.....
Для тестирования я открываю testcode.sln в VS и компилирую и запускаю все это там. Единство не должно быть открытым.