FusionStats
개요
FusionStats는 네트워크 텔레메트리를 모니터링하기 위한 UI 컴포넌트 집합입니다. FusionStats
컴포넌트는 텔레메트리 UI 요소의 계층을 생성, 초기화, 제어하는 주된 컴포넌트입니다.
FusionStats는 기본 UnityEngine.UI
컴포넌트를 사용하여, 빌드 된 환경에서도 화면 오버레이 또는 3D 공간의 오브젝트에 부착된 형태로 통계를 표시할 수 있습니다.
기본 사용법
씬에 FusionStats를 추가하려면:
- 유니티 에디터 메뉴에서
Fusion > GameObject > Add Fusion Stats
실행, 또는 - Hierarchy에서 빈 공간 혹은 GameObject를 우클릭하여
Fusion > Add Fusion Stats
선택

- GameObject를 선택한 경우:
FusionStats
는 기본적으로StatsCanvasType.GameObject
로 설정되며, 3D 공간에서 해당 오브젝트에 통계를 렌더링 합니다. - GameObject를 선택하지 않은 경우:
StatsCanvasType.Overlay
로 설정되어, 화면 상단 오버레이 형태로 통계를 렌더링 합니다.
이 메뉴 옵션은 자동으로 FusionStatsBillboard
컴포넌트를 추가하여, CanvasType
이 GameObject
일 때 해당 오브젝트가 카메라를 바라보도록 회전시킵니다.
실행 중 기능들
시뮬레이션이 실행되는 동안 사용할 수 있는 여러 기능이 있으며, 이 섹션에서는 런타임 중 FusionGraph
에서 사용할 수 있는 다양한 숨겨진 기능들을 소개합니다.
보기 옵션
FusionGraph
의 제목을 클릭하면 해당 그래프의 보기 옵션 드롭다운이 표시됩니다 (여러 옵션이 존재할 경우).

평균 계산 방식
런타임 중 FusionGraph
의 값 필드를 클릭하면 평균 계산 방식이 순환됩니다:
- 초당 평균 (Average per Second)
- 틱당 평균 (Average per Tick)
- 샘플당 평균 (Average per Sample)

핑 기능
통계 패널의 가장 상단, NetworkRunner
이름을 클릭하면 해당 FusionStats
컴포넌트가 Hierarchy에서 강조(ping) 됩니다. GameObject가 선택되어 있지 않다면, 자동으로 인스펙터에서 해당 객체를 선택합니다.

FusionStats 컴포넌트
FusionStats
는 모든 Fusion 통계 기능의 루트 컴포넌트입니다. 이 컴포넌트는 자식 캔버스 및 UI 요소들을 생성하며, 런타임에 NetworkRunner
및 NetworkObject
의 데이터 소스와 연결을 관리합니다.
리드로우 간격
UI 갱신이 이 값보다 자주 발생하지 않도록 제한합니다. 값을 증가시키면 성능이 향상됩니다.
레이아웃 섹션
FusionStats 캔버스의 전체적인 레이아웃을 제어하는 옵션입니다.
캔버스 타입
GameObject
: 3D 공간에서 렌더링Overlay
: 화면 오버레이 방식으로 렌더링
GameObject Rect / Overlay Rect
이 두 가지 Rect 값은 통계 요소가 UI.Canvas 상에서 어느 위치에 렌더링 될지를 결정합니다.
GameObjectRect
: CanvasType이GameObject
일 때, 기준 오브젝트 중심에서 얼마나 떨어져 렌더링 할지 지정OverlayRect
: CanvasType이Overlay
일 때, 화면의 어느 부분에 렌더링 할지 지정
이 Rect 값은 인스펙터 상에서 드래그하여 직접 조정하거나, 노란색 핸들을 이용해 모서리를 끌어서 조정할 수 있습니다.



Fusion 그래프 레이아웃 섹션
FusionStats 캔버스 하단에 위치한 FusionGraph
요소들의 레이아웃을 제어합니다.
기본 레이아웃
개별 FusionGraph
의 설정이 Auto일 경우, 이 기본 레이아웃 설정이 적용됩니다.
텍스트 겹침 방지
UI 텍스트가 그래프 셰이더(세로 막대)와 겹치지 않도록 강제합니다. 특히 VR 등에서 캔버스가 카메라를 완전히 정면으로 바라보지 않는 경우 유용합니다.
그래프 열 수
그래프 열의 개수를 수동으로 설정할 수 있습니다. 0으로 설정하면 GraphMaxWidth
값을 기준으로 자동 열 배치가 이루어집니다.
그래프 최대 너비
각 FusionGraph
요소가 확장될 수 있는 최대 너비입니다. 이를 초과하면 자동으로 새 열이 생성됩니다.
네트워크 오브젝트 통계 섹션
루트 NetworkObject
컴포넌트에 대한 통계 옵션입니다. 해당 오브젝트에 FusionStats
가 추가되어 있을 때만 유효합니다.
오브젝트 통계 활성화
해당 NetworkObject
에 대한 UI 및 텔레메트리 수집을 활성화합니다.
오브젝트 제목 높이 / ID 영역 높이 / 미터 바 높이
각 UI 요소(오브젝트 이름 라벨, ID 및 권한 정보, 수평 미터 바)의 높이를 설정합니다.
데이터 섹션
어떤 데이터 소스를 사용할지, 어떤 텔레메트리를 시각화할지 지정합니다.
Runner
모든 텔레메트리 데이터는 NetworkRunner
와의 연결이 필요합니다. 런타임 중 자동으로 탐지됩니다.
연결 대상 지정
멀티 피어 환경에서 여러 NetworkRunner
가 존재할 수 있으므로, 연결 대상이 될 피어 타입을 제어할 수 있습니다. SimulationModes
플래그와 EnforceSingle
설정을 함께 사용하면, 실행 중인 피어 수와 관계없이 단 하나의 FusionStats
인스턴스만 유지할 수 있습니다.
포함할 통계 항목들
시각화에 포함할 텔레메트리 항목을 설정합니다. 항목은 엔진의 3가지 주요 구성 요소에서 가져옵니다:
Net Stats
: 네트워크 전송 계층 (예: RTT, 송수신 데이터양)Sim Stats
: 시뮬레이션 관련 (예: 리시뮬레이션 횟수, 스냅샷 크기 등)Obj Stats
: NetworkObject 단위의 상태 변경, RPC 호출 수 등
생명 주기 섹션
FusionStats
GameObject 인스턴스의 생성/파괴 관련 동작을 제어합니다.
자동 파괴
NetworkRunner
연결이 끊기면 이 FusionStats
GameObject를 자동으로 파괴합니다.
단일 인스턴스 강제
FusionStats.GUID
가 동일한 인스턴스를 하나만 유지하고, 나머지는 제거합니다. 멀티 피어 모드에서 유용합니다. ConnectTo
설정과 함께 사용하면 특정 피어만 감시하도록 제어할 수 있습니다.
GUID
멀티 피어 모드에서 여러 FusionStats
인스턴스를 구분하기 위한 고유 식별자입니다.