The Rust Language Module for Plugify enables developers to write plugins in Rust for the Plugify framework. This module provides a seamless integration for Rust plugins, allowing them to be dynamically loaded and managed by the Plugify core.
- Rust Plugin Support: Write your plugins in Rust and integrate them effortlessly with the Plugify framework.
- Automatic Exporting: Easily export and import methods between plugins and the language module.
- Initialization and Cleanup: Handle plugin initialization, startup, and cleanup with dedicated module events.
- Interoperability: Communicate with plugins written in other languages through auto-generated interfaces.
- Rust Compiler
- Plugify Framework Installed
You can install the C++ Language Module using the Mamba package manager by running the following command:
mamba install -n your_env_name -c https://untrustedmodders.github.io/plugify-module-rust/ plugify-module-rust-
Install dependencies:
a. Windows
Setting up CMake tools with Visual Studio Installer
b. Linux:
sudo apt-get install -y build-essential cmake ninja-build
c. Mac:
brew install cmake ninja
-
Clone this repository:
git clone https://github.com/untrustedmodders/plugify-module-rust.git --recursive cd plugify-module-rust -
Build the Rust language module:
mkdir build && cd build cmake .. cmake --build .
-
Integration with Plugify
Ensure that your Rust language module is available in the same directory as your Plugify setup.
-
Write Rust Plugins
Develop your plugins in Rust using the Plugify Rust API. Refer to the Plugify Rust Plugin Guide for detailed instructions.
-
Build and Install Plugins
Compile your Rust plugins and place the shared libraries in a directory accessible to the Plugify core.
-
Run Plugify
Start the Plugify framework, and it will dynamically load your Rust plugins.
cargo new my-rust-plugin[lib]
crate-type = ["cdylib"]Note that you need to include the v in the version tag.
[dependencies]
plugify = { git = "https://github.com/untrustedmodders/rust-plugify" }use plugify::{register_plugin};
fn on_plugin_start() {
println!("Rust: on_plugin_start")
}
fn on_plugin_update(_dt: f32) {
println!("Rust: on_plugin_update")
}
fn on_plugin_end() {
println!("Rust: on_plugin_end")
}
register_plugin!(
start: on_plugin_start,
update: on_plugin_update,
end: on_plugin_end
);For comprehensive documentation on writing plugins in Rust using the Plugify framework, refer to the Plugify Documentation.
Feel free to contribute by opening issues or submitting pull requests. We welcome your feedback and ideas!
This Rust Language Module for Plugify is licensed under the MIT License.