Streamingle_URP/Streamdeck/HOW_TO_DEBUG_STREAMDOCK.md
2025-10-28 00:02:17 +09:00

7.0 KiB (Stored with Git LFS)

StreamDock 플러그인 디버깅 방법

중요: 반드시 개발자 콘솔을 열어서 확인하세요!

StreamDock은 Electron 기반이므로 Chrome 개발자 도구로 디버그할 수 있습니다.

방법 1: 키보드 단축키 (가장 빠름)

  1. StreamDock 프로그램이 실행 중인 상태에서

  2. StreamDock 창을 클릭해서 포커스를 맞춘 후

  3. 다음 키를 눌러보세요:

    • F12
    • Ctrl + Shift + I
    • Ctrl + Shift + J (콘솔 직접 열기)
  4. 개발자 도구가 열리면 Console 탭을 클릭

방법 2: 로그 파일 확인

로그가 파일로 저장될 수도 있습니다:

%APPDATA%\Hotspot\StreamDock\logs\

또는 이 배치 파일 실행:

view-logs.bat

디버그 출력 확인 방법

1. 버튼을 처음 추가할 때 (willAppear)

마커 버튼을 추가하면 이렇게 나와야 합니다:

============================================
👀 버튼 나타남 이벤트
🔍 Context: <컨텍스트 ID>
🔍 Action UUID: com.mirabox.streamingle.optitrack_marker_toggle
⚙️ 초기 설정: {}
✅✅✅ MARKER BUTTON DETECTED ✅✅✅
✅ This is the OptiTrack Marker Toggle button!
✅ When clicked, it should send: toggle_optitrack_markers
🎯 최종 actionType: optitrack_marker_toggle
💾 설정 저장 완료
============================================

카메라 버튼을 추가하면 이렇게 나옵니다:

============================================
👀 버튼 나타남 이벤트
🔍 Context: <컨텍스트 ID>
🔍 Action UUID: com.mirabox.streamingle
⚙️ 초기 설정: {}
📹 카메라 컨트롤러 등록 (기본값)
📹 This button will send camera switch messages
🎯 최종 actionType: camera
💾 설정 저장 완료
============================================

2. 버튼을 클릭할 때 (keyDown)

마커 버튼을 클릭하면:

╔════════════════════════════════════════╗
║     BUTTON CLICKED - DEBUG INFO        ║
╠════════════════════════════════════════╣
  Context: <컨텍스트 ID>
  ActionType: optitrack_marker_toggle
  All Settings: {"actionType":"optitrack_marker_toggle","currentState":0}
╚════════════════════════════════════════╝
➡️ Routing to: MARKER TOGGLE handler
   Will send: {"type":"toggle_optitrack_markers"}
🎯 OptiTrack 마커 토글 실행
📤 Unity에 OptiTrack 마커 토글 요청 전송: {"type":"toggle_optitrack_markers"}
🔍 Unity 연결 상태: true
🔍 Unity 소켓 상태: true
✅ 메시지 전송 완료
🎨 버튼 상태 업데이트: OFF

카메라 버튼을 클릭하면:

╔════════════════════════════════════════╗
║     BUTTON CLICKED - DEBUG INFO        ║
╠════════════════════════════════════════╣
  Context: <컨텍스트 ID>
  ActionType: camera
  All Settings: {"actionType":"camera","camera_index":0}
╚════════════════════════════════════════╝
➡️ Routing to: CAMERA handler
   Will send: {"type":"switch_camera","data":{...}}

문제 진단

증상: Unity에서 switch_camera 메시지를 받음

원인: 잘못된 버튼을 클릭하고 있습니다!

확인 방법:

  1. StreamDock 개발자 콘솔 열기
  2. 버튼 클릭
  3. ActionType: 이 뭐라고 나오는지 확인

결과 해석:

  • ActionType: camera → 카메라 버튼입니다. 마커 버튼이 아닙니다!
  • ActionType: optitrack_marker_toggle → 올바른 마커 버튼입니다!

증상: 버튼 타이틀이 비어있음

원인 1: 버튼을 잘못 추가했습니다

  • 카메라 버튼은 Unity에서 데이터를 받아와서 타이틀을 업데이트합니다
  • Unity가 연결되지 않으면 타이틀이 비어있을 수 있습니다

원인 2: 마커 버튼이 제대로 추가되지 않았습니다

  • 개발자 콘솔에서 ✅✅✅ MARKER BUTTON DETECTED 메시지를 확인하세요
  • 이 메시지가 없으면 버튼이 제대로 등록되지 않은 것입니다

StreamDock에서 올바른 마커 버튼 추가하는 방법

  1. StreamDock 소프트웨어 열기
  2. 왼쪽 액션 목록에서 찾기:
    • "OptiTrack Marker Toggle" 이라는 이름의 액션
    • 아이콘: optitrack_marker_icon.png 이미지
  3. 이 액션을 빈 버튼 슬롯으로 드래그
  4. 추가되면 개발자 콘솔에서 ✅✅✅ MARKER BUTTON DETECTED 확인
  5. 버튼 타이틀이 "마커\nON" 으로 표시되는지 확인

잘못된 버튼을 추가한 경우

잘못 추가한 버튼은:

  1. 길게 눌러서 삭제
  2. 올바른 "OptiTrack Marker Toggle" 액션 다시 추가
  3. 개발자 콘솔에서 버튼 등록 메시지 확인

플러그인 재배포 후 확인 사항

cd Streamdeck
deploy-plugin.bat

배포 후:

  1. StreamDock이 자동으로 재시작됨
  2. 기존 버튼들은 그대로 유지됨
  3. 새 버튼 추가 시 새로운 코드가 적용됨

중요: 기존에 추가된 버튼은 설정이 그대로 유지됩니다!

  • 배포 전에 추가한 마커 버튼은 계속 작동함
  • 배포 전에 추가한 카메라 버튼도 계속 카메라 버튼으로 작동함

배치 파일들

deploy-plugin.bat

플러그인 자동 배포:

  • 관리자 권한 자동 획득
  • StreamDock 종료
  • 플러그인 파일 복사
  • StreamDock 재시작
  • 2초 후 자동으로 창 닫힘

view-logs.bat

로그 파일 빠른 확인:

  • 로그 디렉토리 열기
  • 최신 로그 파일을 Notepad로 열기

개발자 콘솔이 안 열리는 경우

StreamDock 버전이나 설정에 따라 개발자 도구가 비활성화되어 있을 수 있습니다.

대안 1: 로그 파일 확인

view-logs.bat

대안 2: Unity 콘솔만으로 판단

  • Unity에서 받은 메시지 타입 확인
  • switch_camera → 카메라 버튼
  • toggle_optitrack_markers → 마커 버튼 (정답!)

대안 3: 디버그 빌드 일부 Electron 앱은 프로덕션 빌드에서 개발자 도구를 막아둡니다. StreamDock 설정 파일을 확인해보세요:

%APPDATA%\Hotspot\StreamDock\

정리

현재 문제:

  • Unity는 메시지를 정상적으로 받고 있음
  • 플러그인 코드는 정상 작동 중
  • 잘못된 버튼을 클릭하고 있음

해결 방법:

  1. StreamDock 개발자 콘솔 열기 (F12)
  2. 버튼 클릭
  3. ActionType 확인
  4. 만약 camera라면 → 잘못된 버튼, 삭제하고 "OptiTrack Marker Toggle" 액션 추가
  5. 만약 optitrack_marker_toggle이라면 → 올바른 버튼!