コンテンツにスキップ

エラー

番号意味説明
TUKI0001この言語が対応していない形C# としては正しいが、実行環境に対応する仕組みが無い。最も多く出る番号で、代わりの書き方は各ページの「非対応」の表にある
TUKI0099コンパイルできない構文構文としては受理できるが、Udon の命令へ変換する手段が無い。TUKI0001 と一緒に出ることが多い
TUKI0101実行環境に無い呼び出し呼ぼうとしたメソッドが、Udon に存在しない
TUKI0102実行環境に無い型変数の型が、Udon に存在しない
TUKI0103同期できない型[UdonSynced] を付けた変数の型が、同期の対象にならない(同期)
TUKI0106補間できない型[UdonSynced(UdonSyncMode.Linear)] などを、間の値を作れない型に付けている(同期)
TUKI0108メソッドを値として持つ形デリゲートとラムダ。Udon に関数の値が無い。型・生成・呼び出しのどこに書いても、同じ理由でエラーになる
TUKI01091 ファイルに 2 つ以上のプログラム1 つのファイルが 1 つのプログラムになる(ファイル構成と名前空間)
TUKI0110同期を付けられないフィールド[UdonSynced] を const・static・readonly のフィールドに付けている(同期)
TUKI0112リアクティブの依存の循環依存が一周しているため、更新の順序が決まらない(リアクティブプログラミング)
TUKI0114テストの外の確認用の呼び出しAssert と Mimic は [TsukimiTest] を付けたメソッドの中でだけ書ける。Mimic.Explore() はさらに、テストの最初の文でなければならない(テスト)
TUKI0201null 安全の違反#nullable enable を書いた範囲でだけ出る。C# なら警告で済むものを、ここではエラーにしている(null と参照)
番号意味説明
TUKI0104変数の格納先が足りない1 つのプログラムが使える変数の数には上限がある
TUKI0105型引数の展開が多すぎるジェネリックへ渡した組み合わせが多すぎて、展開しきれない
TUKI0107同期の方式と変数の矛盾[UdonBehaviourSyncMode] の指定と [UdonSynced] の付け方が噛み合っていない
TUKI0117テストがワールドに含まれるファイルにある[TsukimiTest] を本体側のファイルに書いている。そのメソッドはワールドに含まれるプログラムに入り、エントリポイントとして公開される。コンパイルは通る(停止しない)
TUKI0202常に同じ結果になる null 比較値型と null を比べている。コンパイルは通る(停止しない)
TUKI0203object から値型を取り出している取り出しに変換が 1 本かかる。コンパイルは通る(停止しない)
TUKI02042 次元配列の費用要素を 1 個ずつボックス化して出し入れする形になる。コンパイルは通る(停止しない)
TUKI0116予約された名前__ で始まる名前と、書いたイベントの引数を受け取るヒープ変数の名前(OnPlayerJoined なら onPlayerJoinedPlayer)はコンパイラが自分のヒープ変数に使う。フィールドの名前を変えれば直る
TUKI0120焼き込めないモデル学習済みモデルが、コンパイルの時点で焼き込める範囲の外にある。直すのはモデルを書き出した側の設定で、C# を書き直しても直らない(ONNX モデル(試験中))
TUKI0121シェーダに書けない名前GPU で動く部分(カーネルと、そこから呼ぶメソッド、その引数とローカル変数)の名前に、半角の英数字と下線以外が入っている。名前を付け直せば直る(Udon 側に残るメソッドやフィールドの名前は自由)
TUKI0111変化の伝播を組み立てられないリアクティブの属性は読めたが、変化を伝える処理を 1 つも置けなかった。効果は自動では実行されない(リアクティブプログラミング)
TUKI0113どこからも実行されない効果その効果のトリガーが、どのエントリポイントでも変わらない。コンパイルは通る(停止しない)
TUKI0115同期するフィールドに付いた属性届いた値では効果が実行されない(伝播が入るのは値を書いたエントリポイントだけ)。コンパイルは通る(停止しない)
TUKI0119起動時に 1 回だけ実行される効果依存を書くエントリポイントが 1 つも見つからないため、そのあと依存が変わっても実行されない。コンパイルは通る(停止しない)
TUKI0901コンパイラの内部エラー書いたコードの誤りではない。同じコードが正しいこともあるので、書き直しても直るとは限らない
TUKI0902解析の失敗解析が途中で失敗した。結果が空でも、その危険が無いという意味にはならない
TUKI0903出力したプログラムに無い名前の呼び出しコンパイル結果のプログラムが、この環境の Udon API に存在しない名前を呼んでいる。書いたコードの中には出てこない名前

「非対応」の表の「理由」の列は、この 4 語のどれかです。将来対応される見込みがあるかどうかを表します。

  • 環境: 実行環境に仕組みが無い。実行環境が変わらない限り書けない
  • 設計: 仕組みはあるが、この言語では対応しないと決めた。これからも対応しない
  • 未実装: 対応する方向だが、まだ実装していない。変わりうる
  • 未定: どうするか決めていない
型が無いときこの環境が公開しているのは Unity と VRChat の型の一部で、そこに無い型を変数に書くと TUKI0102 のエラーになります
呼び出しが無いとき型があっても、その中の呼び出しが全部あるとは限りません。公開されていない呼び出しは TUKI0101 のエラーになります
一覧の所在この文書には含めません。Unity の型は Unity のスクリプトリファレンスに、VRChat の型は VRChat の制作者向けドキュメントにあります