Hugging Face Spaces에서 Unity 게임 호스팅

Hugging Face Spaces는 주로 머신러닝 데모를 위해 설계되었지만, 플레이 가능한 Unity 게임을 호스팅하고 공유하는 데에도 사용할 수 있습니다. 이는 Static HTML 템플릿과 Unity의 WebGL 빌드 기능을 활용함으로써 가능합니다.

Unity 게임 배포 워크플로우

Hugging Face Spaces에 Unity 게임을 호스팅하려면 웹 브라우저에서 게임이 올바르게 렌더링되도록 특정 빌드 및 업로드 순서가 필요합니다.

Space 구성 및 로컬 설정

시작하려면 사용자는 Hugging Face에서 새 Space를 만들고 Static HTML 템플릿을 선택해야 합니다. Space가 생성되면 Git을 사용하여 로컬 머신에 클론해야 합니다:

git clone https://huggingface.co/spaces/{your-username}/{your-space-name}

Unity 빌드 설정

Unity 프로젝트를 Hugging Face Spaces와 호환되도록 만들려면 Unity Editor 내에서 다음과 같은 설정 변경이 필요합니다:

  • Build Target: File > Build Settings 로 이동하여 대상 플랫폼을 WebGL 로 전환합니다.
  • Compression Format: Publishing Settings 섹션 아래의 Player Settings 패널에서 Compression Format을 Disabled 로 설정해야 합니다.

선택적 시각적 커스터마이징

Hugging Face는 Space 내에서 게임의 외관을 개선하기 위해 전용 Unity WebGL 템플릿을 제공합니다. 이를 사용하려면 해당 리포지토리를 프로젝트 파일에 추가하고 Player Settings > Resolution and Presentation 아래에서 템플릿을 선택합니다.

빌드 업로드

프로젝트를 WebGL용으로 빌드하면, 빌드 폴더의 결과 파일들을 클론한 Space 리포지토리로 복사해야 합니다. Unity 빌드 파일은 크기가 클 수 있기 때문에, 빌드 디렉터리를 추적하려면 Git Large File Storage (LFS)를 활성화해야 합니다:

git lfs install
git lfs track Build/*

마지막으로, 표준 Git 명령(git add, git commit, git push)을 사용하여 변경 사항을 Hugging Face 리포지토리에 푸시합니다.

Space 내 Unity 게임 예시

다음과 같은 여러 프로젝트가 이 호스팅 방법의 실현 가능성을 보여줍니다:

  • Huggy: Spaces에 호스팅된 플레이 가능한 데모.
  • Farming Game: Unity 기반 시뮬레이션.
  • Unity API Demo: 환경 내에서 Unity 기능을 기술적으로 시연한 데모.

Sources