Udon 開発注意点
Udon Best Practicesの要約
OnUpdate の使い所に注意する
重い処理を書かない。
GetComponentは特に重いため、Startイベントで取得して変数にセットしておく。
CustomEventsを有効活用する。
インスタンス化の連鎖に注意する
何かをインスタンス化するものをインスタンス化する際は、インスタンス化の爆発的連鎖が起きないように気をつける。
自己参照について
Transform GameObject UdonBehavior はデフォルトで自分自身のものがセットされる。
https://gyazo.com/63d0a0d199c2dc017fc35b71e9c338bc
(インスペクタから値をセットしなくてもこのUdonBehaviourをアタッチしたGameObjectのTransformが取得できる。)
コンソールをよく見る
ランタイムエラーが生じるとUdonBehaviourはその瞬間に停止する。(VRCはクラッシュしないようになっている。)
コンソールにDebug.logを出力するノードもあるので活用する。
Udonエディタはバグだらけなので適宜リロードする
Udonエディタの表示がおかしい、修正後のスクリプトが反映されていないなどのトラブルは、UdonエディタのReload Graphやシーン、プロジェクトの再読み込みで多分解消する。
UnityのProfilerはちゃんと確認する
プロファイラを使えばScript実行にどのくらい時間がかかっているか確認できる。
コードの共有について
Udonのコード(Noodles)はテキストデータとしてコピペ(共有)できる。