GameDevelop/Unity기초쌓기

Unity 최적화 – Update 가볍게, 캐싱하기

도도돋치 2025. 6. 4. 21:12
Contents 접기
728x90

기본 개념

게임 개발에서 Update()는 매 프레임 실행되기 때문에 캐싱과 최소화가 핵심이다.

 

캐싱이란?

  • transform, GetComponent<T>() 같은 값은 매번 접근하면 비용이 큼
  • 한 번 가져와서 변수에 저장(캐싱)해두면 성능이 좋아짐
private Transform playerTransform;
private float moveSpeed;

public PlayerMoveState(Player player) {
    playerTransform = player.transform; // 캐싱
    moveSpeed = player.MoveSpeed;       // 캐싱
}

 

 

코루틴으로 Update 줄이기

타이머나 반복 동작은 꼭 Update()에 둘 필요가 없다.
코루틴(Coroutine)을 쓰면 Update를 훨씬 가볍게 유지할 수 있다.

private IEnumerator AttackLoop() {
    while (true) {
        Attack();
        yield return new WaitForSeconds(2f); // 2초마다 공격
    }
}

 

728x90