クイックスタート
導入してから、最初の Behaviour がワールドで動くまでの順を追います。
VRChat Worlds SDK(Udon)を導入した Unity 2022.3 のプロジェクトが必要です。SDK を導入していないプロジェクトでは、実行環境の API を参照できないため動作しません。
1. パッケージの導入
Section titled “1. パッケージの導入”| 順 | やること |
|---|---|
| 1 | VPM の一覧として https://zz-roba.github.io/tsukimi-vpm/index.json を追加する |
| 2 | パッケージの一覧から TsukimiSharp(T#) を選んで導入する |
VCC と ALCOM は手順が同じです。


配布ファイルからの導入
Section titled “配布ファイルからの導入”配布ファイルは zip 形式です。展開して出てくる .tgz を、Unity の Package Manager(Window > Package Manager)の Add package from tarball で追加します。このボタンは Unity の Package Manager にあるもので、VCC と ALCOM にはありません。
導入すると、コンパイラとエディタ拡張のほかに、AI クライアントから使う MCP サーバと、AI 向けの指示ファイルが同梱されます。このページの手順では設定の作業はありません。MCP サーバを使うときだけ、MCP サーバの設定の操作が別に必要です。
2. 最初のスクリプト
Section titled “2. 最初のスクリプト”Project ビューで右クリックし、Create から T# Script を選びます。

名前を決めるウィンドウが開きます。決めると、空の Behaviour が 1 つと、それに対応するプログラムアセットが同時にできます。この 2 つは対で扱われるので、片方だけを消したり名前を変えたりしないでください。

保存先は Assets の中のフォルダです。Assets の直下は、専用のアセンブリ定義を置けないため、作成が中止されます。
一緒に作られるファイル
Section titled “一緒に作られるファイル”そのフォルダの上にアセンブリ定義が 1 つも無いときは、アセンブリ定義と IsExternalInit.cs が同じフォルダに作られます。この 2 つは新しい構文を使うために必要なものです。すでに .cs があるフォルダでは、別のアセンブリに分けてよいかの確認が表示されます。

生成されたファイルは、通常の C# として読めます。Tsukimi.TsukimiBehaviour を継承したクラスが 1 つあり、そこに実行環境が呼ぶイベントを書いていきます。
3. 保存とコンパイル
Section titled “3. 保存とコンパイル”保存すると自動的にコンパイルされます。成功すると、プログラムアセットに結果が表示されます。命令数と extern の数、生成された Udon のアセンブリも同じところで読めます。

コンパイルの記録はコンソールにも出力されます。

エラーの表示
Section titled “エラーの表示”コンパイルできない書き方をしていた場合は、位置情報つきの日本語のエラーが表示されます。エラーの番号から参照したいときは、エラーを見てください。
4. シーンへの配置
Section titled “4. シーンへの配置”できたスクリプトを、シーンの GameObject にドラッグします。UdonBehaviour が付き、そこにプログラムアセットが結び付きます。Inspector には、フィールドの宣言がそのまま表示されます。
Add Component から Udon Behaviour を選び、プログラムアセットを指定することで追加もできます。



5. 動作の確認
Section titled “5. 動作の確認”Play を押すと Unity 内で動作確認できます。また、ワールドをアップロードして確認できます。
プロジェクトに置かれるファイル
Section titled “プロジェクトに置かれるファイル”パッケージを導入すると、Assets/TsukimiCode/IsExternalInit.cs が 1 つ置かれます。record と init を使うために C# コンパイラが要求する型で、Unity には含まれていません。同じ型を既に持っているプロジェクトには置きません(重複定義になるためです)。
配置は初回の 1 度だけです。削除しても再生成はされません。
このファイルを削除すると、record や init を使っているスクリプトがコンパイルできなくなります。エラーは 定義済みの型 System.Runtime.CompilerServices.IsExternalInit が定義されていません です。復元するには、次の内容の .cs を Assets 内に置いてください。
namespace System.Runtime.CompilerServices{ internal static class IsExternalInit { }}配置先は Assets 内ならどこでも構いませんが、注意点が 2 つあります。
Assets/Pluginsの中には置かないでください。別のアセンブリになるので適用されません。- アセンブリ定義(
.asmdef)を作ってその中にスクリプトを置くなら、そのアセンブリにも同じ型が必要です。型はアセンブリごとに必要です。T# Script を作ったときにアセンブリ定義が一緒に作られた場合は、同じフォルダに配置されているため対処は不要です。
同梱のサンプル
Section titled “同梱のサンプル”メニューの TsukimiCode から Import Samples を押すと、Assets へインポートされます。インポートされるサンプルは 1 つで、シーンが 2 つ含まれています。シーンを開いて Play で実行します。

| シーン | 中身 |
|---|---|
| Showcase | 書き方を 1 つずつ示すサンプルが並んでいる |
| FloorGlow | 床がプレイヤーの足元で光る。単体で切り出したサンプル |
