2 unstable releases
0.3.0 | Sep 26, 2023 |
---|---|
0.2.0 | Sep 26, 2023 |
0.0.1 |
|
#1380 in Game dev
36KB
240 lines
bevy_fmod
This crate aims to provide an idiomatic Bevy plugin for FMOD. This crate wraps libfmod
.
FMOD
FMOD is a cross-platform audio engine that is used in many games. It is a commercial product, with a free license available for specific terms.
FMOD attribution
This crate is not affiliated with FMOD in any way. It is not endorsed by or affiliated with Firelight Technologies Pty, Ltd. To use FMOD in your application, you are required to include attribution by Firelight Technologies' terms. Learn more here.
Supported platforms
Currently, this crate is only tested and developed for Windows (non-UWP). More platforms are not planned for the near future. Pull requests are welcome.
External dependencies
This crate does not bundle the required FMOD libraries. You will need to download the appropriate libraries here. This requires a free FMOD account.
- Download the "FMOD Engine" package for Windows. Make sure to select a compatible version.
- Install the package.
- You need the following 4 files in the root of your rust project:
api/core/lib/x64/fmod.dll
api/core/lib/x64/fmod_vc.lib
: rename tofmod.lib
api/studio/lib/x64/fmodstudio.dll
api/studio/lib/x64/fmodstudio_vc.lib
: rename tofmodstudio.lib
Usage
[dependencies]
bevy_fmod = { git = "https://github.com/Salzian/bevy_fmod.git", tag = "<bevy_fmod release tag>" }
Get the latest release tag on the releases page.
Examples
To test the examples of this library, clone the repository. FMOD Studio comes with an Examples project. Open it and
select File > Save as...
. Save the project as <bevy_fmod>\assets\audio\demo_project.fspro
.
Now, build the project (File > Build
). This will create a folder called .\assets\audio\demo_project\Build
which is
used by our examples.
Run examples with cargo run --example <example_name>
. Find the list of examples in the Cargo.toml See
the source code of the examples for more details.
Live Update
Live update is a way of connecting FMOD Studio to your game as it runs, allowing you to update and monitor audio content in real time.
https://www.fmod.com/docs/2.02/studio/editing-during-live-update.html
To enable live update, you need to enable the live-update
feature. While you can do so in Cargo.toml, I recommend
to explicitly enable it with the --features
flag. This way, you won't accidentally include it in your release builds.
cargo run --example minimal --features live-update
Versioning
bevy_fmod | Bevy | FMOD (tested version, newer may work) |
---|---|---|
0.2.0 | ||
0.1.0 | ||
0.0.1 |
Dependencies
~18–56MB
~1M SLoC