⭐ Unreal Engine/UE Debugging Log

[UE] ScriptDelegates.h: ensure( InvocationList[ CurFunctionIndex ] != InDelegate )

Designerd 2024. 5. 3. 15:19

 

 

 

ensure( InvocationList[ CurFunctionIndex ] != InDelegate )


 

 

문제상황

 

ScriptDelegates.h 코드의

 ensure( InvocationList[ CurFunctionIndex ] != InDelegate )  부분에 Break가 걸리며 오류가 발생했다.

 

 

 

콜스택을 타고 추적하니  Dynamic Delegate하는 부분이 나왔다.


 

 

확인해야될 사항

 

위에서 발생한 문제는 Dynamic Delegate에 관련된 문제다. 해당 경우, 확인할 사항들로는

  1. Delegate 바인딩한 함수에 UFUNCTION() 을 붙였는지
  2. Delegate 바인딩을 실수로 여러번 했는지다.

 

 

해결

 

1. UFUNCTION 붙였는지 확인하기 - 이상없음.

 

 

2. Delegate 바인딩을 여러번 했는지 확인하기 - 실수함.

 

부모클래스에서 Dynamic Delegate를 하고, 자식클래스 부분에서도 Dynamic Delegate을 하고 있었다. 자식 부분의 Dynamic Delegate은 지워주니 해결되었다.