Rhai contains a robust plugin system that greatly simplifies registration of custom functionality.

Instead of using the large Engine::register_XXX API or the parallel Module API, a plugin simplifies the work of creating and registering new functionality in an Engine.

Plugins are processed via a set of procedural macros under the rhai::plugin module. These allow registering Rust functions directly in the Engine, or adding Rust modules as packages.