Audiokinetic's Community Q&A is the forum where users can ask and answer questions within the Wwise and Strata communities. If you would like to get an answer from Audiokinetic's Technical support team, make sure you use the Support Tickets page.

How to register a wwise plugin in Unreal Engine ?

0 votes

Hi !

I'm currently looking to integrate wwise plugins (the ones that aren't built in the integration, like the convolution plugin) to Unreal Engine.
My Wwise/UE integration is working fine but I can't find any documentation on how to enable specific wwise plugins. The only reference I found is on the QA and is rather evasive...

Would it be possible to have a step-by-step guide on how to integrate a wwise plugin into Unreal Engine ?

Thank you !

asked Nov 30, 2015 in General Discussion by Caracole (190 points)

1 Answer

0 votes
 
Best answer

Hi,

After a few more searches here is what i found so far :
n.b: before doing this, make sure you have a fully functionnal version of your engine with wwise integrated. You will find plenty of documentation over the internet regarding Wwise integration in UE4.
n.b2: it is possible that by the time you read this, the integration would have moved to a UE4 plugin form which will probably make all this obsolete.


1/ Open Engine\Source\Runtime\AkAudio\Private\AkAudioDevice.cpp
2/ Around line 1650, you will find the following code

    // Plug-ins which require additional license.
    // AK::SoundEngine::RegisterConvolutionReverbPlugin();
    // AK::SoundEngine::RegisterSoundSeedPlugins();
    // AK::SoundEngine::RegisterMcDSPPlugins();
    //AK::SoundEngine::RegisterAstoundSoundPlugins();
    // AK::SoundEngine::RegisteriZotopePlugins();
    //AK::SoundEngine::RegisterCrankcaseAudioPlugins();

 Uncomment the plugin you wish to activate.
3/ For each plugin you register, go to the definition of the function RegisterPluginName(). There (AllPluginsRegistrationHelpers.h), you will find a static method referencing the plugin dependencies.

Convolution Reverb example:
        static AKRESULT RegisterConvolutionReverbPlugin()
        {
            AKRESULT eFinal = AK_Success;
#ifdef AK_SOFTWARE_EFFECT_PLATFORM
        AK_CHECK_ERROR( AK::SoundEngine::RegisterPlugin(
                AkPluginTypeEffect,
                AKCOMPANYID_AUDIOKINETIC,
                AKEFFECTID_CONVOLUTIONREVERB,
                CreateConvolutionReverbFX,
                CreateConvolutionReverbFXParams ) );
#endif
            return eFinal;
        }

Note: In the convolution example above, there is only 1 dependency but there can be more for other plugins.
4/ For each dependency, go to the definition of the AKEFFECTID_NAME. This should open the include files you copied from your wwise installation directory to your Engine\Source\ThirdParty\Audiokinetic directory during wwise integration process.
At the top of these files, you will find  comment indicating a library file your plugin depends from, copy the name of this library, you will need it for the next step.

Convultion Reverb example : (opens up AkConvolutionReverbFXFactory.h)
/// \file
/// Plug-in unique ID and creation functions (hooks) necessary to register the Wwise convolution reverb plug-in in the sound engine.
/// <br><b>Wwise effect name:</b>  Wwise Convolution Reverb
/// <br><b>Library file:</b> AkConvolutionReverbFX.lib

5/ Open Engine\Source\ThirdParty\Audiokinetic\Audiokinetic.Build.cs. Look for "AddWwiseLib", there should be a lot of line using this method. Below those, add a line referencing the library file's name you copied from before (without the .lib). Make sure you add it outside of any if condition.

Convolution reverb example:
        AddWwiseLib(Target, "AkConvolutionReverbFX");

6/ Once you've done this for every library in your RegisterPluginName function and for every plugin, build the engine and go test it out on the WwiseDemoGame project.


Note: At this time (working with UE 4.10 integration), I can't find any way to get neither Astound Sound Plugin nor Crankcase audio plugin to work. There is either missing include files, missing registration helper method or no library is indicated in the header file. I would really like a comment from an audiokinetic's developper regarding this issue.

Hope this helps.
Cheers

answered Dec 5, 2015 by Caracole (190 points)
selected Dec 7, 2015 by Caracole
...