BuildFailedException: No FMOD platform found for build target PS5

Hello, I’m attempting to produce a build for PS5 and getting a BuildFailedException. I don’t get this error when building via the Build Settings window, but I do when built thru Unity’s BuildPipeline.

The build fails with the following:

BuildFailedException: No FMOD platform found for build target PS5.
You may need to install a platform specific integration package from
FMODUnity.EditorSettings+BuildProcessor.OnPreprocessBuild (UnityEditor.Build.Reporting.BuildReport report) (at Assets/Plugins/FMOD/src/Editor/EditorSettings.cs:632)
UnityEditor.Build.BuildPipelineInterfaces+<>c__DisplayClass15_0.b__1 (UnityEditor.Build.IPreprocessBuildWithReport bpp) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0)
UnityEditor.Build.BuildPipelineInterfaces.InvokeCallbackInterfacesPair[T1,T2] (System.Collections.Generic.List1[T] oneInterfaces, System.Action1[T] invocationOne, System.Collections.Generic.List1[T] twoInterfaces, System.Action1[T] invocationTwo, System.Boolean exitOnFailure) (at <7ac35247888b44f4a7e290f1f6bb33f3>:0)

I’m using FMOD 2.02.04 with the package for PS5 SDK 3.000. I’ve tried only re-importing the PS5 package, as well as deleting the entire FMOD plugin and re-importing both packages (base plus PS5) from scratch, but same exception occurs. No such exceptions when targeting Standalone Windows64 via BuildPipeline.

I noticed a response to an earlier post about BuildFailedExceptions mentions checking Assets/Plugins/FMOD/lib/ for the library corresponding to the target platform, though for me, all these files are under Assets/Plugins/FMOD/platforms/. Libraries for both Windows and PS5 appear in their respective folders under this platforms directory.

Thanks in advance for any help!

Also can confirm that we have FMOD content linking set up for multiple platforms, with a platform-dedicated set of banks for each in their own respective subdirectory, including one for PS5.

Have you imported the PS5 integeration package from the FMOD downloads page?
EDIT: Apolgies just re-read your post and saw that you have imported the PS5 package. I recently saw a similar issue on Xbox one and it appears to be due to a missing preprocessor directive. Can you please try adding the following to the top of Assets\Plugins\FMOD\platforms\ps5\src\PlatformPS5.cs

#if !UNITY_PS5
    #define UNITY_PS5

You may need to remove this section to avoid a naming collision with PS4:

namespace FMOD
    public partial class VERSION
        public const string dll = "libfmod" + dllSuffix;

namespace FMOD.Studio
    public partial class STUDIO_VERSION
        public const string dll = "libfmodstudio" + dllSuffix;

That fixed it! Just adding that first block was sufficient to resolve the error. Thanks so much!

EDIT: Removing that second block was also needed after all, so when targeting other platforms (e.g. Windows 64, Xbox Series, etc), the FMOD libraries could be disambiguated.

1 Like