Choose your operating system:
Windows
macOS
Linux
Slot (슬롯)은 위젯끼리 붙여주는 보이지 않는 풀입니다. 슬레이트는 먼저 슬롯을 만든 다음 그 안에 넣을 컨트롤을 선택한다는 점에서 좀 더 명시적입니다. 하지만 UMG 의 경우, 자손 위젯을 추가할 때 올바른 종류의 슬롯 을 자동으로 사용하는 패널 위젯이 있습니다.
게다가 각 슬롯 은 각기 다릅니다. 예를 들어 그리드에 컨트롤을 배치하려는 경우, 행이나 열같은 것으로 설정할 수 있을 것입니다만, 이 프로퍼티에는 캔버스에 배치된 위젯상에 있는 것과는 무관합니다. 이럴 때 슬롯 이 쓰입니다. 그리드 슬롯 은 행과 열만 이해하는 반면, 캔버스 슬롯 은 앵커 등을 통해서 콘텐츠 레이아웃을 어떻게 할지 완벽하게 이해하는 것입니다.
슬롯 접근하기
관례상 모든 슬롯 관련 프로퍼티는 디테일 패널의 Layout 카테고리에 나타납니다 (아래 노랑 박스).
위젯에 사용되는 슬롯 유형은 괄호속에 표시되는 것도 알 수 있습니다 (위의 초록 화살표).
레이아웃 프로퍼티 설정하기
실행시간에 Layout 아래 프로퍼티를 변경하기 위해서는, 블루프린트 나 C++ 에서 위젯의 슬롯 멤버에 접근한 다음 올바른 슬롯 유형 으로 Cast (형변환)해 주면 됩니다. 그렇게 하고 나면 프로퍼티를 변경할 수 있게 되는데, 그 예는 아래 나타나 있습니다.
위에서, Vertical Box 이름 GameTitleBox 가 CanvasPanel 에 배치되었습니다. Vertical Box 에 연관된 슬롯 을 구하여 CanvasPanelSlot 유형으로 Cast (형변환)해 주면, "StartButton" 이 클릭되었을 때 박스의 위치를 설정할 수 있게 됩니다.
현재 블루프린트 에는 SETTER 노드만 노출됩니다. Layout 에서 프로퍼티를 GET 할 필요가 있는 경우, 프로퍼티를 저장할 변수를 만든 다음, Event Construct 시 그 변수를 통해 Layout 프로퍼티를 SET 해 줘야 참조되어 나중에 접근할 수 있게됩니다.