When the banks on a given machine change (eg. from source control or locally built) the FMOD plugin will attempt to generate any new assets and modify any that require modification. This will occur if the editor is open or the next time it is opened. If events, buses, etc have been added or removed from the FMOD Studio project, the AssetLookup.uasset will be modified and checked out of source control (as exclusive checkout, which appears to be the default for .uasset files).
Hypothetical:
- Sound designer builds new banks and checks them in to perforce.
- Game designer gets latest and opens unreal project.
(At this point the banks and generated assets are out of sync).- The FMOD plugin detects the difference, modifies the AssetLookup.uasset. This is now checked out in perforce/source control. (But not checked in yet.)
- The next person attempts to get latest and open the unreal project.
- The FMOD plugin detects the difference, now when it tries to modify the AssetLookup.uasset it is already checked out (as exclusive checkout) and UE throws a warning dialog.
Basically the AssetLookup.uasset is being checked out on one machine because the banks have changed, then other machines are trying to do the same thing and hitting a wall because the .uasset is already exclusively checked out.
Initially these files were needed in source control if you are running a build server that doesn’t open the editor (which triggers the asset generation), but now we have support for the Commandlet which can be run from command line and will generate the required assets.
We are looking into ways we can improve the workflow but for now we can recommend removing the generated assets from source control and using the commandlet if using a build server.