Streamingle_URP/Streamdeck/com.mirabox.streamingle.sdPlugin
..

Streamingle Camera Controller Plugin

Unity와 StreamDeck 간의 실시간 카메라 제어 플러그인입니다.

🚀 주요 기능

  • 실시간 Unity 연결: WebSocket을 통한 Unity 서버와의 실시간 통신
  • 카메라 제어: StreamDeck 버튼으로 Unity 카메라 전환
  • Property Inspector: 실시간 연결 상태 및 카메라 목록 표시
  • 자동 재연결: 연결 끊김 시 자동 재연결
  • 다국어 지원: 한국어 UI

📋 요구사항

  • StreamDeck: 3.10.188.226 이상
  • Unity: URP (Universal Render Pipeline)
  • Node.js: 20.x 이상
  • Unity 서버: StreamDeckServerManager.cs 실행 중

🔧 설치 방법

  1. 플러그인 설치

    # 플러그인 디렉토리로 이동
    cd Streamdeck/com.mirabox.streamingle.sdPlugin
    
    # 의존성 설치
    npm install
    
  2. Unity 서버 설정

    • Unity 프로젝트에 StreamDeckServerManager.cs 스크립트 추가
    • Unity에서 플레이 모드 실행 (포트 10701에서 서버 시작)
  3. StreamDeck에서 플러그인 추가

    • StreamDeck 앱에서 플러그인 추가
    • 카메라 컨트롤러 액션을 스트림덱에 배치

🎮 사용 방법

기본 사용법

  1. Unity 서버 시작: Unity에서 플레이 모드 실행
  2. StreamDeck 연결: 카메라 컨트롤러 버튼 클릭
  3. Property Inspector 설정: 버튼 우클릭 → 설정
  4. 카메라 전환: 드롭다운에서 카메라 선택 또는 버튼 클릭

Property Inspector 기능

  • 연결 상태: Unity 서버 연결 상태 실시간 표시
  • 카메라 선택: 사용 가능한 카메라 목록에서 선택
  • 자동 전환: 드롭다운 변경 시 즉시 카메라 전환
  • 수동 전환: 버튼 클릭으로 선택한 카메라로 전환
  • 새로고침: 카메라 목록 새로고침

🔧 개발자 정보

프로젝트 구조

com.mirabox.streamingle.sdPlugin/
├── plugin/
│   └── index.js              # 메인 플러그인 코드
├── propertyInspector/
│   └── camera/
│       ├── index.html        # Property Inspector UI
│       └── index.js          # Property Inspector 로직
├── manifest.json             # 플러그인 매니페스트
└── package.json              # 프로젝트 설정

주요 파일 설명

plugin/index.js

  • WebSocket 클라이언트 (Unity 서버 연결)
  • StreamDeck 액션 처리
  • Property Inspector와의 통신
  • 자동 재연결 로직

propertyInspector/camera/index.js

  • Property Inspector UI 로직
  • 플러그인과의 양방향 통신
  • 실시간 상태 업데이트

통신 프로토콜

Unity → 플러그인

{
  "type": "connection_established",
  "data": {
    "camera_data": { ... },
    "current_camera": { ... }
  }
}

플러그인 → Unity

{
  "type": "switch_camera",
  "data": {
    "camera_index": 0
  }
}

🐛 문제 해결

Unity 연결 안됨

  1. Unity 서버가 실행 중인지 확인 (포트 10701)
  2. 방화벽 설정 확인
  3. Unity 콘솔에서 오류 메시지 확인

Property Inspector 업데이트 안됨

  1. StreamDeck 앱 재시작
  2. 플러그인 재설치
  3. 브라우저 개발자 도구에서 오류 확인

카메라 전환 안됨

  1. Unity에서 CameraManager 설정 확인
  2. 카메라 인덱스 범위 확인
  3. Unity 콘솔에서 오류 메시지 확인

📝 로그 확인

플러그인 로그는 다음 위치에서 확인할 수 있습니다:

  • 플러그인 로그: streamingle.log
  • 빌드 로그: build.log
  • Unity 콘솔: Unity 에디터 콘솔

🔄 업데이트 내역

v2.0.0 (현재)

  • 완전히 새로 설계된 구조
  • weather 플러그인 구조 참고
  • context 기반 데이터 관리
  • 향상된 Property Inspector UI
  • 자동 재연결 메커니즘 개선

v1.0.0

  • 초기 버전
  • 기본 카메라 제어 기능

📄 라이선스

MIT License

🤝 기여하기

버그 리포트나 기능 요청은 GitHub Issues를 통해 제출해주세요.


Streamingle Team - Unity와 StreamDeck의 완벽한 연동을 위한 플러그인