🥀

自分用 VRChatのワールド開発時の初回手順や必要アセットメモ【随時更新】

2021/12/30に公開

毎回手順を忘れるので備忘録ついでに書きました。
随時更新します。

初回プロジェクト作成時

git関係

gitコマンドに慣れてるエンジニアならgit単体で良いが慣れていない人はSourceTreeとか使うと良いかもしれない

リポジトリの作成~最初のpushまで

  • GitHubでリポジトリを作成(自分は命名規則はケバブケースを使う)
  • Add .gitignoreは追加しておく
  • Unityでプロジェクト作成
  • 作成したプロジェクトのルートに遷移してgit init --initial-branch main実行
  • git remote add origin [URL]でリモートリポジトリを設定
  • git branch --set-upstream-to=origin/main mainで上流ブランチを設定

Git操作時のプロトコルはHTTPS推奨
Token authentication requirements for Git operations/what-you-need-to-do-today
https://twitter.com/_mono/status/1425938664765329412

1. 先にローカルでコミットした(やらかした)場合

  • git merge --allow-unrelated-histories origin/mainを実行してマージ
  • マージ後にgit pull実行して.gitignoreを取りに行く
  • 後はgitignoreで除外されないファイルを一度まとめてcommit & push

2. ローカルで一度もコミットしていない場合

(今度書く)

参考:
脱Unity初心者!GitHubを使ってUnityを管理しバージョン復元/チーム開発をできるようになろう[Part1 : GitHub/SourceTree導入編]
Gitのデフォルト・ブランチ名を変更する方法
独立したGitリポジトリのマージをすると発生するfatal: refusing to merge unrelated historiesの解決

コミットメッセージ

一人で開発するとしてもわかりやすいコミットメッセージは必須。
複数人で開発するなら必ずコミットメッセージの規約を決めた方がよい。
自分の場合はわかりやすいのでAngularの規約を使うようにしている。
<type>(<scope>): <short summary>

ブランチの運用ルール

複数人なら必ず決めておかないと大変なことになる。
メジャーなものはGit-Flow、GitHub-FlowそしてGitLab-Flow辺りだが、ワールド作成ではGit-Flowは冗長すぎるので基本選択肢に入らないと思われる。
GitHub-FlowかGitLab-Flowかは運用方法次第。

初回で導入するアセット

参考:
【アセット紹介】Grabbitでオブジェクトを配置する【Unity】

初回で導入するパッケージ

  • VRCSDK3-WORLD(必須)
  • UdonSharp(必須)
  • VRWorld Toolkit
    ワールドのエラーや警告をわかりやすく表示してくれる
    パフォーマンスチェックもできるので今度使い方を記事にまとめたい
  • VRCHierarchyHighlighter
    Hierarchyをハイライトで階層表示する
  • WorldCreatorAssistant
    割と気になってるがまだ導入したことない。今度試してみたい
    →少し試してみたがかなり便利そう。ただしプロジェクト作成直後にインポートすることを想定しているようで既存プロジェクトに導入した場合は一部処理(Unity Asset Storeのアセットのインポートや、既に導入しているReccomend Community Tools欄のアセットの再ダウンロード)が実行できない
  • CyanEmu
    同上。近いうちに試す
    →めちゃくちゃ便利だった。導入するだけでワールドをアップロードすることなく「▶」を押すだけである程度ワールドのシミュレートができる
    ただしエミュレータの常として実際にワールドにアップロードしたら動かないなどがあるので最終的にはワールドアップロードで試すことは必須
  • UdonToolkit
    WorldCreatorAssistanで知った。トリガーや各種アクションなど、UdonSharpの汎用的なスクリプト群らしい。
    生成されるスクリプトを読むだけで参考になると思うので今度きちんと見る予定
    使い方はこちら
  • EasyQuestSwitch
    同上。Turbo Switch PROとどちらが良いのだろうか。もしくは両方使った方が良いのか?
    Quest 2を持っておらずあまりQuest向けのものを作成しないのでわからない

参考:
https://twitter.com/hirhir13/status/1474058498476748801
WorldCreatorAssistant を使ってワールド制作環境を素早く整える

ワールドのデバッグ

ワールドをBuild & Testでローカルテストする際に各種デバッグメニューを表示するための手順です。
VRChatで表示するまでもないときはCyanEmuを使った方がアップロード時間が圧倒的にかからないのでそちらを使った方が良いでしょう。
ただしVRChatではないとわからない処理の場合や、ある程度作成した際の動作チェックはローカルテストやワールドのアップロードで確認を行った方が良いです。

起動オプションを付ける

ワールドでデバッグメニューを有効化するには起動オプションが必要
しかし、UnityからBuild & Testでローカルテストを実施した場合通常のやり方では起動オプションを付けることができない
Build & Testでも起動オプションを使えるようにスクリプトを配布してくれた方がいるのでそちらを使用する

  • 起動補助スクリプトの導入
  • 適当な場所にVRCLocalTest.vbsを配置
  • Unity内のVRChat SDKのVRChat ClientでVRCLocalTest.vbsを指定

※VRCLocalTest.vbsでVRChat起動に失敗する場合
自分の場合はHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 438100\InstallLocationが古いディレクトリを指していた
一度VRChatの保存先を変更していたので恐らくそれが原因だと思われる

参考:
神城工業 VRChat ローカルテスト起動補助スクリプト

デバッグメニュー

デバッグメニューの表示方法

2021/12/30時点では下記の方法で表示が出来た
一度半角/全角キーを押さないと認識されない
デバッグメニューのスクロールのやり方がわからない(要調査)
https://twitter.com/ishida_eight/status/1461885893950644232

UdonSharpのイベントメソッド一覧

VRChat Event Nodes
UdonSharp Events
U# 入門 おまけ

Discussion