언리얼 엔진 구조상 제일 먼저 생성되고,

맵에 종속된 게 아니라서 맵이 바뀌어도 멀쩡하게 살아있고,

일종의 게임 전체를 총괄하는 싱글턴 비슷한 놈인 건 GameInstance다


GameInstance에다가 뭐 달아 놓으면 게임 전체적으로 써먹기 편하다는 이야기인데...

가끔씩 얘한테 타이머 비슷한 거 달아줘서 써먹으면 좋겠다는 생각이 들 때가 있다.

근데 문제는 얘는 Tick이 없다.


Tick이 달린 놈은 일단 Actor 베이스일 거고, World에 종속되어서 활동하는 놈일 거다.

World 밖에 있는, Actor base가 아닌 놈들에게는 Tick을 달 수 없다는 이야기다.

하지만 엔진에서 하지 말라고 해서 프로그래머 놈들이 안 할 리 없지






PreTick 은 Tick이라고 이름 붙인 이벤트를 호출한다.

PreTick 함수를 달고 있는 Delegate를 만들어서 엔진 코어단에서 쓰는 Ticker에 붙여준다.







이제 Object 내부에서 Tick을 써먹을 수 있다.

GameInstance에 Tick을 달고 싶다면 같은 방법으로 달아줄 수 있다.