Unity라이프사이클과 타이밍

실행 순서

Awake, Start, Update, FixedUpdate가 언제 실행되는지 한 번에 정리한 Unity 실행 순서 치트시트입니다.

마지막 수정 2026년 3월 15일

큰 흐름

  • Awake는 내부 초기화에 가깝습니다.
  • OnEnable은 오브젝트가 활성화될 때 호출됩니다.
  • Start는 첫 프레임 전에, Awake 이후에 실행됩니다.
  • Update는 매 프레임, FixedUpdate는 물리 타이밍 기준으로 실행됩니다.

보통 이렇게 나눈다

csharp
private void Awake()
{
    cache = GetComponent<Rigidbody>();
}

private void Start()
{
    target = FindObjectOfType<Player>();
}

private void FixedUpdate()
{
    cache.AddForce(moveDirection * moveForce);
}

메서드별 추천 용도

메서드추천 용도
Awake로컬 컴포넌트 캐싱, 내부 상태 초기화
OnEnable활성화 상태에 맞는 이벤트 등록
Start다른 오브젝트 참조 준비
Update입력 처리, 일반 프레임 로직
FixedUpdate물리 이동, 힘 적용

타임라인 이미지

초기화와 게임 로직, 물리 로직을 분리해 생각하면 실행 순서를 훨씬 덜 헷갈리게 볼 수 있습니다.

주의할 점

입력 감지는 보통 FixedUpdate보다 Update에 두는 편이 자연스럽습니다. 그렇지 않으면 프레임 상황에 따라 입력감이 어색해질 수 있습니다.

참고 링크

2 sources