# Feature Request: Custom DSP Registration API for UE Integration

**URL:** https://qa.fmod.com/t/feature-request-custom-dsp-registration-api-for-ue-integration/22739
**Category:** Unreal Engine
**Created:** [March 27, 2025, 12:00pm UTC](https://qa.fmod.com/t/feature-request-custom-dsp-registration-api-for-ue-integration/22739 "2025-03-27T12:00:59Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![danielrudrich](https://avatars.discourse-cdn.com/v4/letter/d/a8b319/32.png) [@danielrudrich](https://qa.fmod.com/u/danielrudrich)
#### Post date: [March 27, 2025, 12:00pm UTC](https://qa.fmod.com/t/feature-request-custom-dsp-registration-api-for-ue-integration/22739/1 "2025-03-27T12:00:59Z")

</div>

Hi there,  
this might be a bit of a nerdy feature request but here we go:

For custom DSP plug-ins in both Unity and UE Integrations there’s the list you can add your Dynamic Plug-ins so they are getting added to the Core System on initialization. On platforms requiring **static** libraries (e.g. iOS), you need to provide the exported symbols/functions returning your custom DSP description. This works well with the Unity Integration providing a separate list to add the symbol names to.

On the Unreal Engine side of things it’s different, there’s no list. It’s C++ code so the code generation would be a mess 🙄

However, if the FMODStudioModule would provide a public interface like

```cpp
void addCustomDSPDescription(FMOD_DSP_DESCRIPTION* descriptionToAdd);

bool removeCustomDSPDescription(FMOD_DSP_DESCRIPTION* descriptionToRemove);

```

which internally simply adds to a

```cpp
private:
std::vector<FMOD_DSP_DESCRIPTION*> customDspToRegister;

```

member and during initialization (e.g. `CreateStudioSystem`) does something like this

```cpp
// register custom DSP plug-ins
for (const auto& dsp : customDspToRegister)
{
    unsigned int Handle = 0;
    lowLevelSystem->registerDSP(dsp, &Handle);
}

```

Then a custom UE Plug-in could call `FMODStudioModule::addCustomDSPDescription` during its own `MyModule::StartupModule()` phase and have the custom DSP registered.

Hope that makes sense 🙂

---

<div class="post-metadata">

### Author: ![mathew](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/mathew/32/431_2.png) [@mathew](https://qa.fmod.com/u/mathew)
#### Post date: [March 30, 2025, 11:44pm UTC](https://qa.fmod.com/t/feature-request-custom-dsp-registration-api-for-ue-integration/22739/2 "2025-03-30T23:44:05Z")

</div>

Things might actually be a bit easier for us on the Unreal side. Rather than needing to generate C++ code, we could use `dlopen` on the application, find the static symbol then register it. We wanted to do this for Unity but their were technical difficulties imposed by C# requiring the code gen. With this appaoch we could have the same user interface as Unity, a list of strings representing symbols to be automatically registered.
