큰 흐름
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