見出し画像

Mac環境でUnity for VRChatする

VRChatユーザーの多くはPCVRでプレイしています。つまりWindowsの(すくなくともそれなりに)ハイスペックなマシンを持っているはずなので、アバター改変なども同じWindows上で作業することでしょう。
しかし、中にはゲーミングPCを持っていない人、Mac愛好家など、非Windows環境でアバター改変やアップロードをする人もいると思います。
ここではそんな数少ない人のために多少のノウハウを書き残しておきます。

結論として、Macでもアバター改変・アップロードはできます(一部制限あり)。
ワールドも制作・アップロードは可能なようですが、こちらはおそらくWindows機の方が快適だと思います。

更新日: 2025.01.19


(前提)VRChatでのアバターアップロードに必要なもの

まず、VRChatにアバター(およびワールド)をアップロードするには、最低限以下のものが必要です。

  1. 対応バージョンのUnity

  2. VRChat SDK

アバターのアップロードにはUnityが必要です。Unityはマルチプラットフォームなので、もちろんmacOSやLinuxでも使えます。
Unityはいくつもバージョンがあるので、Unity Hubという専用のバージョン・プロジェクト管理ソフトからインストールします。

しかし、素のUnityだけではアップロードできません。アップロードするには、UnityにVRChat SDKを入れる必要があります。
このSDKを管理するためのソフトとして、VRChat公式のVRChat Creator Companion(VCC)というソフトがリリースされています。
さらに、VCCはVRChat SDKだけでなく、アバター改変でよく使われる、コミュニティによるツール類(lilToon, Modular Avatarなど)の管理を行うこともできます。2025年現在、これらのツールは必須と言って良い状態なので、その管理を行うVCCもまた必須のソフトになっています。

まとめると、VRChatにアバターをアップロードするには、

  1. VCCをインストール

  2. Unity Hubをインストール

  3. 対応バージョンのUnityをインストール

という手順が必要です。

Mac環境で困ることとその対策

さて、Mac環境で困ることはだいたい以下の3つです。

  1. VCC(VRChat Creator Companion)が使えない

  2. Metalではジオメトリーシェーダー、 テッセレーションなど一部のシェーダー機能が使えない

  3. オフラインテストができない

1. VCCが使えない

VRChat公式によりリリースされているVCCは、VRChatのアバターアップロードに必須のアプリですが、これはWindowsでしか動きません。

→VCCの代わりに「ALCOM」を使いましょう。

ALCOMはanatawa12さんによって作成されたVCC代替アプリです。
VCCと同じことが出来、macOSやLinuxでも動きます。 
VCCよりも圧倒的に高速で、バグが少なく、オープンソースです。
VCCは英語のみですが、もちろん日本語表記もあります。
現在はまだ開発中ですが、基本的な機能は一通り使えます。
2025年1月1日、v1.0.0として正式リリースされました。
はっきり言って上位互換なので、Windowsユーザーも全員こっちがおすすめです。

公式のリンクはこちら↓

ALCOMのインストールや使い方は後でまた説明します。

2. Metalではジオメトリーシェーダー、 テッセレーションなど一部のシェーダー機能が使えない

仕様です。
Mac標準のグラフィックAPI、Metalではジオメトリーシェーダーやテッセレーションなどの一部のシェーダーの機能が使えません。
もちろんVRChatにアップロードすれば正常に動きますが、Unity上では動作を確認できなくなります。
ジオメトリーシェーダーが使われている例はあんまり知りませんが、テッセレーションは一部のファーシェーダーやもっちりシェーダーなどで使われているので困る人も出てくるかもしれません。
一応対処法として、APIをOpenGLにすれば動くらしいです。試したことはありません。

→この方法は、Apple Silicon搭載Macでは使用できませんでした。Intel Macであれば、おそらく動くと思います。

使えないのはMetalの仕様なので、これらの機能を頻繁に使うなら、Windows機を用意した方がいいかもしれません。

3. オフラインテストができない

仕様です。
VRChat SDKにはアバターなどをアップロードせずにローカル環境だけで確認するオフラインテスト機能がありますが、Macでは当然VRChat本体が動かないため、この機能が使えません。残念ながらこれはどうしようもありません。アップロードして確認しましょう。

ワールドでも同様に、オフラインでのテストはできません。

4. 補足:ワールド制作に関して

VRChat用ワールドの制作は、ほとんど経験がないため詳しくはわかりませんが、少なくともライトベイクに関しては課題があります。

次の環境構築の章で触れますが、ワールド制作ではApple Silicon用Unityが使用できません。これにより、ライトベイクにCPUしか使用できません。CPUのライトベイクは非常に時間がかかるため、ワールドを作り込むにはつらいところです。

がっつりワールド製作するなら、Windows機を用意した方が良いと思います。

環境構築手順

実際にMacでUnity環境を構築する手順を説明します。

  1. Unity Hubをインストール

  2. Unuty Hub経由でUnityをインストール

  3. ALCOMをインストール

下記リンクからUnity Hubをインストールしてください。

このとき最新バージョンのUnityをインストールするよう促されますが、インストールせずにHubのみをインストールします。最新バージョンのUnityはVRChat用には使用できません。

次に、必要なバージョンのUnityをダウンロードします。
VRChat用のUnityバージョンは2025年1月現在2022.3.22f1です。下記のアーカイブから該当バージョンをUnity Hub経由でダウンロードしてください。

Unityをダウンロード

インストール時にIntel用とApple Silicon用を選ぶことが出来ますが、Apple Silicon版はVRChat World SDKが動きません。これはHarmonyというライブラリが対応していないためです。
また、致命的ではないもののModular Avatarの一部機能も正常動作しません。(MA Parameters Infoが動かない、MA Scale Adjusterで隠しGame Objectが見えてしまう)
その他のツールでも、Harmonyに依存しているものは動作しません。
よってApple Silicon搭載MacでもIntel版を選んだ方が無難です。
もちろんApple Silicon版の方が軽く動くため、これらの点を理解して問題ない方はApple Silicon用を使っても問題ありません。

intel用のUnity Editor

なお、両方インストールしておくというのもOKです。ALCOMでは、同じバージョンのUnityが複数入っている場合、プロジェクトを開くときに選択できます。

Unityを選択

インストールするエディターを選んだら、追加するモジュールを選択します。ここで、Windows Build SupportとAndroid Build Supportを追加するのを忘れないようにしてください。Androidは最初からチェックが入っているようですが、Windowsは自分でチェックを入れる必要があります。これを忘れるとアバターもワールドもビルドできません。Android Build SupportはQuest単騎やAndoroidスマホ用のアバターをアップロードする際に必要です。また、まだ正式リリースされていませんが、iOS用にもアバターをアップロードしたい場合はiOS Build Supportも必要です。アップロード自体は今も出来ます。
日本語にしたい方は、日本語の言語パックも忘れずに。

Unityに追加するモジュールを選択

もしチェックを入れ忘れた場合は、あとでUnity Hubから追加インストールしてください。

Unityのインストールが完了したら、下記リンクからALCOMをダウンロードしてください。


ALCOMのダウンロード

インストールしたら起動するだけで使えます。新規にプロジェクトを作るなら右上から「プロジェクトを作成」、既存のプロジェクトを追加するならその横の▽から「既存のプロジェクトを追加」を押してください。

ALCOMの画面

水色の「管理」を押すとそのプロジェクトに対してSDKや各種ツール(パッケージ)の管理ができます。

ALCOM プロジェクトの管理画面

2024年4月23日現在、vcc://リンクを開く機能はまだないため、リポジトリを追加したいときは手動で「VPMリポジトリ」→「VPMリポジトリを追加」から行ってください。
2024年5月21日: vcc://リンクを開く機能がアップデートで追加されました!

VPMリポジトリを追加

vcc://リンクとは何かというと、たとえばlilToonのサイトにあるような、押すだけでVCCが自動で開いてリポジトリを追加できるリンクです。

lilToonのvcc://リンク

AlCOMは本家VCCと似たUIになっているので、本家VCCを触ったことがある人なら、すんなり使えるはずです。そうでない人も、本家VCCの操作説明が大体適用できます。

すでにあるALCOM紹介記事としては、この辺りも参考になると思います。

まとめ

ALCOMの登場により、Macユーザーでも基本的にWindowsと同じようにUnityが使えるようになりました。いい時代になりましたね〜〜
レアな環境でUnityしたい人に少しでも参考になれば幸いです。なにかあればTwitterMisskeyで聞いてください。
それでは〜

参考になったら「スキ❤️」してくださると私が喜びます。
「フォロー」すると新しい記事の通知が受け取れます。
「気に入ったらサポート」すると私がとても喜びます。ありがとうございます。



----- 以下、過去記事 -----

一部古い情報になっていますが、vrc-getの使い方などに触れた過去記事もほぼそのままここに残しておきます。

Mac環境で困ること

  1. VCC(VRChat Creator Companion)が使えない

  2. Metalではジオメトリーシェーダー、 テッセレーションなど一部のシェーダー機能が使えない

  3. オフラインテストができない

1. VCCが使えない

MacでUnity作業をするにあたって一番の課題はこれだと思います。

2023年9月現在、VRChatのAvatar, World用SDKはVCC経由でのみ配布されています。VCCはWindows版のみ提供されているので、Macでは動きません。つまりSDKが入手できないので詰み…ではありません。
(10月1日追記:どうやら今もunityapckage版のSDKは配布されているようです。なので従来のようにunitypackageでSDKをインストールする運用も可能なようですが、ユーザーリポジトリも含めて使えないのは非常に不便なため、非推奨です。)

VCCの機能は大きく2つあります。1つはUnity Hubのようなプロジェクトのランチャー機能。もう一つはパッケージ管理です。このうち1つ目に関しては、VCCからでもUnity Editorを起動してプロジェクトを開ける、というだけなので、Unity Hubと同じです。Unity Hubでできます。

2つ目のパッケージ管理こそVCCのメイン機能になります。バージョンを指定するだけでSDKやコミュニティによるツール(Modular Avatar, liltoonなど)がインストールされ、更新も簡単に行えます。

実はこれは正確にはVCCではなくVPM(VRChat Package Manager)の機能です。そして、このVPM自体はMacやLinuxでも使用可能です。
VRChat公式ドキュメントを見ると、VPMにはCLI版があります。いわゆるコマンドラインツールです。
https://vcc.docs.vrchat.com/vpm/cli
MacにはTerminalというアプリがインストールされているので、そこから上記リンクの通りに.NETのSDK、vpmの順にインストールしていくことで、Terminal上でVCCと同じパッケージ管理機能が使えます。
が、正直この公式のvpmコマンドはあまりにも機能が少なく実用的とは言えません。
というわけでその他の選択肢がこちらです。

VCC for mac

こちらは新野ユキさんが作成したアプリです。GUIでまさにMac版VCCという感じです。
公式のSDKもユーザーレポジトリもVCCと同じように管理できます。細かい機能の差はありますが、だいたいVCCと同じように使えます。
が、2024年4月現在Unity2022に対応しておらず、その他バグもあるため非推奨です。

VCC for mac の画面

ただし私はほぼ新規プロジェクトの作成とランチャー用途くらいにしか使っていません。(パッケージ管理は後述するvrc-getで行なっています。)
内部的には、公式のvpm cliを利用しています。そのため、これを使うにはまずvpm cliをインストールする必要があります。(インストール手順は後述。)
とりあえずこれがあればVCCでやることは基本的に問題なくできるはずです。

vrc-get

私がメインで使っている使っていた(GUI操作できるALCOMに移行しました)のがこれです。AvatarOptimizerを作成した、あのAnatawa12さんが製作しています。
これは要するにちゃんと使えるvpmです。つまりコマンドラインで操作する必要があります。なのでCLIに全く馴染みのない人にはちょっとつらいかもしれません。
しかし、公式のvpm cliよりちゃんと動いてバグも少ないため、VCCやvpm周りのトラブルの影響を受けづらいというメリットがあります。その意味ではコマンドラインに抵抗がない Windowsユーザーの方にもおすすめです。

インストールはMacユーザーならHomebrewからがおすすめです。
Homebrew自体使ったことがない場合は、下のリンクからインストールしてください。インストール用コマンドをTerminalにコピペするだけです。
https://brew.sh
Homebrewがインストールされている場合は、

brew install anatawa12/core/vrc-get

とするとインストールできます。インストールしたら vrc-get -V としてきちんとバージョンが表示されるか確認しておきましょう。

vrc-getの使い方

とりあえず困ったら --help コマンドを後ろにつけると、説明が出てきます。

  • リポジトリを追加する
    試しにAvatar Optimizer(を含むAnatawa12さんのリポジトリ)を追加してみます。

vrc-get repo add <vpm.jsonのURL>
# 例
vrc-get repo add https://vpm.anatawa12.com/vpm.json
  • 追加したリポジトリ一覧を確認する

vrc-get repo list

結果はこんな感じです。: の後ろがそのリポジトリの名前(表示名)になります。リポジトリを指定して何かをしたいときはこの表示名を使います。

com.anatawa12.main: anatawa12 (from https://vpm.anatawa12.com/vpm.json at /Users/tetra/.local/share/VRChatCreatorCompanion/Repos/com.anatawa12.main.json)
org.praecipua.vpm: Praecipua (from https://raw.githubusercontent.com/Cayahuanca/Unity/main/vpm-packages.json at /Users/tetra/.local/share/VRChatCreatorCompanion/Repos/org.praecipua.vpm.json)
io.github.poiyomi.vpm: Poiyomi's VPM Repo (from https://poiyomi.github.io/vpm/index.json at /Users/tetra/.local/share/VRChatCreatorCompanion/Repos/io.github.poiyomi.vpm.json)
jp.suzuryg.vpm: suzuryg (from https://suzuryg.github.io/vpm-repos/vpm.json at /Users/tetra/.local/share/VRChatCreatorCompanion/Repos/7e226146-e882-42c2-8ae2-76c07d90d3b4.json)
com.vrchat.repos.curated: Curated (from https://vrchat-community.github.io/vpm-listing-curated/index.json at /Users/tetra/.local/share/VRChatCreatorCompanion/Repos/vrc-curated.json)
com.vrchat.repos.official: Official (from https://vrchat.github.io/packages/index.json at /Users/tetra/.local/share/VRChatCreatorCompanion/Repos/vrc-official.json)
dev.nadena.vpm: bd_ (from https://vpm.nadena.dev/vpm.json at /Users/tetra/.local/share/VRChatCreatorCompanion/Repos/dev.nadena.vpm.json)
jp.whiteflare.vpm: whiteflare (from https://whiteflare.github.io/vpm-repos/vpm.json at /Users/tetra/.local/share/VRChatCreatorCompanion/Repos/jp.whiteflare.vpm.json)
io.github.lilxyzw.vpm: lilxyzw (from https://lilxyzw.github.io/vpm-repos/vpm.json at /Users/tetra/.local/share/VRChatCreatorCompanion/Repos/io.github.lilxyzw.vpm.json)
  • リポジトリの中身(パッケージの一覧)を見る
    追加したリポジトリに含まれるパッケージ一覧を確認してみましょう

vrc-get repo packages <リポジトリの表示名>
# 例
vrc-get repo packages bd_

結果

Modular Avatar | nadena.dev.modular-avatar
A suite of tools for assembling your avatar out of reusable components
1.0.0: https://github.com/bdunderscore/modular-avatar/releases/download/1.0.0/nadena.dev.modular-avatar-1.0.0.zip?
1.0.1: https://github.com/bdunderscore/modular-avatar/releases/download/1.0.1/nadena.dev.modular-avatar-1.0.1.zip?
1.1.0: https://github.com/bdunderscore/modular-avatar/releases/download/1.1.0/nadena.dev.modular-avatar-1.1.0.zip?
1.1.1: https://github.com/bdunderscore/modular-avatar/releases/download/1.1.1/nadena.dev.modular-avatar-1.1.1.zip?
1.1.2: https://github.com/bdunderscore/modular-avatar/releases/download/1.1.2/nadena.dev.modular-avatar-1.1.2.zip?
1.2.0: https://github.com/bdunderscore/modular-avatar/releases/download/1.2.0/nadena.dev.modular-avatar-1.2.0.zip?
1.2.1: https://github.com/bdunderscore/modular-avatar/releases/download/1.2.1/nadena.dev.modular-avatar-1.2.1.zip?
1.3.0: https://github.com/bdunderscore/modular-avatar/releases/download/1.3.0/nadena.dev.modular-avatar-1.3.0.zip?
1.4.0: https://github.com/bdunderscore/modular-avatar/releases/download/1.4.0/nadena.dev.modular-avatar-1.4.0.zip?
1.4.1: https://github.com/bdunderscore/modular-avatar/releases/download/1.4.1/nadena.dev.modular-avatar-1.4.1.zip?
1.4.2: https://github.com/bdunderscore/modular-avatar/releases/download/1.4.2/nadena.dev.modular-avatar-1.4.2.zip?
1.4.3: https://github.com/bdunderscore/modular-avatar/releases/download/1.4.3/nadena.dev.modular-avatar-1.4.3.zip?
1.4.4: https://github.com/bdunderscore/modular-avatar/releases/download/1.4.4/nadena.dev.modular-avatar-1.4.4.zip?
1.4.5: https://github.com/bdunderscore/modular-avatar/releases/download/1.4.5/nadena.dev.modular-avatar-1.4.5.zip?
1.5.0: https://github.com/bdunderscore/modular-avatar/releases/download/1.5.0/nadena.dev.modular-avatar-1.5.0.zip?
1.5.1: https://github.com/bdunderscore/modular-avatar/releases/download/1.5.1/nadena.dev.modular-avatar-1.5.1.zip?
1.6.0: https://github.com/bdunderscore/modular-avatar/releases/download/1.6.0/nadena.dev.modular-avatar-1.6.0.zip?
1.7.0: https://github.com/bdunderscore/modular-avatar/releases/download/1.7.0/nadena.dev.modular-avatar-1.7.0.zip?
1.7.1: https://github.com/bdunderscore/modular-avatar/releases/download/1.7.1/nadena.dev.modular-avatar-1.7.1.zip?
1.7.2: https://github.com/bdunderscore/modular-avatar/releases/download/1.7.2/nadena.dev.modular-avatar-1.7.2.zip?
1.7.3: https://github.com/bdunderscore/modular-avatar/releases/download/1.7.3/nadena.dev.modular-avatar-1.7.3.zip?
1.7.4: https://github.com/bdunderscore/modular-avatar/releases/download/1.7.4/nadena.dev.modular-avatar-1.7.4.zip?
1.7.5: https://github.com/bdunderscore/modular-avatar/releases/download/1.7.5/nadena.dev.modular-avatar-1.7.5.zip?
1.7.6: https://github.com/bdunderscore/modular-avatar/releases/download/1.7.6/nadena.dev.modular-avatar-1.7.6.zip?
  • パッケージをインストールする
    Unityプロジェクトのディレクトリに移動して、

vrc-get install <package名>

とします。バージョン指定したい場合は

vrc-get install <package名> <Version名>

とします。例はこんな感じ。

# 例
vrc-get install com.anatawa12.avatar-optimizer
# バージョン指定
vrc-get install com.anatawa12.avatar-optimizer 1.4.3
# ベータ版のインストール(--prerelease が必要)
vrc-get install --prerelease com.anatawa12.avatar-optimizer 1.5.0-beta.14
  • プロジェクトに入っているパッケージ一覧を見る

vrc-get info project
warning: no --json-format is specified! using lastest version 1
{"versions":[{"version":"0.2.6-rc.4"},{"version":"1.1.2-beta.1"},{"version":"1.5.0-beta.2"},{"version":"1.1.0-rc.1"},{"version":"1.3.2-beta.1"},{"version":"0.1.0"},{"version":"0.2.8-rc.1"},{"version":"0.2.7"},{"version":"0.2.6-rc.3"},{"version":"0.2.2"},{"version":"0.2.6"},{"version":"1.5.0-beta.9"},{"version":"1.3.0-rc.1"},{"version":"1.5.0-beta.13"},{"version":"1.5.0-rc.2"},{"version":"1.4.2"},{"version":"0.0.1"},{"version":"1.0.0-beta.4"},{"version":"0.3.0-beta.3"},{"version":"0.2.5"},{"version":"0.3.0-rc.2"},{"version":"1.4.0-rc.3"},{"version":"0.3.2"},{"version":"1.5.0-beta.11"},{"version":"0.2.0"},{"version":"1.2.0-rc.1"},{"version":"1.5.0-beta.1"},{"version":"1.4.0-rc.4"},{"version":"1.0.0-beta.3"},{"version":"0.2.0-beta.2"},{"version":"0.3.1"},{"version":"1.0.0-beta.5"},{"version":"1.5.0-beta.7"},{"version":"0.3.0-beta.1"},{"version":"0.4.8"},{"version":"1.3.2"},{"version":"1.3.3"},{"version":"0.4.1-rc.1"},{"version":"1.4.3"},{"version":"1.3.0-rc.2"},{"version":"0.2.0-rc.2"},{"version":"0.2.4"},{"version":"1.5.0-beta.3"},{"version":"0.4.1-rc.2"},{"version":"1.3.1"},{"version":"0.3.0"},{"version":"1.4.1"},{"version":"0.0.2"},{"version":"1.5.0-beta.12"},{"version":"0.4.2"},{"version":"0.4.0-rc.2"},{"version":"0.3.0-rc.1"},{"version":"0.4.5-beta.1"},{"version":"0.2.6-rc.2"},{"version":"0.3.0-beta.2"},{"version":"1.0.0-beta.2"},{"version":"0.4.0-rc.1"},{"version":"0.2.0-beta.1"},{"version":"0.2.5-rc.1"},{"version":"1.1.0-beta.2"},{"version":"1.1.1"},{"version":"0.2.6-rc.1"},{"version":"1.2.0"},{"version":"1.5.0-beta.8"},{"version":"0.3.5"},{"version":"1.5.0-beta.10"},{"version":"0.4.4"},{"version":"1.0.0-beta.1"},{"version":"0.1.4"},{"version":"0.4.3"},{"version":"0.4.0-beta.1"},{"version":"0.4.7"},{"version":"0.4.1-beta.1"},{"version":"1.1.0"},{"version":"0.4.12"},{"version":"1.3.2-beta.2"},{"version":"1.4.0"},{"version":"0.1.2"},{"version":"0.4.1-rc.3"},{"version":"0.2.1-beta.1"},{"version":"1.3.0"},{"version":"1.1.0-beta.1"},{"version":"0.4.10"},{"version":"1.4.0-beta.1"},{"version":"1.5.0-rc.1"},{"version":"0.4.1"},{"version":"0.4.11"},{"version":"0.3.2-beta.2"},{"version":"0.4.0"},{"version":"1.4.0-rc.1"},{"version":"0.2.0-rc.1"},{"version":"1.5.0-beta.14"},{"version":"0.4.4-rc.1"},{"version":"0.3.4"},{"version":"0.4.10-beta.1"},{"version":"0.2.3"},{"version":"0.2.7-beta.1"},{"version":"0.1.3"},{"version":"1.0.0"},{"version":"1.5.0-beta.6"},{"version":"1.2.0-beta.1"},{"version":"1.3.2-beta.3"},{"version":"0.2.1"},{"version":"0.4.5"},{"version":"1.3.4"},{"version":"0.3.3"},{"version":"1.4.0-rc.2"},{"version":"0.2.8"},{"version":"0.4.6"},{"version":"0.3.2-beta.1"},{"version":"1.5.0-beta.4"},{"version":"0.4.9"},{"version":"1.5.0-beta.5"},{"version":"1.4.3-beta.1"}]}

これは1行のjson形式で表示されます。人が見やすい形とは言えないですね…
jsonを見やすくしてくれるjqというコマンドラインツールがあるので私はそれを使っています。

vrc-get info project | jq

結果

warning: no --json-format is specified! using lastest version 1
{
  "packages": [
    {
      "name": "com.vrchat.avatars",
      "installed": "3.3.0",
      "locked": "3.3.0",
      "requested": []
    },
    {
      "name": "jp.lilxyzw.liltoon",
      "installed": "1.4.1",
      "locked": "1.4.1",
      "requested": []
    },
    {
      "name": "com.anatawa12.avatar-optimizer",
      "installed": "1.5.0-rc.2",
      "locked": "1.5.0-rc.2",
      "requested": []
    },
    {
      "name": "com.anatawa12.custom-localization-for-editor-extension",
      "installed": "1.1.0",
      "locked": "1.1.0",
      "requested": []
    },
    {
      "name": "nadena.dev.modular-avatar",
      "installed": "1.7.6",
      "locked": "1.7.6",
      "requested": []
    },
    {
      "name": "vrchat.blackstartx.gesture-manager",
      "installed": "3.8.6",
      "locked": "3.8.6",
      "requested": []
    },
    {
      "name": "com.anatawa12.gists",
      "installed": "0.9.1",
      "locked": "0.9.1",
      "requested": []
    },
    {
      "name": "jp.whiteflare.avatartools",
      "installed": "1.4.2",
      "locked": "1.4.2",
      "requested": []
    },
    {
      "name": "com.vrchat.core.vpm-resolver",
      "installed": "0.1.21",
      "locked": "0.1.21",
      "requested": []
    },
    {
      "name": "jp.lilxyzw.avatar-utils",
      "installed": "1.0.3",
      "locked": "1.0.3",
      "requested": []
    },
    {
      "name": "com.anatawa12.continuous-avatar-uploader",
      "installed": "0.2.1",
      "locked": "0.2.1",
      "requested": []
    },
    {
      "name": "com.vrchat.base",
      "installed": "3.3.0",
      "locked": "3.3.0",
      "requested": []
    },
    {
      "name": "com.poiyomi.toon",
      "installed": "8.1.167",
      "locked": "8.1.167",
      "requested": []
    },
    {
      "name": "org.praecipua.ee",
      "installed": "6.1.0",
      "locked": "6.1.0",
      "requested": []
    },
    {
      "name": "jp.suzuryg.face-emo",
      "installed": "1.2.0",
      "locked": "1.2.0",
      "requested": []
    },
    {
      "name": "humr.outputlogloader",
      "installed": "1.0.0",
      "locked": null,
      "requested": []
    },
    {
      "name": "studio.raspberry.vrchat.ma-suimin-system",
      "installed": "0.3.1",
      "locked": null,
      "requested": []
    }
  ]
}

--json-format が指定されてないよ!というエラーが出ますが無視しています。 --json-format がなんなのかはよくわかってません。

  • パッケージを更新する
    プロジェクト内の更新が必要なパッケージ一覧を表示

# 例
vrc-get outdated
# beta版も含める
vrc-get outdated --prerelease

更新する

vrc-get upgrade <package名>
# 全部一気に更新
vrc-get upgrade
# 特定のパッケージを更新
vrc-get upgrade com.anatawa12.avatar-optimizer
# 特定のパッケージを更新(バージョン指定あり)
vrc-get upgrade com.anatawa12.avatar-optimizer 1.4.3

このときpackage名を指定しないと、更新がある全てのパッケージが一気に更新されます。楽です。
普段使う機能はだいたいこんな感じです。
困ったらTwitterかmisskeyで私あるいは作者のanatawa12に聞いてください。

2. Metalではジオメトリーシェーダー、 テッセレーションなど一部のシェーダー機能が使えない

Macでは標準のグラフィックAPIがMetalになっていますが、Metalではジオメトリーシェーダーやテッセレーションなどの一部のシェーダーの機能が使えません。
もちろんVRChatにアップロードすれば正常に動きますが、Unity上では動作を確認できなくなります。
ジオメトリーシェーダーが使われている例はあんまり知りませんが、テッセレーションは一部のファーシェーダーやもっちりシェーダーなどで使われているので困る人も出てくるかもしれません。
一応対処法として、APIをOpenGLにすれば動くらしいです。試したことはありません。
https://kiliware.hateblo.jp/entry/2018/04/02/222116
使えないのはMetalの仕様なので、これらの機能を頻繁に使うなら、Windows機を用意した方がいいかもしれません。

3. オフラインテストができない

VRChat SDKにはアバターなどをアップロードせずにローカル環境だけで確認するオフラインテスト機能がありますが、Macでは当然VRChat本体が動かないため、この機能が使えません。残念ながらこれはどうしようもありません。アップロードして確認しましょう。

ワールドでは、デバッグ用に Client Simを使用して確認することもあるかと思いますが、これも同様に利用できません。Unity自体の動作には問題ありませんが、ワールド制作では Windows機の方が便利な場面が多い気がします。

環境構築手順

実際にMacでUnity環境を構築する手順を説明します。

  1. Unity Hubをインストール

  2. Unuty HubにUnityをインストール

  3. vpm cli をインストール

  4. VCC for macあるいはvrc-getをインストール

下記リンクからUnity Hubをインストールしてください。

このとき最新バージョンのUnityをインストールするよう促されますが、インストールせずにHubのみをインストールします。VRChat用のUnityバージョンは2023年10月現在2019.4.31.f1です。下記のアーカイブから該当バージョンをUnity Hub経由でダウンロードしてください。

2019.4.31.f1を選択

Unityがインストールできたら、下記リンクにある公式の手順に従いvpm cliをインストールします。vpmを直接使わない場合でも、VCC for macを使用するためにはvpm cliのインストールが必要です。

公式ドキュメントの機械翻訳でも十分理解できるとは思いますが、日本語でのインストール手順を説明します。

下記リンクから.NET 6 SDKをインストールします。

.NET SDKのインストール

.NET SDKがインストール出来たら、Terminalで下記コマンドでvpmをインストールします。

dotnet tool install --global vrchat.vpm.cli

下記コマンドで公式のテンプレートをインストールします。

vcc install templates

これでインストールは完了です。
確認用に、

vpm check hub

とすると、Unity Hubがきちんとインストールできている(かつ、vpmに適切に認識されている)かをチェックできます。

vpm check unity

とすると、適切な Unityバージョンがインストールできている(かつ、vpmに適切に認識されている)かをチェックできます。

vpm cliをインストールしたら、VCC for macあるいはvrc-getをインストールします。
以上で環境構築は完了です。



いいなと思ったら応援しよう!

きくじん
VRChat関連の技術的な情報などを書いています。「スキ❤️」や「フォロー」していただくとモチベになります。「サポート」していただいたら私が美味しいものを食べます。