Rust Importer の使用
WaaS では、*.rs
ファイルをアセットとしてインポートすることで直接 WebAssembly にコンパイルすることができます。
備考
Rust Importer を利用するには Rust ツールチェイン と wasm32-unknown-unknown
ターゲットが必要です。
インポート設定
- Create Root: ソースファイルをクレートのルートとして扱うかを指定します。チェックを外すと、ソースファイルは直接 WebAssembly にコンパイルされませんが、ほかのソースファイルからモジュールとして参照できます。
- Dependencies: 依存するパッケージを指定します。
- via Registry: パッケージレジストリからパッケージをインストールします。
- via Git: Git リポジトリからパッケージをインストールします。
- Componentize: WebAssembly モジュールをコンポーネントに変換します。詳しくは コンポーネント化 を参照してください。
Dependency
- Name: パッケージ名を指定します。
- Version Requirements: バージョンを指定します。詳しくは The Cargo Book を参照してください。
- Features: 有効 化する feature を指定します。
via Registry 固有の項目
- Registry (optional): パッケージを取得するレジストリを指定します。詳しくは The Cargo Book を参照してください。
via Git 固有の項目
- Git Url: Git リポジトリの URL を指定します。
- Branch (optional): ブランチ名を指定します。
- Tag (optional): タグ名またはコミットハッシュを指定します。
- Rev (optional): コミットハッシュを指定します。
警告
Rust Importer はソースファイルの変更を検知して自動的に再コンパイルを行います。ただし、次の場合は変更が検知されません。
- 依存先のソースファイルが Unity の管理外にある場合
- 依存先のソースファイルが存在しないためコンパイルエラーになった後、該当するソースファイルが作成・変更された場合
.rs
以外のファイルに依存している場合
これらの場合は、対象のソースファイルを右クリックして Reimport
を行うことで再コンパイルされます。
また、Assets
> Recompile Rust scripts for WaaS
を選択すると、プロジェクト内のすべての Rust ソースファイルを再コンパイルします。
プリセットの利用
上記の設定をプリセット アセットとして保存することで再利用できます。
Create
> WaaS
> Rust Importer Preset
からプリセットを作成し、Rust Importer の Inspector の Preset 欄にセットしてください。
IDE 機能の利用
Rust に対応する IDE で Unity プロジェクトのルートをワークスペースとして開くと、IDE による補完等の機能を利用しながら Rust ソースファイルを編集できます。
これは、Rust Importer が Unity プロジェクトのルートに Cargo.toml
を作成することによって実現しています:
[workspace]
members = ["Library/com.ruccho.waas/rust/crates/*"] # Used by WaaS
resolver = "2" # Used by WaaS