What is the current status on burst with webgl - our jobs seem to be running fairly slowly on webgl - though it has an obvious lack of threading support - I’m curious if the jobs are burst compiled or not?
Burst is not currently supported on webgl unfortunately. Jobs will simply compile the same as they would without any BurstCompile attributes.
Got it. I did see an old forum thread somewhere saying it was being worked on last year. It is on the roadmap, or unlikely to happen?
At this time its not on the roadmap or being actively worked on (to my knowledge). Burst itself does support wasm as a target, but integration with Unity webgl player is the missing piece.
that’s useful information, thanks
If we wanted to try integrating it ourselves, where would we start?
Hi,
Unfortunately I don’t think that this is possible to do without some engine work, The burst package uses the player target to decide what to build, at present the burst package does not do anything for webgl (its ignored). On top of this, the web gl player would need to be modified in order to provide the right interface for plugging into burst wasm generated code. Sorry If I got your hopes up too much, I didn’t mean to imply that it would be trivial. Burst currently generates wasm internally (which is used for verifying behaviour - ie Continous Integration - against a simply chrome browser), the only way at present to use burst and wasm in Unity would be to use Project Tiny.
Lee
just a very small poke to say we would really love this and it would be a super powerful feature to have. We have a lot of features that rely on burst, and it would be great to be able to expose it to people on web. Without it, our code is so slow!
Any news about it in 2023 ?
Hi @Zarbuz - no news, unfortunately. Burst support for WebGL isn’t something that’s been prioritised - it’s not being worked on, and it’s not on the roadmap.
Considering the vast improvements coming to mobile with webGL with Unity 6 I would love to see this prioritized!
Is Burst integration on the roadmap for WebGPU?
As far as I understand DOTS on WebGL is dead because there is no planned support for compute shaders in WebGL - we are waiting for WebGPU.
But if there is no roadmap yet for Burst/WASM integration with WebGPU (the “missing piece”), then DOTS for any web platform is not looking good.
Hi!
After your messages here @Zarbuz , @Carpet_Head , @sacb0y and @axmsw we discussed it a bit more internally. We currently don’t have any firm plans to add Burst support for the WebGL platform, but we could see it happening in the future. We appreciate everyone sharing that it’s a feature that would be helpful to you. Taking that with us so we can consider it in future discussions.
There’s some crucial tools like Magica Cloth that would cause major barriers to some games having WebGL versions.
I hope it comes to the roadmap soon!
I can understand that for WebGL, but what about “the web” as a platform and the coming (or already here) WebGPU API. Technically I understand Burst is part of the WASM roadmap and WASM now supports threads on the major browsers, so it seems there is not much left but Unity to decide whether it wants to move forward. The capabilities are there.
If you are saying there are no plans for Burst on the web platform, it seems to mean there are no plans for ECS/DOTS on the web platform. Or are you just saying you consider WebGL legacy (due to lack compute shaders), and the focus is on WebGPU?
Can you confirm Unity has no firm plans to support DOTS/ECS on the web platform - WebGL or WebGPU - if there are no plans to support Burst on either? That would be quite a big deal.
Thanks!
Is there a way to see the Burst-optimized code somehow?
Then I can just refactor my Jobified code to use the same optimized syntax, and not worry about the BurstCompiler attribute not working.
Or is that thinking too naively?
Hi @ForgottenDreamcat !
You can see Burst-optimized code via the Burst Inspector (here’s documentation on how to use it). That way you can see exactly how Burst has optimized your jobs :).
Note however that Burst optimizes and outputs code on the assembly level, so the output produced by Burst is on a lower level than C#.
Hiya @axmsw !
I just double checked with the team regarding plans for WebGPU, WebGL and web as a platform Burst support. For all three it’s something we might do in the future, but we don’t have any firm plans now.
it’s at least great to see this conversation alive - thanks for listening and responding