U# 入門 ①
こんばんは。ハツェです。
ついにVRChatがUnity2018に対応しましたね。
今回は、Udonをスクリプトで制作するための記事を書いていきます。
チュートリアル感覚で書いていくので、何パートかに分けれたらなと思っています。
動作環境は、Unity : 2018.4.20f1、VRCSDK : 2021.05.17.12.52、U# : v0.19.11です。
目次
今回の概要
今回は、UdonSharpの導入と簡単なサンプルを一つ紹介します。
UdonSharpをインストールしよう
インストール方法は以下の通りです。
- 対応バージョンでUnityプロジェクトを作成
- VRCSDK3とUdonをインストール
- 最新のUdonSharpをインストール
ちなみに、UdonSharp(以下、U#)はU#のGithubからUnityPackageを入手できます。
github.com
U#をアタッチしてみよう
U#の生成はUdonGraphと同様に、UdonBehaviorから行うことが出来ます。
以下の通りに試してみてください。
- SceneにCubeを追加します。
- CubeにUdonBehaviorを追加します。
- New Programの下のポップアップをUdon C# Program Assetにした後、New Programを押します。
- Program Sourceが生成された後、Create Scriptを押してC#ファイルを生成します。

U#を書いてみよう
Udon Behaviorからスクリプトを生成すると、以下のようなテンプレートが生成されてるかと思います。
using UdonSharp; using UnityEngine; using VRC.SDKBase; using VRC.Udon; public class RotateCube : UdonSharpBehaviour { void Start() { } }
今回はこれに書き加えて、Cubeを回転させる処理を加えていきましょう。
といっても、コード自体はUnityC#と同じなので、以下のようにするだけです。
void Start()
をvoid Update()
に書き換えてるところだけ注意してください。
using UdonSharp; using UnityEngine; using VRC.SDKBase; using VRC.Udon; public class RotateCube : UdonSharpBehaviour { public float RotateSpeed; void Update() { this.gameObject.transform.Rotate(this.gameObject.transform.up * RotateSpeed * Time.deltaTime); } }
保存してUnityエディタに戻ると、コンパイルが走った後アセンブリが生成されます。
完成
完成したか動作を確認するのは、Editor上でもいいですし、VRChat上でも大丈夫です。
サンプルプロジェクトはGithubに置いておきます。
github.com
次回
次回は、変数操作と同期について触れていきます。
hatuxes.hatenablog.jp