Can 4.9.1 be successfully built with unity builds turned off?

I am having some issues building UE4 4.9.1 when I disable unity builds. There are several compiler errors that prevent the Editor / Game from building. Is 4.9.1 for sure building when unity builds are disabled? Anyone else trying to do this? Some trick to prevent build issues when using non-unity builds?

Do you have a build log or details of what is being built, config, platform, compiler, and the errors you’re getting?

Building for Win64, DevelopmentEditor. Here is an example of one build error:

\Engine\Plugins\Editor\PluginCreator\Source\PluginCreator\Private\UI\SPluginCreatorTabContent.cpp(78): error C2653: ‘FPluginCreatorStyle’ : is not a class or namespace name
\Engine\Plugins\Editor\PluginCreator\Source\PluginCreator\Private\UI\SPluginCreatorTabContent.cpp(78): error C2228: left of ‘.GetBrush’ must have class/struct/union
type is ‘unknown-type’
\Engine\Plugins\Editor\PluginCreator\Source\PluginCreator\Private\UI\SPluginCreatorTabContent.cpp(78): error C2660: ‘SPluginCreatorTabContent::GetTemplateDescriptionWidget’ : function does not take 1 arguments
\Engine\Plugins\Editor\PluginCreator\Source\PluginCreator\Private\UI\SPluginCreatorTabContent.cpp(78): error C3861: ‘Get’: identifier not found
\Engine\Plugins\Editor\PluginCreator\Source\PluginCreator\Private\UI\SPluginCreatorTabContent.cpp(89): error C2653: ‘FPluginCreatorStyle’ : is not a class or namespace name
\Engine\Plugins\Editor\PluginCreator\Source\PluginCreator\Private\UI\SPluginCreatorTabContent.cpp(89): error C2228: left of ‘.GetFontStyle’ must have class/struct/union
<<

Due to the way Unity builds work, and the fact we have some local engine changes (although not ones that would impact files such as the one listed above) the specific errors I’m getting may not be the same as ones you might see. In general, I just wonder if non-Unity builds (for all platforms really) for sure work with a new engine release, but in this case I most care about Win64 and whether or not the stock 4.9.1 builds successfully (without using unity files) out of the box.

Chris, can you address this question, or have someone else? Thanks!

Hi

It looks like you’re picking up a plugin that was removed from 4.9. The Plugin Creator was replaced with simplified creation features in the PluginBrowser module.

Chris

Hi Chris,

I’m working on the same project as and getting rid of the Plugin Creator files did remove those errors from the non-Unity build I’m still seeing errors from other Engine systems. Namely Matinees and WWise’s AudioKinect.

Here’s a small sample:

(17):
error C4430: missing type specifier -
int assumed. Note: C++ does not
support default-int
(17):
error C2143: syntax error : missing
‘,’ before ‘
(29):
error C4430: missing type specifier -
int assumed. Note: C++ does not
support default-int
(29):
error C2143: syntax error : missing
‘,’ before '

(36):
error C2061: syntax error : identifier
‘UInterpTrack’
D:\Develop\Sandman\root\UE4\Engine\Source\Developer\AudiokineticTools\Classes\InterpTrackAkAudioRTPCHelper.h(13):
error C2061: syntax error : identifier
‘UInterpTrack’
D:\Develop\Sandman\root\UE4\Engine\Source\Developer\AudiokineticTools\Classes\InterpTrackAkAudioRTPCHelper.h(14):
error C2061: syntax error : identifier
‘UInterpTrack’
D:\Develop\Sandman\root\UE4\Engine\Source\Developer\AudiokineticTools\Private\InterpTrackAkAudioRTPCHelper.cpp(22):
error C2511: ‘bool
UInterpTrackAkAudioRTPCHelper::PreCreateKeyframe(UInterpTrack
*,float) const’ : overloaded member function not found in
‘UInterpTrackAkAudioRTPCHelper’

Are matinees/wwise set-up to build without unity? Are there any other systems I should remove from my engine to get it building unity correctly?

Chris (Wood), did you see comment here. Do you have any more info?

Are those errors occurring during the compilation of InterpTrackAkAudioRTPCHelper.cpp? I think that code is supplied by Audiokinetic in their UE4 integration.

Just to be clear, you are suggesting that the errors when compiling:

Are the result of issues with AudioKinetic’s codebase?

If that is the case I guess we will have to talk with them about a fix.

Thank you very much.

If the compilation unit is their cpp file, yeah. The cpp file is probably missing a header.