유니티 엔진 (Unity Engine)

[Unity] 잦은 자동빌드, 느리고 멈출 때 해결법

원생계 2020. 3. 21. 19:14

 

유니티를 사용할 때,

코드 한두줄 바꾸고 유니티 에디터를 잠깐 조작할 일이 종종 생깁니다. 어셋을 확인한다거나 컴포넌트 셋팅을 확인한다거나... 그 때마다 수정된 코드를 변경된 어셋으로 감지해서 자동으로 Refresh 가 되면서 컴파일러도 돌아가는데... 그 때마다 에디터가 프리징됩니다.

에디터 전환을 자주 하다보니 잦은 프리징이 좀 짜증나고 시간 허비도 많아서 셋팅을 변경했습니다.

Edit > Preferences 로 가서 Auto Refresh 를 꺼줍니다.

이제 코드를 바꾸든 리소스를 변경하든, 유니티는 자동으로 뭔가 해주지 않습니다.

대신, 수종으로 Ctrl + R을 눌러주면 됩니다. 프로그래머 분들은 컴파일 할 때마다 F7 누르듯, 인터넷 브라우저 F5로 새로고침 하듯, 유니티에선 Ctrl + R 로 단축키 바인딩 되어있습니다.

이제 자동 빌드로 인한 원치않는 프리징과는 바이바이.

그리고 또 한 가지.

Play 모드에서 코드를 수정했다가 다시 유니티 에디터로 돌아올 경우, 플레이모드에서 컴파일을 돌리느라 멈춘다거나 오류가 생기거나 하는 경우가 있습니다. 이 역시 옵션으로 조절할 수 있습니다.

마찬가지로 Preferences 창에서 Script Changes While Playing 옵션을 변경해줍니다. 플레이 모드 중 스크립트가 변경됐을 때에 대한 설정입니다. 저는 Recompile After Finished Playing 으로 쓰고 있습니다. 코드가 변경됐을 때 Play 모드 중단을 원한다면 Stop Playing And Recompile 옵션으로.

또 하나, 아래는 지인분이 공유해준 팁.

스크립트에 아래 코드를 추가하면, 데이터가 컴파일할 때 Play Mode 를 강제로 종료하게 됩니다.

if (EditorApplication.isCompiling) { #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; #elif UNITY_WEBPLAYER Application.OpenURL(webplayerQuitURL); #else Application.Quit(); #endif }

또 하나, 프리팹 자동 저장. (Prefab Auto Save)

Unity 2018 부터 들어간 기능입니다

https://docs.unity3d.com/Manual/EditingInPrefabMode.html

 

Unity - Manual: Editing a Prefab in Prefab Mode

Editing a Prefab in Prefab Mode To edit a PrefabAn asset type that allows you to store a GameObject complete with components and properties. The prefab acts as a template from which you can create new object instances in the scene. More infoSee in Glossary

docs.unity3d.com

프리팹 수정 메뉴로 들어가면, 작은 수정사항만 생겨도 자동으로 저장해줍니다.

프리팹 크기가 커지면 점점 느려지는데, 우측 상단에 Auto Save 를 해제해주면 됩니다.

[책]유니티 교과서 https://coupa.ng/br38HT

 

그림으로 이해하고 만들면서 익히는 유니티 교과서

COUPANG

www.coupang.com

[책] 유니티 게임 프로그래밍 에센스 https://coupa.ng/br38gi

 

소문난 명강의 레트로의 유니티 게임 프로그래밍 에센스:C#으로 배우는 입문부터 4가지 게임 제작까지

COUPANG

www.coupang.com

[책] 유니티 입문서 https://coupa.ng/bu72fh

 

초보자를 위한유니티 입문

COUPANG

www.coupang.com

*파트너스 활동을 통해 수수료를 제공받을 수 있음

 

 

728x90
반응형