既知の問題(3.7.3)


過去バージョンの不具合についてのアーカイブです。

もし、再発していましたら不具合フォーラムにご報告お願いいたします。

Arbor3.7.3

IL2CPPビルドでランタイム実行中にExecutionEngineExceptionが発生する。

事前コンパイルによってジェネリック型やジェネリックメソッドのコードが除外されてしまい例外が発生する不具合。

ステータス: 3.7.4にて修正済み。

Listで発生していた問題については一部仕様となりました。
詳しくは 事前コンパイル(AOT)での制限 を参照してください。

暫定対処方法

DynamicUtiltiyで発生している場合

Listのデータフローで発生している場合

  • Assets/Plugins/Arbor/Internal/Scripts/List/ListAccessor.csを開く。
  • 371行目を以下のように変更する。
    public sealed class ListAccessorInternal<T> : ListAccessor
    
  • Assets/ScriptsフォルダなどにAOTCodeGeneration.csファイルを作成。
  • 以下のようなコードを記入。
    using UnityEngine;
    using UnityEngine.Scripting;
    using Arbor;
    
    [Preserve]
    public class AOTCodeGeneration
    {
    	public class AOTList<T>
    	{
    		public ListAccessorInternal<T> accessor = null;
    		public ListParameterBase<T> parameter = null;
    	}
    
    	public AOTList<Vector3> vectorList = new AOTList<Vector3>();
    	// 以下、例外が発生している型全て
    }
    

補足

  • ListAccessorInternal, ListParameterBaseについてはArbor内部での対処方法を検証中。
  • ListなどArbor外のジェネリック型やジェネリックメソッドについてはドキュメントに注意点などを記載予定。

Privacy Preference Center

Your Privacy

This site uses cookies to display contents and advertisements tailored to users, provide social media functions, measure advertisement impressions and clicks. We also gather information on users' site usage status and provide them to social media, advertisement distribution and data analysis partners. Each partner may use this information in combination with other information that the user provided to each partner or other information gathered when the user used the service of each partner.

Analytics, Ads