コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】MissingMethodException: Default constructor not found for type UnityEngine.ResourceManagement.AsyncOperations.ProviderOperation

概要

MissingMethodException: Default constructor not found for type UnityEngine.ResourceManagement.AsyncOperations.ProviderOperation`1[[UnityEngine.AddressableAssets.Initialization.ResourceManagerRuntimeData, Unity.Addressables, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]
System.RuntimeType.CreateInstanceMono (System.Boolean nonPublic) (at <00000000000000000000000000000000>:0)
  • IL2CPP ビルドした iOS で
    Addressables.InitializeAsync を呼び出した時に上記のエラーに遭遇
  • link.xml が存在しなかったため関数が Strip されてしまいエラーになっていた
  • Addressable でアセットバンドルをビルドすると自動で link.xml が生成されるため
    アセットバンドルをビルドしてから ROM をビルドしたら直った
  • Addressable は link.xml を Library フォルダ内に生成するが
    Library フォルダは .gitignore で除外されてしまう

参考サイト様

https://forum.unity.com/threads/addressables-and-code-stripping-il2cpp.700883/

関連記事