I believe I have found a bug when using Check Functions on iOs builds. I get the following error when the Check Function Condition task is initialized:
ExecutionEngineException: Attempting to call method ‘NodeCanvas.Framework.Internal.ReflectedFunction`1[[NodeCanvas.Framework.Status, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]::.ctor’ for which no ahead of time (AOT) code was generated.
This only seems to happen on iOs builds, Android is fine. I am using unity 2018.3.14
I have attached the full error log in case that helps. Thank you for your help!
Hello and very sorry for late reply due to summer vacation!
@eduardo: Please make sure that you are using the Script Control tasks found under the “Script Control/Multiplatform” category instead of the Standalone category. The tasks in the Multiplatform category are especially made to work with AOT platforms (like iOS is), while the ones in the Standalone, are made for JIT platforms (like Android or desktop).
Also, you will need to please generate the AOTClasses.cs and link.xml files (any time before build) through the Preferred Types Editor for AOT platforms. Here is a link to the relevant documentation: https://nodecanvas.paradoxnotion.com/documentation/?section=working-with-aot-platforms
Within that Preferred Types List, you will just need to add the type you are working with within NodeCanvas (if the type is not already in the list like most common ones are).
@driiade: Can you please provide a bit more info? What kind of bug? Is it relevant to the above? 🙂
Yes it’s the same sort of error. Just on IOS this task is not defined and IOS can’t find this task on Deserialization. I can fix it by just creating a script with defined Enum. But it would be very cool to have this sort of template working on the AOT generator.