# Unreal 4.15 FMod and Shipping build

**URL:** <https://qa.fmod.com/t/unreal-4-15-fmod-and-shipping-build/13107>\
**Category:** Unreal Engine\
**Created:** [April 12, 2017, 9:31pm UTC](https://qa.fmod.com/t/unreal-4-15-fmod-and-shipping-build/13107 "2017-04-12T21:31:35Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![RickSaada](https://avatars.discourse-cdn.com/v4/letter/r/f475e1/32.png) [@RickSaada](https://qa.fmod.com/u/RickSaada)\
**Post date:** [April 12, 2017, 9:31pm UTC](https://qa.fmod.com/t/unreal-4-15-fmod-and-shipping-build/13107/1 "2017-04-12T21:31:35Z")

</div>

So I can’t build a shipping version of the fmodstudiooculous plugin. I’m compiling with 4.15 under Visual studio and  
I get: \>D:\Projects\VRProjects\Engine\Plugins\FMODStudio\Source\FMODStudioOculus\Classes/FMODOculusBlueprintStatics.h(10): error C2504: ‘UBlueprintFunctionLibrary’: base class undefined

Development Editor works fine, but not Shipping. I assume this is do to the changes they did to include files in 4.15, but I haven’t figured out the magic needed to work around this. Have and of you made it work ? Attempting to reference Kismet in the dependency list results in errors about not including editor files in shipping builds.

Thanks, Rick

---

<div class="post-metadata">

**Author:** ![cameron-fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/cameron-fmod/32/261_2.png) [@cameron-fmod](https://qa.fmod.com/u/cameron-fmod)\
**Post date:** [April 18, 2017, 12:10am UTC](https://qa.fmod.com/t/unreal-4-15-fmod-and-shipping-build/13107/2 "2017-04-18T00:10:05Z")

</div>

> [@](#):
>
> So I can’t build a shipping version of the fmodstudiooculous plugin. I’m compiling with 4.15 under Visual studio and  
> I get: \>D:\Projects\VRProjects\Engine\Plugins\FMODStudio\Source\FMODStudioOculus\Classes/FMODOculusBlueprintStatics.h(10): error C2504: ‘UBlueprintFunctionLibrary’: base class undefined
> 
> Development Editor works fine, but not Shipping. I assume this is do to the changes they did to include files in 4.15, but I haven’t figured out the magic needed to work around this. Have and of you made it work ? Attempting to reference Kismet in the dependency list results in errors about not including editor files in shipping builds.
> 
> Thanks, Rick

Hi Rick, I see you managed to solve this on Unreal Answers. Just wanting to check if this was caused by the FMOD Plugin or something else?

---

<div class="post-metadata">

**Author:** ![RickSaada](https://avatars.discourse-cdn.com/v4/letter/r/f475e1/32.png) [@RickSaada](https://qa.fmod.com/u/RickSaada)\
**Post date:** [April 18, 2017, 1:06am UTC](https://qa.fmod.com/t/unreal-4-15-fmod-and-shipping-build/13107/3 "2017-04-18T01:06:23Z")

</div>

The FMod plugin doesn’t compile for shipping unless you add additional headers at the top. These are apparently included in editor builds by other stuff, but not in shipping builds. Try building a C++ project including your plugins for shipping, and the blueprint libraries won’t compile. I had to add:

#include “Kismet/BlueprintFunctionLibrary.h”

At the top of FModBlueprintStatics.h  
And FModOculusBlueprintStatics.h

(I had to add this include to our plugin with a blueprint library as well).  
And I had to add:

#include “GameFramework/Actor.h”

At the top of FModAmbientSound.h

And in FMOdStudioOculus.Build.CS I had to move Slate and SlateCore to PublicDependencyModuleNames.AddRange() with Core and CoreObject instead of where it was in the editor section under

if (UEBuildConfiguration.bBuildEditor == true)

All of this is because of the changes Unreal did to not have monolithic header includes but to make all the c++ files need to include the headers they use.

We’re good to go for the moment, but your code will need to be updated to be 4.15 shipping build compatible at some point.

Rick

---

<div class="post-metadata">

**Author:** ![RickSaada](https://avatars.discourse-cdn.com/v4/letter/r/f475e1/32.png) [@RickSaada](https://qa.fmod.com/u/RickSaada)\
**Post date:** [April 18, 2017, 1:10am UTC](https://qa.fmod.com/t/unreal-4-15-fmod-and-shipping-build/13107/4 "2017-04-18T01:10:37Z")

</div>

> [@](#):
>
> The FMod plugin doesn’t compile for shipping unless you add additional headers at the top. These are apparently included in editor builds by other stuff, but not in shipping builds. Try building a C++ project including your plugins for shipping, and the blueprint libraries won’t compile. I had to add:
> 
> #include “Kismet/BlueprintFunctionLibrary.h”
> 
> At the top of FModBlueprintStatics.h  
> And FModOculusBlueprintStatics.h
> 
> (I had to add this include to our plugin with a blueprint library as well).  
> And I had to add:
> 
> #include “GameFramework/Actor.h”
> 
> At the top of FModAmbientSound.h
> 
> And in FMOdStudioOculus.Build.CS I had to move Slate and SlateCore to PublicDependencyModuleNames.AddRange() with Core and CoreObject instead of where it was in the editor section under
> 
> if (UEBuildConfiguration.bBuildEditor == true)
> 
> All of this is because of the changes Unreal did to not have monolithic header includes but to make all the c++ files need to include the headers they use.
> 
> We’re good to go for the moment, but your code will need to be updated to be 4.15 shipping build compatible at some point.
> 
> Rick

Oh, missed one. Also need:

#include “Components/SceneComponent.h”  
#include “Audio.h”

in FModAudioComponent.h

---

<div class="post-metadata">

**Author:** ![cameron-fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/cameron-fmod/32/261_2.png) [@cameron-fmod](https://qa.fmod.com/u/cameron-fmod)\
**Post date:** [April 18, 2017, 1:31am UTC](https://qa.fmod.com/t/unreal-4-15-fmod-and-shipping-build/13107/5 "2017-04-18T01:31:24Z")

</div>

Thanks Rick, at the moment it works fine when the plugin is in the Project directory but we will endeavor to have this solved for the next release.

---

<div class="post-metadata">

**Author:** ![RickSaada](https://avatars.discourse-cdn.com/v4/letter/r/f475e1/32.png) [@RickSaada](https://qa.fmod.com/u/RickSaada)\
**Post date:** [April 18, 2017, 2:46am UTC](https://qa.fmod.com/t/unreal-4-15-fmod-and-shipping-build/13107/6 "2017-04-18T02:46:25Z")

</div>

So our issues are because we’ve got it in the Engine directory?

---

<div class="post-metadata">

**Author:** ![cameron-fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/cameron-fmod/32/261_2.png) [@cameron-fmod](https://qa.fmod.com/u/cameron-fmod)\
**Post date:** [April 18, 2017, 3:00am UTC](https://qa.fmod.com/t/unreal-4-15-fmod-and-shipping-build/13107/7 "2017-04-18T03:00:30Z")

</div>

As far as I’m aware, the only time the monolithic header change has effected our plugin is when it is in the Engine/Plugins directory.
