Crates.io | wasm2usharp |
lib.rs | wasm2usharp |
version | 0.2.2 |
source | src |
created_at | 2024-06-05 17:08:39.529768 |
updated_at | 2024-11-24 13:59:59.78115 |
description | A tool for converting WebAssembly to UdonSharp |
homepage | |
repository | https://github.com/raii-x/wasm2usharp |
max_upload_size | |
id | 1262993 |
size | 9,011,106 |
A tool for converting WebAssembly to UdonSharp
You can download prebuilt binaries from the Releases page.
If you are using Cargo, you can install from Cargo.
cargo install wasm2usharp
Usage: wasm2usharp [OPTIONS] [INPUT]
Arguments:
[INPUT] Input file. If not provided or if this is `-` then stdin is used
Options:
-o, --output <OUTPUT> Where to place output. If not provided then stdout is used
-n, --namespace <NAMESPACE> Namespace to use for the generated class
--test Convert to C# instead of UdonSharp for testing
-h, --help Print help
-V, --version Print version
See examples for usage in a VRChat project.
w2us_init
method first for initializationclass_module_name
for each module name in U#,
and they are accessed by module_name.import_name
in the converted code_start
in Wasm will be replaced by w2us_start
after conversion to U#.
This is to prevent a function named _start
, which is an entry point in WASI, from being called unexpectedly,
since it is treated as a Start event function in Udon._
,
and if the first letter is a number or the same name as a C# keyword, it is prefixed with _
memory.copy
and memory.fill
instructions are supported)WebAssemblyからUdonSharpへの変換ツール
Releasesのページから、ビルド済みのバイナリをダウンロードできます。
Cargoを使用している場合、Cargoからインストールすることができます。
cargo install wasm2usharp
Usage: wasm2usharp [OPTIONS] [INPUT]
Arguments:
[INPUT] 入力ファイル。指定されない、または`-`の場合は標準入力が使用される
Options:
-o, --output <OUTPUT> 出力先の場所。指定されない場合は標準出力が使用される
-n, --namespace <NAMESPACE> 生成されるクラスに使用する名前空間
--test テストのためにUdonSharpの代わりにC#へと変換する
-h, --help ヘルプを出力
-V, --version バージョンを出力
VRChatプロジェクト内での使用例はexamplesを参照してください。
w2us_init
メソッドを呼ぶ必要があるclass_モジュール名
型のpublicフィールドが作成され、
変換されたコード内ではモジュール名.インポート名
でアクセスされる_start
という識別子は、U#への変換後はw2us_start
に置き換えられる。
これは、WASIのエントリーポイントである_start
という名前の関数は
UdonではStartイベント関数として扱われるので、予期せず呼ばれるのを防ぐためである。_
に置換され、
先頭が数字の場合とC#のキーワードと同じ名前の場合は先頭に_
が付与されるmemory.copy
命令とmemory.fill
命令のみ対応)