1️⃣ Unity 실행 사이클 기준 이해
Unity의 기본 프레임 흐름은 아래와 같다:
FixedUpdate (0~N회)
Update (1회)
LateUpdate (1회)
렌더링
호출 특성 정리
| 함수 | 호출 타이밍 | 호출 횟수 | 기준 시간 |
| Update | 매 프레임 | 1회 | 가변 (Frame 기준) |
| LateUpdate | Update 이후 | 1회 | 가변 |
| FixedUpdate | 고정 시간 간격 | 0~N회 | 고정 (Physics 기준) |
2️⃣ 각 함수 사용 "원칙"
✅ 1. Update — “입력 & 게임 로직 계산”
✔ 역할
- 플레이어 입력 처리
- 상태 머신 갱신
- AI 판단
- 쿨타임 감소
- 애니메이션 트리거 설정
- 네트워크 패킷 처리
- 이동 계산 (물리 기반이 아니라면)
✔ 핵심 원칙
입력은 반드시 Update에서 받는다.
이유:
- 입력은 프레임 기반
- FixedUpdate에서 입력 받으면 타이밍 불일치 발생
- 입력 누락 가능
✔ 사용 기준
- Time.deltaTime 사용
- Transform 이동 (Rigidbody 사용 안 할 때)
- 상태 변경 로직
✅ 2. FixedUpdate — “물리 전용”
✔ 역할
- Rigidbody 이동
- AddForce
- 물리 충돌 기반 이동
- 물리 연산 관련 값 조정
✔ 핵심 원칙
Rigidbody를 사용한다면 이동은 FixedUpdate에서 처리
이유:
- 물리는 고정 시간 단위로 계산됨
- Update에서 Rigidbody 이동하면 프레임마다 값이 달라짐
- 튐, 끊김, 비동기 충돌 발생
✔ 사용 기준
- Time.fixedDeltaTime 사용
- Rigidbody.MovePosition()
- Rigidbody.velocity 설정
✅ 3. LateUpdate — “결과 정리 단계”
✔ 역할
- 카메라 추적
- 위치 보정
- 최종 상태 반영
- 애니메이션 보정
- UI 추적
✔ 핵심 원칙
LateUpdate는 “모든 로직이 끝난 뒤 정리하는 단계”
이유:
- Update에서 캐릭터 이동
- 그 이후 카메라가 따라와야 함
- 순서가 반대면 1프레임 딜레이 발생
'Unity > 초보자가 알면 좋을 팁' 카테고리의 다른 글
| LateUpdate에 캐릭터 이동을 넣지 않는 이유에 대하여 (0) | 2026.03.03 |
|---|---|
| Unity 기본 아키텍쳐 흐름은 이해해보자 - Rigidbody, Update, LateUpdate, FixedUpdate (0) | 2026.03.03 |
| 유니티 Update / LateUpdate / FixedUpdate 사용 원칙 (꿀팁) - 4 (0) | 2026.03.03 |
| 유니티 Update / LateUpdate / FixedUpdate 사용 원칙 (꿀팁) - 3 (0) | 2026.03.03 |
| 유니티 Update / LateUpdate / FixedUpdate 사용 원칙 (꿀팁) - 1 (0) | 2026.03.03 |