4.27 FMOD 2.02.03/04 - Creating New Port results in 'Attempted to create package with name containing double slashes'

Hi Firelight!

We’ve run into an issue where Unreal crashes due to a double slash in the file path that refers to a newly created port (the first port in the project). Even though adding new events works fine, adding a port crashes the engine upon reloading the newly built master bank.

It seems very familiar to an earlier issue that was addressed and solved in this thread. But where that issue derived from an additional prefix ‘/Game/’ being added to the path, here there’s a slash added right before the new port’s name:

Error: Attempted to create a package with name containing double slashes. PackageName: /Game/FMOD//New_Port

Since we’ve been using the patch1 version of 2.02.03, we tried the other solution listed in the Known Issues thread. However, deleting the ContentBrowserPrefix line from DefaultEngine.ini and re-entering it in UE hasn’t resolved the issue.

We also tried building with 2.02.04, but we get the same error.

Lastly, /Game/FMOD/PrivateIntegrationData was deleted from our Additional Asset Directories a while ago already.

We’re kind of stuck and would greatly appreciate your help in tackling this problem!

Thank you for reporting this issue, this is a bug that arrived in 2.02.03. I have passed it along to our Dev team to fix in the next release. Here are the recovery steps to get the integration working correctly again:

  1. Close the Unreal project
  2. Delete everything in the “Saved” directory
  3. Remove the newly created port in FMOD Studio
  4. Rebuild banks

We should have a fix soon, in the meantime you could attempt to replace occurrences of “//” with “/” on the SanitizedPackagePath FString variable in FMODAssetBuilder::CreateAsset before passing it to CreatePackage. i.e

// UnrealProject\Plugins\FMODStudio\Source\FMODStudioEditor\Private\FMODAssetBuilder.cpp
// FMODAssetBuilder::CreateAsset Line 467
UPackage* Package = CreatePackage(*SanitizedPackagePath.Replace(TEXT("//"), TEXT("/")));

Hi Jeff, thanks for getting back to us! Glad to hear this’ll be fixed in an upcoming release, and thanks for the solution we can use in the meantime. We’re gonna go and give this a try! Cheers!