An archive of past version defects.
If there is a recurrence, please report it to the Bug Report Forum.
Contents
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
- Download the following zip file.
Unity3.7.3_DyamicUtility_Patch - Unzip and import into Unity project
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.