UE5

[UE5] Visibility for DragDropOperation

Pyxis 2024. 7. 25. 01:34

[ Trouble Shooting ]

 

동일한 Widget Blueprint내에 있는 별개의 Widget Blueprint들간에 DragDropOperation을 주고 받으려는데, NativeOnDrop()에서 DragDropOperation을 받지 못하고 있는 문제가 있었다.

위젯 블루프린트가 처음 만들어지면 기본 Visibility는 Not Hit-Testable (Self Only)인데, 여기서 Hit-Test라는 말은 Cursor과 Interact할지의 여부이다.

 

한 위젯 블루프린트내에서 CreateWidget로 만들어진 위젯에서 생성된 DragDropOperation은 Visibility를 신경쓰지 않아도 됐는데, 같은 상위 위젯 블루프린트내에 바인드되어 있는 위젯 블루프린트간에는 체크를 해줘야 하는 것 같다.

 

 

[ Solving ]

WBP_MyWidget - Details

 

위젯 블루프린트에서 Details - Behavior - Visibility에 있는 Not Hit-Testable (Self Only)를 Visible로 바꿔주면된다.

C++로는 해당하는 위젯 블루프린트의 Parent C++ Class에서 NativeConstruct()를 override해서

SetVisibility(ESlateVisibility::Visible); 를 추가 해주면 된다.