# rrplug
[](https://crates.io/crates/rrplug)
[](https://docs.rs/rrplug)
[](https://github.com/R2NorthstarTools/rrplug/actions/workflows/rrplug-test-build.yml)
framework for working with [R2Northstar](https://northstar.tf/)'s plugin system.
this crate provides convenient abstractions with compile time checks while not limiting unsafe access to any parts of plugin sys or the titanfall 2 engine.
## rrplug template
plugins v4 removed some dependencies on external files so now templates are redundant but a [template](https://github.com/catornot/rrplug-template) still exists
## cross compiling plugins
To compile a plugin from a host machine that's not using windows, you need to install the required target.
```bash
rustup target add x86_64-pc-windows-gnu
```
Then create a cargo config to always compile your project for windows.
```bash
mkdir .cargo
echo "[build]\ntarget = \"x86_64-pc-windows-gnu\"" > .cargo/config.toml
```
## versioning
rrplug had a major rewrite for each plugins version so versions that a `x` plugins version are `x.\*.\*`
| `4.*.*` | `v4` |
| `3.*.*` | `v3` |
| `2.*.*` | `v2` |
| `0.1.*` | `v1` |