Compile error with UE 5.6.1

,

Hello,

I moved to the latest version of the engine (5.6.1) and using version 2.03.09 of the Unreal Integration prevents compilation. It is related to a mistype in the generated FMODCallbackHandler source file

I found a solution in replacing the plugin’s Intermediate folder with the downloaded copy. It may be due to the fact that the mistake exists in the Linux version of the plugin (I have a Windows host but package for Linux).

Will there be an update for this issue? It is breaking compilation of my project and while it is a simple fix, it is annoying and repetitive.

I get this too on Windows. If I delete the Intermediate folder, FMODCallbackHandler.gen.cpp is simply recreated again with the same error. It should be FMODCallbackHandler.h, but I can’t find where it changes it…

We are currently looking into this.

It appears that the Engine is generating an incorrect header file path, as far as I can tell it is something that was introduced in UE5.6.1 and likely related to UE-295700.

4 Likes

We experience the same problem here with FMOD 02.03.09 after upgrading to UE5.6.1. FMODCallbackHandler.gen.cpp isn’t generated properly. It would be great to have a solution to this, as it’s now preventing us from upgrading the engine.

There is an issue in the engine caused by UE-295700. Due to the FMODCallbackHandler.h file being in the same directory as the folder named FMOD,and that folder being added to the PublicIncludePathsin the Build.cs, when the UHT attempts to generate a .cpp for the header it chops the front of the filepath off thinking that it’s a relative directory path.

Even if our naming convention isn’t ideal and may not be expected, the fact that they are just string comparing the front of the path without checking if it’s a directory doesn’t seem great.

We have a workaround for this which will go out in the next release. In the next major FMOD version we will likely remove the old file completely.

4 Likes

Hey , I temporarily fixed this to allow it to compile by renaming the file from FMODCallbackHandler.h to CallbackHandlerFMOD.h and adjusting the .generated.h reference to #include “CallbackHandlerFMOD.generated.h” within the file.

As mentioned the UHT is removing the “FMODC” part of the filepath - I assume the C is chopped because it assumes an extra character after the FMOD (i.e. FMOD/).

Maybe I’m simple minded but it worked… :smiley:

1 Like

That is also a valid solution and one we contemplated, a problem we always need to worry about is compatibility with projects that are updating FMOD versions and changing the name could break any project which is already using it. Which is why we moved it, so that the name doesn’t change, and redirected the old file to the new one in case that one gets used.

:100:

1 Like