Hugging Face SpacesでUnityゲームをホストする

Hugging Face Spacesは主に機械学習デモ向けに設計されていますが、プレイ可能なUnityゲームをホストし共有することにも利用できます。これは、Static HTMLテンプレートとUnityのWebGLビルド機能を活用することで実現します。

Unityゲームのデプロイワークフロー

Hugging Face SpacesでUnityゲームをホストするには、ゲームがウェブブラウザで正しく表示されるように、特定のビルドとアップロードの手順が必要です。

スペースの設定とローカルセットアップ

まず、ユーザーはHugging Faceで新しいSpaceを作成し、Static HTMLテンプレートを選択する必要があります。Spaceが作成されたら、Gitを使用してローカルマシンにクローンします。

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

Unityビルド設定

UnityプロジェクトをHugging Face Spacesと互換性のあるものにするため、Unityエディタ内で以下の設定変更が必要です。

  • Build Target: File > Build Settings に移動し、ターゲットプラットフォームを WebGL に切り替えます。
  • Compression Format: Player Settings パネルの Publishing 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 addgit commitgit push)を使用して変更をHugging Faceリポジトリにプッシュします。

Spaces内のUnityゲームの例

このホスティング手法の有効性を示すプロジェクトがいくつかあります。例として:

  • Huggy: Spacesでホストされているプレイ可能なデモ。
  • Farming Game: Unityベースのシミュレーション。
  • Unity API Demo: 環境内でのUnityの機能を示す技術デモ。

Sources