"ExecutionEngineException" when using the Check Function Condition Task in iOs

NodeCanvas Forums Support "ExecutionEngineException" when using the Check Function Condition Task in iOs

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #14469
    eduardo
    Participant

    Hello 🙂

    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!

    Attachments:
    You must be logged in to view attached files.
    #14474
    eduardo
    Participant

    Looks like the same exception occurs when using the “Implemented Action” Action.

    #14475
    Driiade
    Participant

    I have similar Bug with code like this : using NodeCanvas.Framework;
    using ParadoxNotion.Design;
    using System;

    [Category(“Utility”)]
    public class IndicateCurrentState<T> : ActionTask<StateProvider> where T : Enum {

    protected override string info => $”Indicate {state} state”;

    public T state;

    protected override void OnExecute()
    {
    agent.SetCurrentState<T>(state);
    EndAction();
    }

    }

    And it will be cool NodeCanvas Generate AOT for this case

    #14495
    Gavalakis
    Keymaster

    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? 🙂

    Thanks!

    Join us on Discord: https://discord.gg/97q2Rjh

    #14506
    Driiade
    Participant

    Hello Gavalakis 🙂

    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.

    #14515
    eduardo
    Participant

    Ahh I see, I missed that bit on the documentation. Thanks, Gavalakis!

Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.