When I run my game, I’m getting this error:
InvalidOperationException: Burst failed to compile the given delegate: Void AddComponentEntitiesBatchExecute(Unity.Entities.EntityComponentStore*, Unity.Collections.LowLevel.Unsafe.UnsafeList*, Int32)
attribute: Unity.Burst.BurstCompileAttribute
at Unity.Burst.BurstCompiler.Compile[T] (T delegateObj) [0x00143] in <50ec00a81a9745abb8bde7008c36568c>:0
at Unity.Burst.BurstCompiler.CompileFunctionPointer[T] (T delegateMethod) [0x00000] in <50ec00a81a9745abb8bde7008c36568c>:0
at Unity.Entities.StructuralChange.Initialize () [0x00008] in :0
at Unity.Entities.EntityManager…ctor (Unity.Entities.World world) [0x0000b] in :0
at Unity.Entities.World…ctor (System.String name) [0x00046] in :0
at Unity.Entities.DefaultWorldInitialization.Initialize (System.String defaultWorldName, System.Boolean editorWorld) [0x0001b] in :0
at Unity.Entities.AutomaticWorldBootstrap.Initialize () [0x00000] in :0
To my knowledge there’s no way Burst should be trying to compile anything. In the Jobs menu → Burst, Enable Compilation is unchecked. In Project Settings->Burst AOT Settings, Disable Burst Compilation is checked. In Project Settings->Player, the scripting backend is Mono, not IL2CPP.
This is with Unity 2019.3.0f3, Burst 1.1.2, Entities Preview.10-0.4.0. Linux, Vulkan.
Now I’m trying to build for Linux from Windows, and can’t even build because of this. I have Burst disabled, but I get the error that the Burst compiler filed.
BuildFailedException: Burst compiler (1.1.2) failed running
stdout:
Burst requires gcc/clang toolchains to be correctly installed in order to build a standalone player for Linux with X64_SSE4
Unable to find /usr/bin/clang or /usr/bin/gcc, is the gcc/clang toolchain installed?
stderr:
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.1.2/Editor/BurstAotCompiler.cs:659)
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.1.2/Editor/BurstAotCompiler.cs:597)
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.1.2/Editor/BurstAotCompiler.cs:571)
Unity.Burst.Editor.BurstAotCompiler.OnPostBuildPlayerScriptDLLsImpl (UnityEditor.Build.Reporting.BuildReport report) (at Library/PackageCache/com.unity.burst@1.1.2/Editor/BurstAotCompiler.cs:286)
Unity.Burst.Editor.BurstAotCompiler.OnPostBuildPlayerScriptDLLs (UnityEditor.Build.Reporting.BuildReport report) (at Library/PackageCache/com.unity.burst@1.1.2/Editor/BurstAotCompiler.cs:46)
UnityEditor.Build.BuildPipelineInterfaces.OnPostBuildPlayerScriptDLLs (UnityEditor.Build.Reporting.BuildReport report) (at <83a73882c51c4602b3d34743827d03e7>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
The problem was that even though I changed the setting in Unity’s Project Settings, it was not changing the actual BurstAotSettings_StandaloneLinux64.json file, so Burst compilation was still enabled.
Any luck with this? I have the same issue
Upgraded ml-agents per advice from developers and latest version allows you to disable Burst and cross build to Linux