Explorer

Explorer는 게임의 인스턴스 트리를 보여 주는 창입니다. Studio의 Explorer와 비슷하게 쓸 수 있고, 라이브 서버에서 서버가 가진 트리와 이 클라이언트가 가진 트리를 비교할 수 있습니다. 주로 StreamingEnabled 때문에 클라이언트에 인스턴스가 오지 않아서 생긴 문제를 찾을 때 씁니다.
Explorer는 메인 창에 들어 있으며, F2로 메인 창을 열고 닫을 수 있습니다.
클라이언트 보기와 서버 보기
섹션 제목: “클라이언트 보기와 서버 보기”메뉴바 맨 앞의 Client / Server 단추에 지금 보고 있는 쪽이 표시되고, 누르면 반대쪽으로 전환됩니다. 창 제목에도 Explorer (Client) 또는 Explorer (Server)로 표시됩니다.
| 보기 | 보이는 것 | 필요한 권한 |
|---|---|---|
| Client | 이 클라이언트가 지금 가진 인스턴스 | View |
| Server | 서버가 가진 인스턴스 | Server |
권한이 없으면 해당 보기나 단추가 나타나지 않습니다. 자세한 내용은 권한과 레벨에서 다룹니다.
서버 트리는 펼칠 때 받아 옵니다
섹션 제목: “서버 트리는 펼칠 때 받아 옵니다”서버 트리는 한꺼번에 전송되지 않습니다. 노드를 펼치면 그때 서버에 자식을 요청해 받아 오고, 펼쳐 둔 노드는 주기적으로 새로 고칩니다. 창이 숨겨져 있으면 새로 고침과 서버 요청이 멈춥니다.
자식이 많은 노드는 한 번에 일부만 표시됩니다. 맨 아래에 흐린 Load more children (N more) 행이 나타나고, 이 행을 누르면 다음 부분을 받아 옵니다.

스트리밍 표시
섹션 제목: “스트리밍 표시”서버 보기의 각 행에는 해당 인스턴스가 이 클라이언트에 있는지 알려 주는 표시가 붙습니다. 행에 마우스를 올리면 이름, 클래스, 전체 경로와 함께 표시의 의미가 툴팁으로 나타납니다.
| 표시 | 의미 |
|---|---|
| (표시 없음) | 클라이언트에도 있습니다 |
server only |
ServerStorage처럼 클라이언트로 복제되지 않는 위치입니다. 클라이언트에 없는 것이 정상입니다 |
other player |
다른 플레이어에게만 복제되는 위치입니다. 이 클라이언트에 없는 것이 정상입니다 |
not on client (주황 점) |
클라이언트에도 있어야 하는데 없습니다. StreamingEnabled로 스트리밍 아웃됐거나 아직 복제되지 않은 경우입니다 |
Missing 토글
섹션 제목: “Missing 토글”서버 보기 머리 오른쪽의 Missing 단추를 켜면 not on client인 인스턴스만 남겨서 보여 줍니다. 이미 받아 둔 노드 안에서만 찾으므로, 깊은 곳까지 확인하려면 먼저 펼쳐 두어야 합니다.
머리의 검색 상자(Filter: name or selector (Part #Name .Tag))로 트리를 필터링할 수 있습니다. Ctrl+F를 누르면 상자에 포커스가 가고, Esc를 누르면 내용이 지워집니다. 입력을 멈추고 잠시 뒤에 검색이 시작됩니다.
- 일반 텍스트를 입력하면 이름에 그 텍스트가 들어 있거나(대소문자 무시) 클래스 이름이 일치하는 인스턴스를 찾습니다.
BasePart처럼 상위 클래스 이름도 쓸 수 있습니다. - 입력에
# . [ ] > , : * = $ ~ ( )중 하나가 들어 있으면 선택자로 해석해QueryDescendants에 그대로 넘깁니다.
| 입력 | 찾는 대상 |
|---|---|
Part |
클래스가 Part인 인스턴스 |
#Baseplate |
이름이 Baseplate인 인스턴스 |
.Tag |
태그 Tag가 붙은 인스턴스 |
[$Hp] |
특성 Hp가 있는 인스턴스 |
Part[Anchored = true] |
Anchored가 true인 Part |
Model > Part |
Model 바로 아래의 Part |
Folder, Part |
Folder 또는 Part |
선택자로 해석되지 않는 입력(이름에 점이 든 인스턴스를 찾을 때 등)은 이름 검색으로 대신 찾고, 요약 줄에 (not a valid selector, matched as name)이라고 알려 줍니다.
결과에는 일치한 인스턴스와 그 조상이 표시되고, 조상은 흐리게 그려집니다. 일치한 수는 요약 줄에 나타나며, 2,000개를 넘으면 앞쪽 일부만 표시됩니다. 서버 보기에서 요청이 너무 잦아 서버가 대기를 요청하면 Searching… retrying in N s가 표시되고, 시간이 되면 자동으로 다시 요청합니다.
| 동작 | 결과 |
|---|---|
| 클릭 | 그 행 하나만 선택합니다 |
Ctrl + 클릭 |
하나씩 추가하거나 뺍니다 |
Shift + 클릭 |
마지막으로 선택한 행부터 범위로 선택합니다 |
| 같은 행을 빠르게 두 번 클릭 | 펼치거나 접습니다 |
선택한 인스턴스는 Properties 창에 표시됩니다. 여러 개를 선택하면 값이 서로 다른 속성은 —로 표시됩니다.
끌어서 옮기기
섹션 제목: “끌어서 옮기기”행을 끌어 다른 인스턴스 위에 놓으면 그 아래로 옮겨집니다(Parent 변경). 여러 행을 선택해 한꺼번에 끌 수도 있습니다. 옮길 수 없는 위치(자기 자손 안, 서비스 등)에는 놓을 수 없으며, 그 이유가 창 위쪽 알림 줄에 표시됩니다.
Properties 창의 참조 속성 행 위에 놓으면 옮기는 대신 그 속성의 값으로 설정됩니다. 자세한 내용은 Properties의 참조 속성에서 다룹니다.
편집에는 권한이 필요합니다. 클라이언트 보기는 Edit, 서버 보기는 Server, ServerValues, Edit가 모두 필요하고, 스크립트와 관련된 편집에는 Execute도 필요합니다. 권한이 없으면 편집 항목이 숨겨지거나, 이유(needs Edit 등)와 함께 흐리게 표시됩니다.
우클릭 메뉴
섹션 제목: “우클릭 메뉴”
행을 우클릭하면 메뉴가 열립니다. 우클릭한 행이 선택에 없으면 그 행만 선택한 뒤 메뉴를 엽니다. 메뉴 항목 옆의 글자는 단축키입니다.
편집 항목 (Edit 필요)
섹션 제목: “편집 항목 (Edit 필요)”| 항목 | 단축키 | 하는 일 |
|---|---|---|
| Rename | Ctrl+R |
이름을 바꿉니다 (하나만 선택했을 때) |
| Insert Object… | 선택한 인스턴스 안에 새 인스턴스를 만듭니다. 클래스를 검색해서 고를 수 있습니다 | |
| Duplicate | Ctrl+D |
복제해서 같은 부모 아래에 넣습니다 |
| Copy | Ctrl+C |
복사해 둡니다 |
| Paste | Ctrl+V |
복사해 둔 것을 선택한 인스턴스 안에 복제해 넣습니다 (하나만 선택했을 때) |
| Delete | Del |
지웁니다. 지우기 전에 확인합니다 |
| Group as Model | Ctrl+G |
선택한 항목을 새 Model로 묶습니다 |
| Group as Folder | 선택한 항목을 새 Folder로 묶습니다 | |
| Ungroup | Ctrl+U |
Model이나 Folder를 풀고 자식을 한 단계 위로 꺼냅니다 |
Shift+Del은 확인 없이 바로 지웁니다. 서비스(game 바로 아래)에는 Duplicate, Copy, Delete, Group을 쓸 수 없습니다. Copy는 Edit이 없어도 메뉴에 남아 있습니다. 붙여 넣기는 복제(Clone) 방식이라 게임 안에서만 동작하며, 스크립트가 들어 있으면 Execute가 필요합니다.
행에 마우스를 올리면 오른쪽에 +가 나타나고, 누르면 Insert Object와 같은 클래스 목록이 열립니다.
읽기 항목
섹션 제목: “읽기 항목”| 항목 | 하는 일 |
|---|---|
| Hierarchy > Select Parent(s) | 선택한 항목의 부모를 선택합니다 |
| Hierarchy > Select Children | 선택한 항목의 자식을 선택합니다 |
| Hierarchy > Expand All / Collapse All | 선택한 항목의 하위를 모두 펼치거나 접습니다 |
| Copy As > Path | 경로를 복사 창에 표시합니다 |
| Copy As > Creation Code | 그 인스턴스를 만드는 코드를 복사 창에 표시합니다. 클라이언트 보기에서만 쓸 수 있고, 기본값과 다른 속성만 포함하며 스크립트는 제외합니다 |
| Bookmark / Remove bookmark | 북마크에 추가하거나 뺍니다. 자세한 내용은 Bookmarks에서 다룹니다 |
게임 안에서는 클립보드를 직접 쓸 수 없어서 복사 창을 사용합니다. 텍스트가 선택된 채로 열리므로 Ctrl+C로 복사한 뒤 바깥을 클릭하면 닫힙니다.
다른 창과 연결되는 항목
섹션 제목: “다른 창과 연결되는 항목”| 항목 | 표시되는 때 | 하는 일 |
|---|---|---|
| Show logs from here | 인스턴스를 선택했을 때 | 그 인스턴스와 자손에서 나온 로그만 표시하도록 Output을 엽니다. 범위는 고정되므로 이후 Explorer 선택을 바꿔도 그대로입니다 |
| Find on server | 클라이언트 보기, 하나 선택 | 서버 보기로 전환해 같은 인스턴스를 찾아 선택합니다. 클라이언트에서만 만든 인스턴스라면 서버에 없다고 알려 줍니다 |
| Find on client | 서버 보기, 하나 선택 | 클라이언트 보기로 전환해 같은 인스턴스를 선택합니다. 없으면 not on the client (streamed out?)라고 알려 줍니다 |
| Debug remote | Remote·Bindable 이벤트·함수를 선택했을 때 | Inspect에서 해당 Remote를 디버깅합니다. Execute가 없으면 needs Execute와 함께 흐리게 표시됩니다 |
| Watch property… | 서버 보기, 하나 선택 | 서버 인스턴스의 속성을 Inspect의 Watches 탭에 추가합니다. ServerValues가 필요합니다 |
월드 Highlight
섹션 제목: “월드 Highlight”머리의 Highlight 단추(좁은 창에서는 ◎)를 켜면 선택한 인스턴스를 게임 화면에서 윤곽선으로 강조합니다. 이 클라이언트에서만 보이는 표시이며, 클라이언트에 없는 인스턴스는 표시할 수 없습니다. 스트리밍으로 인스턴스가 생기고 사라지는 것도 따라갑니다.
Explorer 메뉴
섹션 제목: “Explorer 메뉴”메뉴바의 Explorer 메뉴에 Show all services가 있습니다. 기본적으로는 Studio Explorer처럼 자주 쓰는 서비스만 최상위에 표시되며, 이 항목을 켜면 숨겨진 서비스까지 모두 표시됩니다. 서비스별로 표시 여부를 정하려면 Settings를 이용할 수 있습니다.
숨겨진 서비스 안의 인스턴스로 이동하려고 하면(Find on server, 북마크 등) Not visible: … is hidden by the services filter라는 알림이 표시됩니다. 이때는 Show all services를 켜면 됩니다.
단축키
섹션 제목: “단축키”| 키 | 동작 |
|---|---|
F2 |
메인 창 열기·닫기 |
Ctrl+F |
필터 상자에 포커스 |
Esc |
필터 상자 비우기 |
Ctrl+R |
이름 바꾸기 |
Ctrl+C |
복사 |
Ctrl+V |
붙여넣기 |
Ctrl+D |
복제 |
Ctrl+G |
Model로 묶기 |
Ctrl+U |
풀기 |
Del |
지우기 (Shift+Del은 확인 없이) |
Ctrl+R부터 Del까지는 마우스가 Explorer 위에 있고, 열린 팝업이 없으며, 텍스트 상자에 입력 중이 아닐 때만 동작합니다. Ctrl+C를 제외한 편집 키는 Edit 권한이 있어야 동작합니다.
그 밖의 공통 기능은 처음 열었을 때에서 소개합니다.