Thanks, I have now reproduced this issue. AddressableAssetSettings.BuildPlayerContent() ends up calling PlayerBuildInterface.CompilePlayerScripts(), which unfortunately does not call IPreprocessBuildWithReport.OnPreprocessBuild(), which we rely on to generate the StaticPluginManager class.
I’m still looking into a way to fix this, but as a workaround you could try making Settings.PreprocessBuild() public, and calling it before calling AddressableAssetSettings.BuildPlayerContent():
FMODUnity.Settings.Instance.PreprocessBuild(BuildTarget.StandaloneWindows64, FMODUnity.Platform.BinaryType.Logging);
AddressableAssetSettings.BuildPlayerContent();
Could you put a breakpoint on EventManager.cs line 623, and compare sourceInfo with targetInfo? That may shed some light on the issue.
if (!targetInfo.Exists ||
sourceInfo.Length != targetInfo.Length ||
sourceInfo.LastWriteTime != targetInfo.LastWriteTime)
{
if (targetInfo.Exists) // <------------------------------ Breakpoint here
{
targetInfo.IsReadOnly = false;
}
This sounds like the issue reported in this thread. Can you try the solution suggested there?