【VRChat】UdonSharp開発環境の構築:VCC導入からインタラクトオブジェクト作成まで

作成: 2025-12-19

VRChat Creator Companion (VCC) を使ったUdonSharpプロジェクトのセットアップ手順。Unityのインストールからインタラクトオブジェクト作成までを実践形式で解説。

概要

UdonSharpでスクリプトを作成するには、まず適切な開発環境を構築する必要があります。現在、VRChatのワールド開発では、公式ツールであるVRChat Creator Companion (VCC) を使用することが標準的な手法となっています。

本記事では、VCCを用いてUdonSharp開発用のUnityプロジェクトを新規に作成し、最初のスクリプトを記述して、Unityエディタ内でその動作を確認するまでの一連の手順を解説します。

ステップ1: VRChat Creator Companion (VCC) のインストール

VRChat Creator Companionのプロジェクト画面

VCCは、VRChatのコンテンツ制作に必要なUnityのバージョン、VRChat SDK、UdonSharpなどのパッケージを統合管理する公式ツールです。これを利用することで、環境構築の複雑さが大幅に軽減されます。

  1. VCCのダウンロード: VRChat公式サイトのダウンロードページにアクセスし、「Creator Companion」をダウンロードします。
  2. インストール: ダウンロードしたインストーラーを実行し、画面の指示に従ってインストールを完了させます。

今後、VRChat関連のプロジェクトの作成や管理は、すべてこのVCCを通じて行うことが推奨されます。

ステップ2: UdonSharp用Unityプロジェクトの作成

VCCのテンプレート選択画面

VCCを起動し、ワールド開発用のテンプレートから新しいプロジェクトを作成します。

  1. VCCを起動し、左側のメニューから「Projects」タブを選択します。
  2. 右上の「Create New Project」ボタンをクリックします。
  3. プロジェクトテンプレートの一覧から「Unity 2022 World Project」を選択します。このテンプレートにはVRChat Worlds SDK、Udon、UdonSharp、ClientSimなど、ワールド開発に必要なパッケージがすべて含まれています。
  4. Project Name(例: MyFirstUdonWorld)と、プロジェクトを保存するProject Location(場所)を指定します。
  5. 「Create Project」ボタンをクリックします。

VCCが、対応するバージョンのUnityのインストールと、必要なパッケージを含むプロジェクトの生成を自動的に行います。処理が完了したら、「Open Project」ボタンをクリックしてUnityエディタを起動します。

ステップ3: Unityエディタの基本レイアウト

Unityエディタ起動後、開発で主に使用する4つの基本ウィンドウの役割を把握します。

Unityエディタの基本レイアウト
  • Scene (シーン) ウィンドウ(赤枠): ワールドの3D空間を視覚的に編集するメインウィンドウ。
  • Hierarchy (ヒエラルキー) ウィンドウ(オレンジ枠): シーン内に存在する全てのオブジェクト(GameObject)を一覧表示するウィンドウ。
  • Project (プロジェクト) ウィンドウ(緑枠): プロジェクトに含まれる全ファイル(アセット)を管理するファイルエクスプローラーのようなウィンドウ。
  • Inspector (インスペクター) ウィンドウ(青枠): HierarchyやProjectで選択中のオブジェクトやアセットの詳細情報を表示し、設定を編集するウィンドウ。

ステップ4: 最初のUdonSharpスクリプトの作成

実際にスクリプトを作成し、オブジェクトに適用する手順を解説します。ここでは例として「クリックすると色がランダムに変わるキューブ」を作成します。

1. スクリプトファイルの作成

  • Projectウィンドウで、アセットを整理するためにAssetsフォルダ内にScriptsという名前のフォルダを新規作成します。
  • 作成したScriptsフォルダ内で右クリックし、コンテキストメニューから [Create] > [U# Script] を選択します。
  • ファイル名を「ColorChanger」に変更します。

2. スクリプトの編集

  • 作成したColorChangerファイルをダブルクリックすると、関連付けられたコードエディタ(通常はVisual Studio)が起動します。
  • 以下のコードを記述またはコピー&ペーストしてください。
using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
using VRC.Udon;

public class ColorChanger : UdonSharpBehaviour
{
    private MeshRenderer objectRenderer;

    void Start()
    {
        // このスクリプトがアタッチされているGameObjectからMeshRendererコンポーネントを取得
        objectRenderer = GetComponent<MeshRenderer>();
    }

    public override void Interact()
    {
        // プレイヤーがオブジェクトをクリックした際に呼び出される
        // ランダムな色を生成
        Color randomColor = Random.ColorHSV();

        // MeshRendererのマテリアルの色を更新
        objectRenderer.material.color = randomColor;
    }
}
  • コードを編集後、ファイルを保存します(ショートカットキー: Ctrl + S)。

3. スクリプトのコンパイル

  • ファイルを保存してUnityエディタに戻ると、UdonSharpがC#コードを自動的にコンパイル(Udon Assemblyへ変換)します。
  • エラーがなければ、ProjectウィンドウでColorChangerスクリプトを選択した際に、Inspectorウィンドウにコンパイル結果が表示されます。
  • エラーが発生した場合は、Unityエディタ下部のコンソールウィンドウに赤いエラーメッセージが表示されます。メッセージを読み、コードのスペルミスや文法の間違いを修正してください。

ステップ5: スクリプトのオブジェクトへの適用

作成したスクリプトを、シーン内の具体的なオブジェクトに適用します。

  1. オブジェクトの配置: Hierarchyウィンドウで右クリックし、[3D Object] > [Cube] を選択して、シーンにキューブを配置します。
  2. Udon Behaviourコンポーネントの追加: 配置したキューブをHierarchyで選択し、Inspectorウィンドウ下部の「Add Component」ボタンをクリックします。検索欄に「Udon Behaviour」と入力し、コンポーネントを追加します。
  3. スクリプトの割り当て: 追加したUdon Behaviourコンポーネントには「Program Source」という項目があります。この欄に、ProjectウィンドウからColorChangerスクリプトファイルをドラッグ&ドロップします。
Udon Behaviourコンポーネントの設定

ステップ6: Unityエディタでの動作確認

VRChatクライアントを起動することなく、Unityエディタ上で基本的な動作をテストできます。

  1. Unityエディタ上部中央にある再生ボタン (▶) をクリックします。エディタが再生モードに切り替わります。
  2. Gameウィンドウ(またはSceneウィンドウ)に表示されているキューブをマウスでクリックします。

クリックするたびにキューブの色が変化すれば、セットアップは成功です。

ColorChangerスクリプトの動作確認

ClientSimについて: VRChat固有の機能(VRCPlayerApiを使ったプレイヤー情報の取得や、ネットワーク同期など)を含むスクリプトをテストする場合は、VCC経由で導入できるClientSimパッケージを使用することで、Unityエディタ上でより正確なシミュレーションが可能です。ClientSimは、VRChat内でのプレイヤーの動作やインタラクションを模擬してくれる公式ツールです。

まとめ

本記事では、UdonSharp開発のための環境構築から、最初のスクリプトを作成してテストするまでの一連のプロセスを解説しました。

  • 開発環境の構築にはVRChat Creator Companion (VCC) を使用する。
  • UdonSharpスクリプトは、GameObjectに追加したUdon Behaviourコンポーネントに割り当てて使用する。
  • Unityエディタの再生モードを利用することで、基本的な動作を迅速にテストできる。