Packaging game fails with Audio Visualization plugin enabled
I totally posted this elsewhere, but after nearly 30+ hours of working on this issue with no progress, and no responses to questions (on AnswerHub, UE forums, and UE subreddit) I'm at my wits end! I need to get this packaged for a client in the next few weeks, so any direction towards solving this issue would be greatly appreciated.
After searching, I know it's been posted about a handful of times, with no real solution having come of it. I've spent nearly two straight days on this to no avail, here's what I've found:
The build error caused is UnrealBuildTool: ERROR: Couldn't find module rules file for module 'Kiss_FFT'.
Kiss FFT is the fast fourier transform library that Epic has relied on to make their SoundVisualisation plugin, and Epic has not updated that plugin since it's original release with UE4.0.
From what I can tell, this error occurs because the implementation of the Kiss FFT library is set to only work inside the editor, and thus no .Build.cs file was created for that module. When you attempt to package a project requiring the module, it cannot be found, and the packaging fails.
I was working in a Blueprint-only project, so I first attempted to generate Visual Studio project files. This did nothing. I ended up downloading the UE 4.6 source code from github, and recompiling the engine in order to gain access to the source code for the SoundVisualization plugin. Once I had recompiled, I converted my project to the new version of UE 4.6 and opened everything up.
A couple things I noticed:
SoundVisualizationStatics.cpp contains code that has been wrapped in #if WITH_EDITORONLY_DATA directives. I first thought this may be an issue, so I replaced the code with #if PLATFORM_WINDOWS as I'm not building for anything else right now. This did nothing. The same file has a debug line that claims this:
That's obviously not super descriptive... I've never seen this debug line appear in any of my logs, either.
There is a .Build.cs file for the SoundVisualization plugin, and it does attempt to include the Kiss_FTT as a third party dependency, as shown below:
I saw elsewhere on the answerhub that someone had success with a similar issue by changing this line to PublicDependencyModuleNames.Add("Kiss_FFT");, but this did not work.
Finally, I noticed the engine's source code actually does come with a version of Kiss_FFT, which you'll find in "../Source/ThirdParty/Kiss_FFT". This is version 1.29 of Kiss_FFT (the latest version is 1.30), but it should still work fine. Sure enough, this directory contains a .Build.cs file for Kiss FFT, which contains the following line:
While this seems to be pointing to the appropriate path, maybe it needs to be modified?
I'm pulling my hair out here, any help would be hot!
asked Dec 09 '14 at 12:44 PM in Using UE4
Looks like it works, I'm about to test it now. Hope that helps ^^
answered Mar 11 '16 at 01:32 AM
The audio visualization plugin is an experimental tool that was created for an internal Epic event and the developer who created it did not intend to follow up with it. However, we have recently hired an audio developer so there will be new audio features in the future.
answered Dec 09 '14 at 05:00 PM
Follow this question
Once you sign in you will be able to subscribe for any updates here