개발자 콘솔은 스튜디오에서 테스팅하거나 프로덕션에서 실행 중인 경험을 디버깅하기 위한 도구입니다. 이는 출력 창과 유사한 로그 메시지와 오류를 표시하며 메모리 및 네트워킹에 대한 자세한 정보를 제공합니다.
개발자 콘솔 열기
경험을 테스팅하거나 플레이하는 동안 개발자 콘솔을 열려면 채팅에 /console을 입력하거나 F9 키를 누르세요. 또한 경험 내 설정을 사용할 수도 있습니다:
- 경험 내 설정을 엽니다.
- 개발자 콘솔을 찾을 때까지 아래로 스크롤합니다.
- 개발자 콘솔 옆에 있는 열기를 클릭하세요.
콘솔 탭
콘솔 상단의 바로 가기 막대에는 중요한 오류 및 경고의 수, 클라이언트 메모리 사용량 및 평균 핑 시간이 표시됩니다. 이 중 하나를 클릭하여 해당 탭으로 이동할 수 있습니다. 바로 가기 막대 아래에는 로그, 메모리, 네트워크를 포함한 여러 탭이 나열됩니다.
로그
로그 탭은 스크립트에서 생성된 진단 메시지를 보여줍니다. 클라이언트와 서버 두 가지 섹션으로 나뉩니다.
- 클라이언트 섹션은 클라이언트에서 실행되는 LocalScript의 출력을 보여줍니다. 경험을 실행하는 모든 사용자는 이 로컬 출력 메시지를 볼 수 있습니다.
- 서버 섹션은 로블록스 서버에서 실행되는 스크립트의 출력을 보여줍니다. 경험 소유자 또는 편집 권한을 가진 그룹 멤버만이 이 섹션에 액세스할 수 있습니다.
로그의 출력 메시지를 다음의 체크박스를 사용하여 필터링할 수 있습니다:
출력 | 스크립트 내에서 print() 및 warn() 문 호출로 생성된 메시지입니다. |
정보 | 경험에서 생성된 오류나 사용자 정의 출력 문이 아닌 메시지입니다. |
경고 | 잠재적인 문제를 나타내는 메시지지만 심각한 문제는 아닌 메시지입니다. |
오류 | 중대한 문제가 발생한 것을 나타내는 메시지입니다. |
명령 바
서버 섹션에는 편집 권한이 있는 사용자가 임의의 Luau 코드를 실행할 수 있는 명령 바가 있습니다. 이 명령 바는 Script 및 LocalScript 객체와 동일한 보안 제한을 가지며, 스튜디오의 명령 바와 달리 보호된 함수를 실행할 수 없습니다.
메모리
콘솔의 메모리 탭은 메모리 사용량에 대한 지표를 표시합니다. 모델, 지형, 파트, 시각 효과, 스크립트, 물리 장치, 오디오 등이 총 메모리 사용량에 영향을 줄 수 있습니다. 메모리 탭에는 다음과 같은 섹션이 포함됩니다:
- CoreMemory – 네트워킹, 아바타 및 GUI 요소와 같은 로블록스 엔진에 내장된 프로세스에 의해 사용되는 메모리.
- PlaceMemory – 경험이 구축되는 과정에서 직접적인 결과로 스케일링되는 메모리.
- UntrackedMemory – 태그되지 않은 임의의 메모리 할당.
- PlaceScriptMemory – 사용자 Luau 스크립트 스레드가 사용하는 메모리. 이 섹션에는 스크립트 이름 및 사용자 정의 메모리 태그가 포함됩니다.
- CoreScriptMemory – 내부 로블록스 스크립트 스레드가 사용하는 메모리.
PlaceMemory 섹션에는 하위 카테고리가 있습니다. 다음 표는 각 하위 카테고리와 메모리 사용량을 줄이는 팁을 설명합니다.
카테고리 | 설명 | 메모리 관리 팁 |
---|---|---|
HttpCache | 로블록스 서버에서 로드된 에셋(이미지, 메시 등)이 메모리 캐시에 보관됩니다. | 더 적거나 작은 에셋을 로드하세요. |
Instances | 장소 내 Instances입니다. | 가능하면 인스턴스의 전체 개수를 줄이세요(탐색기 창의 객체 수를 줄이세요). |
Signals | 인스턴스 간에 발생하는 신호(한 인스턴스에서 다른 인스턴스의 이벤트를 트리거하는 이벤트)입니다. | 인스턴스 간 이벤트 연결을 더 적게 사용하세요. |
LuaHeap | 코어 스크립트(로블록스 클라이언트와 함께 제공되는 스크립트) 및 사용자 정의 스크립트에 대한 힙 메모리입니다. | 메모리 효율적인 스크립트를 작성하세요. |
Script | Lua 스크립트입니다. | 더 적거나 더 짧은 스크립트를 사용하세요. |
PhysicsCollision | 물리 시뮬레이션의 충돌 데이터입니다. | 부품이 움직일 필요가 없는 경우 BasePart.Anchored를 true로 설정하세요. 부품이 어떤 것과도 충돌하지 않아야 하는 경우 BasePart.CanCollide를 false로 설정하세요. |
PhysicsParts | 물리 지오메트리 및 운동학입니다. | 더 단순하고 작거나 적은 부품을 사용하세요. |
GraphicsSolidModels | 실제 모델을 렌더링하기 위한 그래픽 데이터입니다. | 더 적거나 더 단순한 실제 모델을 사용하거나 Enum.RenderFidelity를 Automatic으로 설정하세요. |
GraphicsMeshParts | MeshPart 개체의 그래픽입니다. | 더 적거나 더 단순한 메시를 사용하세요. |
GraphicsParticles | 파티클 시스템의 그래픽입니다. | 더 적은 파티클 시스템을 사용하거나 수명이 짧은 파티클을 더 적게 생성하세요. |
GraphicsParts | 부품의 그래픽입니다. | 더 적거나 더 단순한 부품을 사용하세요. |
GraphicsSpatialHash | 일반 렌더링입니다. | 렌더링에 기여하는 부품, 파티클, 조명 및 기타 모든 내용을 더 적게 사용하세요. |
GraphicsTerrain | 지형의 그래픽입니다. | 더 작은 지형을 사용하세요. |
GraphicsTexture | 텍스처 메모리입니다. | 더 적거나 더 작은 텍스처를 사용하세요. |
GraphicsTextureCharacter | 캐릭터용 텍스처 메모리입니다. | 더 적은 고유한 캐릭터 외관을 사용하세요. |
Sounds | 메모리 내 소리입니다. | 더 적거나 더 작은 소리를 사용하세요. |
StreamingSounds | 스트리밍 소리입니다. | 더 적은 스트리밍 소리를 사용하세요. |
TerrainVoxels | 지형 복셀입니다. | 더 작은 지형을 사용하세요. |
TerrainPhysics | 지형 물리입니다. | 지형에 가까운 개체의 경우 BasePart.CanCollide를 false로 설정하거나 BasePart.Anchored를 true로 설정하세요. |
Gui | 일반 GUI 요소에 사용되는 메모리입니다. | GUI 인스턴스 사용량을 줄이거나 최적화하세요. |
Animation | 애니메이션 데이터에 사용되는 메모리입니다. 포즈 및 아바타 애니메이션을 위한 KeyframeSequence 캐시 데이터 등이 포함됩니다. | 가능하면 더 적은 다양한 애니메이션을 사용하고 가능한 경우 애니메이션을 최적화하세요. |
Navigation | PathfindingService를 지원하는 구조에 사용되는 메모리입니다. | 사용량을 최적화하고 PathfindingService에 대한 호출을 줄이세요. |
네트워크
개발자 콘솔의 네트워크 탭은 경험이 수행한 웹 호출 수를 표시합니다. 이는 HttpService를 통해 명시적으로 수행한 호출과 DataStoreService와 같은 로블록스 서비스에서 수행한 웹 요청을 포함합니다. 네트워크 탭에는 요약 및 세부 정보 두 가지 섹션이 있습니다.
요약 섹션에는 유형별 웹 호출의 요약이 나열됩니다. 각 유형에는 요청 수, 실패한 요청 수 및 요청에 걸린 시간에 대한 세부 정보가 포함됩니다.
세부 정보 섹션에는 각 개별 웹 호출이 나열됩니다. 각 행은 GET 또는 POST와 같은 HTTP 메서드, 상태 코드, 실행 시간, 요청 유형 및 요청 URL을 표시합니다. 웹 호출을 클릭하여 응답 세부 정보를 볼 수 있습니다: