스크립트에서 

자주 쓰이는 컴포넌트는 Awake에서 미리 받아놓기

입력을 제외한 Update는 코루틴으로 제어

많은 양이 필요한 오브젝트는 풀링으로 관리


사용안하는 Start, Update
유니티 이벤트는 사용안하면 코드에서 빼주기 

스크립트를 생성하면 Start, Update가 자동으로 생성해주는데 
거기에 코드가 비어있어도 유니티에서는 두 이벤트를 호출함 


유니티에선 스크립트는 PlayerSetting Scripts에서 실행순서를 바꿀수있음

GameManage같은 게임옵션이나 
게임 설정에 포함된 스크립트를 최우선순위로 실행하게 만들 수 있음


이건 개인취향이지만 나는 싱글톤을 매우 좋게 사용함 

유니티는 컴포넌트로 스크립트를 붙이기때문에 
Manage스크립트를 가져오려면 오브젝트를 찾고 
컴포넌트를 등록 해줘야하지만 

싱글톤을 사용하면 Manager스크립트가 두개 생성되는걸 막고 

instance로 호출이 가능함 

물론 유니티용으로 모노싱글톤 스크립트도있음



물리연산은 FixedUpdate에서 처리

Debug.Log는 빌드전에 전부 지워주기 
프로파일러만 봐도 Debug 사용시 리스크가 큼


Destroy 함수는 왠만하면 사용하지 말기 


GC에 올라가서 비활성화 해놓고 재사용 할 수 있으면 사용하기


게임종료검사, 조건검사는 LateUpdate로 사용하기


움직이지않는 오브젝트는 static으로 변경


라이트 매핑 이용하여 런타임 리스크 줄이기



PlayerSetting Physic에서 
충돌이 필요없는 레이어는 체크 해제하기


배경화면을 제외한 Sprite는 아틀라스로 묶어 사용하고
캐싱하여 사용하기


메쉬 콜라이더 수 줄이기


스크립트 내부에서, 동적으로 Find 기능으로 오브젝트 찾지말기


foreach보다 for문 위주로 사용


switch case문 적절히 사용하기


string비교는 CompareTo


string 붙이기는 StringBulider


로딩화면 구현 후 
로딩화면에서 GC호출해주기


 

 

 

 

 

 

 

https://gall.dcinside.com/mgallery/board/view/?id=game_dev&no=37808

 

소소하게 써보는 나만의 유니티 최적화,팁 - 인디 게임 개발 마이너 갤러리

자주쓰이는 컴포넌트는 Awake에서 미리 받아놓기 입력을 제외한 Update는 코루틴으로 제어 많은 양이 필요한 오브젝트는 풀링으로 관리 사용안하는 Start, Update등 유니티 이벤트는 사용안하면 코드

gall.dcinside.com

 

 

반응형
Posted by 이름이 익명
: