How to manage the 4.26 switch to the generated assets that are now loaded from disk

In 4.26 the FMOD integration switched from always dynamically generating UE4 assets to serializing the generated assets and loading them from disk.

This creates major issues in managing what it seems like some kind of “temp” files that should be invisible to P4 (Or any other kind of source control system) and deleted when unreal is closed, to make sure that they are always reflecting the changes happening in the Master Bank, other banks, and Master.Strings.

Right now, if we we add them to the ignore list, they will fall out of sync when any change is done to FMOD banks, ending up with duplicated events, other kind of problems.

If we keep them under source control, they get locked and cannot be written, with error messages from Unreal.

Out of curiosity, why was the change done, and what’s the best way to manage it?

Thanks.

1 Like

Bump, we have the same issue.

Cheers.

1 Like

We are using git and are in the process of updating to 4.26. I added them to source control. Since they are only created if they are missing in UE project or deleted from UE project if they are deleted from the bank.
I did some testing creating and deleting events. If I have correct banks for my version of the project before I open UE editor I do not have any changes on the project.
I think that they should be included in source control.
To be clear we did not added banks to source control just uasset files that are created on UE editor open.

Also, we just cleaned all the .uassets from the repo and from the local workspace. Once opened Unreal, we are finding a variety of errors, with events misplaced, not reflecting the event structure in FMOD.

For example in FMOD we have an event in Events/sfx/char/flying

In unreal the corresponding .uasset is in FMOD/Eventts/flying.uasset

What’s going on here?

I have noticed something similar happening but not every time.
If I do validate project in FMDO Studio and then I build banks all while UE is open it will create events on wrong paths and delete events on right paths and because of this ue window will pop up offering to replace references because assets are missing.
To resolve this I just close ue editor and discard all changes rebuild banks and when UE is opened everything is ok.

I don’t have 100% reproduction of this issue.

Okay, after three days of testing, we came to the conclusion that you want to add to the ignore list the whole FMOD folder inside Content, with the exception of the platform bank folders (Desktop, PS4, Switch, and etc.).

This way every time you delete an event, a bus, a bank, or you do any change to the FMOD project, Unreal will prompt a delete message, asking you if you want to delete any .uasset that no longer exist.

This is the only way we managed to keep the projects in sync. Please still advise if there are better option to manage this change.

Do you have issues with packaging?
At first I was thinking of doing the same but we had issues with packaging.
We use Jenkins and batch script to create daily build. If FMOD uasset files are missing they are not created when running packaging from command line so packaging will fail.

I have attempted to reproduce the conditions mentioned but have not come across any errors or issues. Are you able to share any logs from when these occur?

After some time our workflow is like this, every person on the team have fmod installed and everything is included in git. Both Ue4 and Fmod projects. So everytime somebody pulls they start a script that opens fmod, rebuilds localy and closes it.
That way we don`t need to sync banks, just work in Fmod and push.
That script is done pretty fast, takes like few mins tops.