Setup Guide
Elys Persistent Music is free and is not yet available to download. Follow these installation steps after publication. Check the product page for release status.
1. Install
- After publication, get Elys Persistent Music on the Fab Marketplace.
- In the Epic Games Launcher, open Library → Fab Library, find the plugin and choose Add to Project.
- Open your project, then Edit → Plugins, search for Elys Persistent Music and enable it. Restart the editor when asked.
The plugin adds no module to your project and needs no C++: a Blueprint-only project works.
2. Play your first track
In any Blueprint — the Level Blueprint is the easiest place to start:
- Add a Play Music node (category Elys Persistent Music).
- Set Music to a looping Sound Cue, MetaSound Source or Sound Wave.
- Connect it to Event BeginPlay.
Press Play. The track starts with a one second fade in.
Play Music does nothing when the track you pass is already playing. You can put the same node in the Begin Play of every level: the first level starts the music, the others leave it alone.
3. Check that it survives a level change
- Create a second level and add an Open Level node to a trigger, a key press or the Begin Play of the first one.
- Play, travel to the second level.
The music keeps playing through the load, at the same position. Nothing else to do.
4. Project defaults (optional)
Project Settings → Plugins → Elys Persistent Music:
| Setting | Meaning |
|---|---|
| Default Volume | Volume used when Play Music is called without an explicit volume. |
| Default Fade In Time | Fade used by Play Music when its fade time is left at -1. |
| Default Fade Out Time | Fade used by Stop Music when its fade time is left at -1. |
| Default Crossfade Time | Crossfade used by Switch Music when its fade time is left at -1. |
| Default End Notice Time | How long before the end of a track On Music Ending fires. 0 never fires it. |
| Music Sound Class | Optional Sound Class applied to the music, so it mixes with the rest of your audio. |
| Restore Music After Level Load | Restart the track where it left off if the audio engine drops it during a map change. Leave this on. |
Every playback node accepts an explicit time. Leaving a time at -1 means use the project default, so you can retune all your fades from one place.
5. Looping
Looping is best handled by the asset: a Sound Cue with a Looping wave player, or a MetaSound that loops. If you pass a plain non-looping Sound Wave and leave bLoop checked, the plugin restarts it when it ends — correct, but not gapless.
Continue to the User Guide.