Known Issues(3.7.3)


An archive of past version defects.

If there is a recurrence, please report it to the Bug Report Forum.

Arbor 3.7.3

ExecutionEngineException occurs during runtime execution in IL2CPP build.

A bug that an exception occurs because the code of generic type and generic method is excluded by precompilation.

Status: Fixed in 3.7.4

It has become a specification for some problems that occurred in List.
See Ahead-of-Time (AOT) Restrictions for more information.

Provisional coping method

If it is occurring in DynamicUtiltiy

When it occurs in the data flow of List

  • Open Assets/Plugins/Arbor/Internal/Scripts/List/ListAccessor.cs
  • Change line 371 as follows.
    public sealed class ListAccessorInternal<T> : ListAccessor
    
  • Create an AOTCodeGeneration.cs file in the Assets / Scripts folder.
  • Enter the following code.
    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>();
    	// Below, all types with exceptions
    }
    

Supplement

  • Regarding ListAccessorInternal and ListParameterBase, we are verifying how to deal with it inside Arbor.
  • Regarding generic types and generic methods outside Arbor such as List, notes will be described in the document.