Building with "remove trait" effect throws burst error

,

To reproduce :

  • Create new project (Unity 2020.1.12f1).
  • Add AI Planner 0.2.4-preview.3.
  • Create semantic trait “TraitToRemove”
  • Create ai planner action “RemoveTrait” with a single parameter containing TraitToRemove
  • Create an Object ModifiedRemove Trait effect on RemoveTrait
  • Create ai planner problem “RemoveProblem” containing RemoveTrait
  • Run SemanticTraitsBuild
  • Run AiPlannerBuild
  • Run FileBuild And Run generates
(0,0): Burst error BC1001: Unable to access the managed method `object.Equals(object)` from type `Generated.AI.Planner.StateRepresentation.RemoveProblem.TraitBasedObject`

at Generated.AI.Planner.StateRepresentation.RemoveProblem.StateData.RemoveTraitOnObject(Generated.AI.Planner.StateRepresentation.RemoveProblem.StateData* this, ref Generated.AI.Planner.StateRepresentation.RemoveProblem.TraitBasedObject traitBasedObject)
at Generated.AI.Planner.Plans.RemoveProblem.RemoveTrait.ApplyEffects(Generated.AI.Planner.Plans.RemoveProblem.RemoveTrait* this, Unity.AI.Planner.Traits.ActionKey action, Generated.AI.Planner.StateRepresentation.RemoveProblem.StateEntityKey originalStateEntityKey)
at Generated.AI.Planner.Plans.RemoveProblem.RemoveTrait.Execute(Generated.AI.Planner.Plans.RemoveProblem.RemoveTrait* this, int jobIndex)
at Unity.Jobs.IJobParallelForDeferExtensions.JobParallelForDeferProducer`1<Generated.AI.Planner.Plans.RemoveProblem.RemoveTrait>.Execute(ref Generated.AI.Planner.Plans.RemoveProblem.RemoveTrait jobData, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, ref Unity.Jobs.LowLevel.Unsafe.JobRanges ranges, int jobIndex)

BuildFailedException: Burst compiler (1.3.7) failed running

stdout:
stderr:
(0,0): Burst error BC1001: Unable to access the managed method `object.Equals(object)` from type `Generated.AI.Planner.StateRepresentation.RemoveProblem.TraitBasedObject`

at Generated.AI.Planner.StateRepresentation.RemoveProblem.StateData.RemoveTraitOnObject(Generated.AI.Planner.StateRepresentation.RemoveProblem.StateData* this, ref Generated.AI.Planner.StateRepresentation.RemoveProblem.TraitBasedObject traitBasedObject)
at Generated.AI.Planner.Plans.RemoveProblem.RemoveTrait.ApplyEffects(Generated.AI.Planner.Plans.RemoveProblem.RemoveTrait* this, Unity.AI.Planner.Traits.ActionKey action, Generated.AI.Planner.StateRepresentation.RemoveProblem.StateEntityKey originalStateEntityKey)
at Generated.AI.Planner.Plans.RemoveProblem.RemoveTrait.Execute(Generated.AI.Planner.Plans.RemoveProblem.RemoveTrait* this, int jobIndex)
at Unity.Jobs.IJobParallelForDeferExtensions.JobParallelForDeferProducer`1<Generated.AI.Planner.Plans.RemoveProblem.RemoveTrait>.Execute(ref Generated.AI.Planner.Plans.RemoveProblem.RemoveTrait jobData, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, ref Unity.Jobs.LowLevel.Unsafe.JobRanges ranges, int jobIndex)


Unity.Burst.Editor.BurstAotCompiler+BclRunner.RunProgram (UnityEditor.Utils.Program p, System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, UnityEditor.Build.Reporting.BuildReport report) (at Library/PackageCache/com.unity.burst@1.3.7/Editor/BurstAotCompiler.cs:856)
Unity.Burst.Editor.BurstAotCompiler+BclRunner.RunManagedProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, UnityEditor.Build.Reporting.BuildReport report) (at Library/PackageCache/com.unity.burst@1.3.7/Editor/BurstAotCompiler.cs:794)
Unity.Burst.Editor.BurstAotCompiler+BclRunner.RunManagedProgram (System.String exe, System.String args, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, UnityEditor.Build.Reporting.BuildReport report) (at Library/PackageCache/com.unity.burst@1.3.7/Editor/BurstAotCompiler.cs:768)
Unity.Burst.Editor.BurstAotCompiler.OnPostBuildPlayerScriptDLLsImpl (UnityEditor.Build.Reporting.BuildReport report) (at Library/PackageCache/com.unity.burst@1.3.7/Editor/BurstAotCompiler.cs:441)
Unity.Burst.Editor.BurstAotCompiler.OnPostBuildPlayerScriptDLLs (UnityEditor.Build.Reporting.BuildReport report) (at Library/PackageCache/com.unity.burst@1.3.7/Editor/BurstAotCompiler.cs:163)
UnityEditor.Build.BuildPipelineInterfaces.OnPostBuildPlayerScriptDLLs (UnityEditor.Build.Reporting.BuildReport report) (at <20b79eb59c0f467d8b1106b2110bc953>:0)
UnityEditor.EditorApplication:Internal_CallGlobalEventHandler()

Error building Player: 3 errors
1 Like

Thanks, I will test and fix that for our next patch release!