Skip to main content

WaaS is a script engine for Unity / .NET.

WaaS stands for WebAssembly as a Script, which adopts WebAssembly as a script execution format.

This has the following benefits:

Language independent​

Various languages that support output to WebAssembly such as Rust, Go, MoonBit and C/C++ can be used, allowing you to choose the language that best suits your needs.

Component Model supported​

WaaS supports the Component Model and allows you to perform practical bindings.

Safe​

Without explicit permission, WebAssembly code cannot access the host environment's memory or functions. You can also run untrusted scripts safely.

IL2CPP / NativeAOT compatible​

WaaS is an interpreter fully implemented in C# and does not require JIT or AOT compilation of WebAssembly itself. It can run anywhere Unity or .NET supports including platforms where JIT is prohibited, such as iOS.

Use cases​

As a simple script in a game​

It can be used as a script to describe events and AI in a game. By creating scripts in small units, you can achieve fast hot reloads.

As a user-created script​

It can be used as a script to give complex behavior to user-created contents.

As a plugin system​

It can be used as a script to add plugins to applications created with Unity or .NET.