데이터 레이어(Data Layers)는 월드 파티션(World Partition) 안에 있는 시스템으로, 액터를 별도 레이어로 구성하는 데 사용됩니다. 이러한 레이어를 로드하거나 언로드하여 월드를 구성할 수 있습니다.

데이터 레이어를 사용하면 레벨 에디터에서 액터를 동적으로 로드하고 언로드하여 복잡한 레벨을 관리할 수 있습니다. 데이터 레이어는 블루프린트로 활성화하여 게임플레이를 구동할 수 있으며, 월드 파티션 워크플로에서 에셋 스트리밍을 관리하기 위한 중요한 툴입니다.
데이터 레이어는 언리얼 엔진 이전 버전에 있는 기존 레이어 시스템을 대체합니다.
데이터 레이어를 사용하여 에디터에서 게임플레이 엘리먼트와 환경 에셋을 분리할 수 있습니다. 아티스트는 게임플레이 트리거나 오브젝트와 상호작용 없이 특정 엘리먼트를 작업할 수 있습니다. 디자이너는 동적으로 로드된 레이어를 사용하여 흥미로운 게임플레이와 정교한 레벨 트랜지션을 디자인할 수 있습니다.
데이터 레이어에 액터 추가하기
데이터 레이어 아웃라이너
월드에서 데이터 레이어를 보려면, '창(Window)' 메뉴에서 '데이터 레이어(Data Layers)' 옵션을 선택합니다. 그러면 '데이터 레이어 아웃라이너(Data Layers Outliner)'가 열립니다.

번호 | 설명 |
---|---|
1 | 레벨 에디터에서 레이어의 비저빌리티를 토글합니다. 액터는 모든 관련 데이터 레이어가 숨겨진 경우에만 숨겨집니다. |
2 | Is Dynamically Loaded 플래그 상태를 나타냅니다. 동적으로 로드된 레이어는 런타임 시 액터 로딩에 영향을 줍니다. 블루프린트나 C++ 코드를 사용하여 이러한 레이어를 활성화할 수 있습니다. |
3 | Editor Dynamically Loaded 플래그를 토글합니다. 레벨 에디터에서 액터의 데이터 레이어가 활성화되고 에디터 셀이 월드 파티션에서 로드되면 액터가 로드됩니다. |
4 | 이 레이어의 액터 목록 비저빌리티를 토글합니다. |
5 | 스타트업 시 에디터에 데이터 레이어를 표시할지 결정합니다. |
6 | 이 데이터 레이어의 액터에 대한 HLOD 생성 여부를 결정합니다. Is Dynamically Loaded 플래그가 활성화되어 있어야만 사용할 수 있습니다. |
7 | Is Dynamically Loaded 플래그가 활성화된 데이터 레이어를 런타임 시 로드하거나, 언로드하거나, 활성화해야 할지 결정합니다. |
8 | 데이터 레이어가 액터의 런타임 로딩에 영향을 줄지 결정합니다. |
데이터 레이어 아웃라이너를 우클릭하면 컨텍스트 메뉴가 열립니다.

컨텍스트 메뉴 | 설명 |
---|---|
빈 데이터 레이어 생성(Create Empty Data Layer) | 새로운 빈 데이터 레이어를 생성합니다. |
새 데이터 레이어에 선택한 액터 추가(Add Selected Actors to New Data Layer) | 새 데이터 레이어를 생성하고 선택한 액터로 채웁니다. |
선택된 데이터 레이어에 선택된 액터 추가(Add Selected Actors to Selected Data Layer) | 뷰포트에서 선택한 액터를 선택한 데이터 레이어에 추가합니다. |
선택된 데이터 레이어에서 선택된 액터 제거(Remove Selected Actors from Selected Data Layer) | 뷰포트에서 선택한 액터를 선택한 데이터 레이어에서 제거합니다. |
선택된 데이터 레이어 삭제(Delete Selected Data Layer) | 선택한 데이터 레이어를 삭제합니다. 삭제된 데이터 레이어와 연결된 액터에는 영향을 주지 않습니다. |
선택된 데이터 레이어 이름 변경(Rename Selected Data Layer) | 선택한 데이터 레이어의 이름을 변경합니다. 삭제된 데이터 레이어와 연결된 액터에는 영향을 주지 않습니다. |
데이터 레이어의 액터 선택(Select Actors in Data Layers) | 선택한 데이터 레이어와 연결된 모든 액터를 선택합니다. |
데이터 레이어에 포함된 액터들 추가 선택하기(Append Actors in Data Layer to Selection) | 선택한 데이터 레이어의 액터를 현재 선택 항목에 추가합니다. |
데이터 레이어에 포함된 액터 선택 해제(Deselect Actors in Data Layer) | 선택한 데이터 레이어의 액터를 현재 선택 항목에서 제거합니다. |
모든 데이터 레이어 보이게 만들기(Make All Data Layers Visible) | 레벨 에디터에 보이도록 모든 데이터 레이어의 비저빌리티를 토글합니다. |
새 데이터 레이어를 생성한 다음에는 몇 가지 방법으로 액터를 추가할 수 있습니다.
-
데이터 레이어 컨텍스트 메뉴에서 새 데이터 레이어에 선택한 액터 추가(Add Selected Actors to New Data Layer) 및 선택된 데이터 레이어에 선택된 액터 추가(Add Selected Actors to Selected Data Layer) 옵션을 사용합니다.
-
월드 아웃라이너에서 선택한 액터를 데이터 레이어 아웃라이너에서 선택한 데이터 레이어에 드래그합니다.
-
액터의 디테일(Details) 패널의 데이터 레이어 섹션을 사용합니다.
액터 디테일 패널
디테일 패널의 데이터 레이어 섹션을 사용하여 하나 이상의 데이터 레이어에 액터를 추가할 수 있습니다.

다음 절차에 따라 디테일 패널에서 데이터 레이어에 액터를 추가할 수 있습니다.
-
디테일(Details) 패널 하단으로 스크롤한 다음 데이터 레이어(Data Layers) 섹션을 엽니다.
-
다음으로, + 버튼을 클릭하여 데이터 레이어 목록에 항목을 추가합니다.
-
드롭다운 메뉴를 열고 목록에서 데이터 레이어를 선택합니다.
데이터 레이어 아웃라이너 에서 디테일 패널의 목록으로 데이터 레이어를 드래그 앤 드롭해도 됩니다.
파일 관리하기
사용자 간의 파일 오버랩을 최소화하려는 월드 파티션 시스템의 목표에 따라, 데이터 레이어는 변경이 이루어질 때 사용자가 월드 맵 파일이나 액터 파일 같은 중요한 파일을 체크아웃할 필요를 줄여줍니다.
각 데이터 레이어에는 디스플레이 라벨과 내부 고유 식별자가 있습니다. 언리얼 엔진은 이 정보를 WorldDataLayer 파일의 데이터 레이어 목록에 저장하며, 이는 다음과 같은 이점을 제공합니다.
-
액터에 데이터 레이어를 할당해도 액터당 한 개의 파일(One File Per Actor) 을 사용하는 월드 파티션 월드의 해당 액터 파일에만 영향을 줍니다.
-
데이터 레이어의 이름을 변경해도 연결된 라벨에만 영향을 줍니다. 레이어와 연결된 어떤 액터도 업데이트할 필요가 없습니다.
-
데이터 레이어를 삭제해도 WorldDataLayer 파일에만 영향을 줍니다. 삭제된 데이터 레이어와 연결되어 있던 액터는 수정하거나 저장할 필요 없이 자동으로 정리됩니다.
블루프린트와 함께 데이터 레이어 사용하기
블루프린트를 사용하여 데이터 레이어의 상태를 변경할 수 있습니다.
아래 이미지에서는 트리거 박스를 사용하여 데이터 레이어 상태를 제어합니다.

이 예시에서는 데이터 레이어의 상태가 다음 방식으로 수정됩니다.
-
플레이어가 트리거 영역에 들어가거나 나갑니다.
-
그러면 데이터 레이어 상태를 오버랩 스테이트 시작(Begin Overlap State) 또는 오버랩 스테이트 종료(End Overlap State) 로 변경하는 Set Data Layer State 함수 노드가 트리거됩니다.
Data Layer 변수(위의 이미지에서 3번)가 액터 데이터 레이어(Actor Data Layer) 타입의 변수를 사용하여 노출됩니다.
변수가 아니라 라벨을 사용하여 데이터 레이어의 상태를 설정할 수도 있습니다. 그렇지만, 데이터 레이어 이름이 변경되면 라벨이 변경되고 블루프린트가 깨질 수 있으므로 권장하는 방법은 아닙니다.
이전 레이어 시스템에서 변환하기
월드를 월드 파티션으로 변환할 때, 이전 레이어 시스템의 레이어는 Dynamically Loaded 옵션이 비활성화된 데이터 레이어로 변환됩니다.