I get the following error in the console occasionally. I can't access the jobs menu cos I'm on linux (known bug). Is there some other way I can disable the burst compiler via config file or scripting define symbol?
I know there is, but I never really had to play with file directly. Someone will be better to answer that. However, what I would suggest, just create new project, and copy assets folder only to it. That would be the cleanest and safest way of doing things.
Thanks for reply Antypodish but I don't understand what you mean about copying the assets folder to a new project? Do you mean without burst installed somehow?
I don't really get what he's saying either. If you can't access menu you'll probably either need to look at source to see what toggling the menu buttons does and replicate the behaviour another way or just remove the burst tag using search/replace [BurstCompile] with //[BurstCompile] throughout the entire project.
I mean, if something is broken in a project files, from what I understand, I would recreate new project, and install relevant packages again, hoping for fix. Then I can physically copy, or import asset folder. If that makes sense. Commenting out as per @tertle may be option, assuming this is reason for an issue.
Ah ok, thanks Antypodish. I'm trying to find out what's causing the exception though than avoid it. Thanks Wobes, I've already commented out my own burst jobs (only had two) so I think the exception is occurring within Unity's own burst jobs somewhere but perhaps related to me not cleaning something up. Thanks Tertle, that was a great idea. Didn't even occur to me. EditorPrefs.SetBool("BurstCompilation", false); The errors are random so will have to wait for it to pop up now.
There's nothing out of the ordinary with the jobs worth printing. Just simple IJobProcessComponentData ones. E.g. Code (CSharp): [BurstCompile] struct Job : IJobProcessComponentData<Engine, RigidBody2D> { public void Execute([ReadOnly] ref Engine engine, ref RigidBody2D rigidBody) { float2 force = engine.fwdVector * engine.thrust(); RigidBody2D.AddRelativeForce(ref rigidBody, ref force); } } It's possible there's something wrong with my code somewhere, maybe the hybrid side of things, but I'm fairly certain it's just more linux gui errors as I get lots of those. This ones just hidden behind the burst compiler so I can't see it. I've disabled burst though so I'll find out soon enough.
Sorry Antypodish, my post was too subtle. I have my own RigidBody2D IComponentData with a captial B for Body which is different to Unity's Rigidbody2D MonoBehaviour which has a lowercase b for body.
Ah right I see what you mean now. You are right, but that is just semantic Rigid body is just one of these Unity things, with naming inconsistency. Hence I don't like Rigidbody (with baby b). In Unity you got GameObjects, FixedJoints etc. Even NVIDIA PhysX SDK 3.4.0 Documentation » User's Guide » https://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/Manual/RigidBodyDynamics.html capitalise it
"EditorPrefs.SetBool("BurstCompilation", false);" This allows me to build via my build system, but why does it work?
Because then it build your project without compilation, in the editor go to project settings->burst aot settings->burst compilation, you can manually disable burst compilation and build your project. I had the same problem when i ported my android project to ios,but i can't seem to work with burst compilation enabled ,any help would be appreciated. y help ?
Ahh just dropped by, now seeing issues with LTS, Trying to look into why with Burst a project build takes 20minuttes, where most of that time is AOT stubs.. Disable burst and a full build is <10 minuttes. Not happy with the increased build time.
@Vaupell in Burst 1.8, player builds are incremental. So the second and subsequent build (for a given target platform) should be noticeably quicker than the first build. But of course, it's always going to take longer to do Burst compilation than not do Burst compilation. Whether the extra build time is worth the tradeoff for the increased performance you get, is something you need to determine for your project.