Unreal

Unreal에서 C++와 블루프린트간의 실행 순서

myroad 2023. 12. 8. 05:59

언리얼에서 C++이 블루프린트의 근간이지만 실제로 함수 호출은 블루프린트에서 먼저 이루어진다.

 

아래는 액터가 생성될 떄의 호출 순서이다.

보면 알겠지만 블루프린트의 노드가 먼저 호출되고 C++함수가 호출됨을 알 수 있다. 

액터에서 C++, Blueprint 실행 순서

  1. C++ 생성자
  2. Blueprint의 BeginPlay
  3. C++ BeginPlay
  4. Blueprint의 EndPlay
  5. C++ EndPlay

C++보다 블루프린트가 먼저 호출되었습니다.

액터, 퍼시스턴트 레벨, 서브 레벨 실행 순서

액터를 영구 레벨에 배치하면,

  1. 액터의 BeginPlay
  2. 퍼시스턴트 레벨 BeginPlay
  3. 서브 레벨 BeginPlay
  4. 서브 레벨 EndPlay
  5. 액터의 EndPlay
  6. 퍼시스턴트 레벨 EndPlay

BeginPlay는 퍼시스턴트 레벨 → 서브 레벨의 순서로 불리는 것과 동시에, 그 레벨에 배치하고 있는 액터의 BeginPlay 쪽이 레벨의 BeginPlay보다 빨리 호출됨을 알 수 있다.

 EndPlay는, 서브 레벨 → 퍼시스턴트 레벨의 순서로 불리는 것과 동시에, 그 레벨에 배치하고 있는 액터의 BeginPlay 쪽이 레벨의 BeginPlay보다 빨리 호춤됨을 알 수 있다.

 

참고 - https://qiita.com/tuduru/items/a31c9b20d458c41c50dc