# Raw Rust binding for the Basis Universal pure C API.
[](https://github.com/beicause/bevy_basisu_loader/actions)
[](https://github.com/beicause/bevy_basisu_loader)
[](https://crates.io/crates/basisu_c_sys)
[](https://docs.rs/basisu_c_sys)
Raw Rust binding for the basisu pure C API, through FFI on native and wasm-bindgen on web. See also https://github.com/BinomialLLC/basis_universal/wiki#encoder-and-transcoding-c-api-documentation. This is used by [bevy_basisu_loader](../bevy_basisu_loader/) and [bevy_basisu_saver](../bevy_basisu_saver/).
This supports `wasm32-unknown-unknown` by embedding prebuilt basisu wasm binary and `wasm-bindgen`. You need to call `instantiate_embedded_basisu_wasm` before calling other functions if running on web.
Optional features:
- `encoder`: Enable basisu encoder. By default only transcoder is enabled.
- `serde`: Enable serde on structs.