メインコンテンツまでスキップ

実行アーキテクチャの違い

公式 Udon と UdonEmu は、UdonAssembly がどの階層で実行されるかが異なります。
この違いを理解すると「どこまでが公式の仕様で、どこからが UdonEmu の挙動か」を切り分けやすくなります。


用語の整理

このページで使用する用語を整理します。
詳細は 公式ドキュメント: The Udon VM and Udon Assembly を参照してください。

用語説明
UdonBehaviourUnity の MonoBehaviour コンポーネント。イベントの入口になる
UdonVMUdon の命令(バイトコード)を実行する仮想マシン
UdonAssemblyData Section(変数定義)と Code Section(命令列)からなるテキスト形式
UdonProgramUdonAssembly から組み立てられた実行可能形式
Heap実行時の値(変数・一時値など)を格納する領域

Udon と UdonEmu の比較

公式 Udon では、UdonBehaviour のイベントが入口になり、UdonVM がプログラムを直接実行します。
UdonEmu は、公式 UdonVM 上で動く Udon プログラムとして実装されています。
UdonEmu が内部でさらに UdonAssembly を解釈・実行するため、子階層のレイヤーが存在します。

alt text


ポイント

UdonEmu は「置き換え」ではない

UdonEmu は公式 Udon の 上で動く ツールです。
公式 UdonVM の制約(使用可能な EXTERN、型、Heap のルールなど)は そのまま模倣します。

互換性と差異

UdonEmu は可能な限り公式 Udon の動作を再現していますが差異が生じる場合があります:

  • パフォーマンス特性の違い
  • エラーハンドリングのタイミング

詳細は 互換性と差異 を参照してください。


関連ドキュメント