# StreamDock 플러그인 디버깅 방법 ## 중요: 반드시 개발자 콘솔을 열어서 확인하세요! StreamDock은 Electron 기반이므로 Chrome 개발자 도구로 디버그할 수 있습니다. ## 방법 1: 키보드 단축키 (가장 빠름) 1. StreamDock 프로그램이 실행 중인 상태에서 2. StreamDock 창을 클릭해서 포커스를 맞춘 후 3. 다음 키를 눌러보세요: - **F12** - **Ctrl + Shift + I** - **Ctrl + Shift + J** (콘솔 직접 열기) 4. 개발자 도구가 열리면 **Console** 탭을 클릭 ## 방법 2: 로그 파일 확인 로그가 파일로 저장될 수도 있습니다: ``` %APPDATA%\Hotspot\StreamDock\logs\ ``` 또는 이 배치 파일 실행: ```batch 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. 개발자 콘솔에서 버튼 등록 메시지 확인 ## 플러그인 재배포 후 확인 사항 ```batch cd Streamdeck deploy-plugin.bat ``` 배포 후: 1. StreamDock이 자동으로 재시작됨 2. 기존 버튼들은 그대로 유지됨 3. 새 버튼 추가 시 새로운 코드가 적용됨 **중요**: 기존에 추가된 버튼은 설정이 그대로 유지됩니다! - 배포 전에 추가한 마커 버튼은 계속 작동함 - 배포 전에 추가한 카메라 버튼도 계속 카메라 버튼으로 작동함 ## 배치 파일들 ### deploy-plugin.bat 플러그인 자동 배포: - 관리자 권한 자동 획득 - StreamDock 종료 - 플러그인 파일 복사 - StreamDock 재시작 - 2초 후 자동으로 창 닫힘 ### view-logs.bat 로그 파일 빠른 확인: - 로그 디렉토리 열기 - 최신 로그 파일을 Notepad로 열기 ## 개발자 콘솔이 안 열리는 경우 StreamDock 버전이나 설정에 따라 개발자 도구가 비활성화되어 있을 수 있습니다. **대안 1**: 로그 파일 확인 ```batch 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이라면 → 올바른 버튼!