새 프로젝트에 기존에 쓰던 에셋이랑 스크립트랑 다 옮기고 나니,
Console창이 Error로 도배가 됐다,,
보니까 외부 에셋도 그렇고 유니티에서 지원하는 TMPro랑 InputAction 등도 못 불러오는 문제였다
https://forum.unity.com/threads/cannot-find-unityengine-inputsystem.807645/
위 유니티 포럼에서 댓글에 적혀있는 방법들을 시도해보았다
처음에는 Preferences - External Tools에서 [Regenerate project files] 를 하는 방식을 시도했는데 안됐다 ㅜ
그리고 나서 다음 방법으로 assembly definition에 레퍼런스를 추가해서 해결할 수 있었다
Assembly definition 이 뭔데용,,
그림에서 보면 왼쪽이 사전 정의된 어셈블리라서,
저렇게 되어 있는 경우 스크립트 하나가 수정되면 모든 C# 스크립트를 다시 컴파일 하느라 컴파일 시간이 오래 걸린다는 것 같다
그리고 오른쪽처럼 종속 관계를 잘 정리해서 어셈블리로 분리하면,
서로 연관이 있는 스크립트만 다시 컴파일하면 되서 컴파일 시간이 단축된다는 것 같다
위 그림에서 Main.dll 어셈블리는 Stuff.dll과 ThirdParty.dll 에 종속되어 있는 상태이다.
따라서 Main.dll 코드 변화 시, 다른 어셈블리를 재컴파일 할 필요가 없다.
만약 Stuff.dll 코드가 변경되면 Main.dll과 Stuff.dll 만 재컴파일 하면 된다.
나의 경우에는 컴파일 시간 단축을 위해 사용한 기능은 아니지만,
덕분에 Assembly definition 이라는 것도 알게 되었다
코드 좀 정리되면 컴파일 시간 단축 시키는 것도 도전해볼까 싶당