Search Unity

Apple rejecting apps built with burst compiler

Discussion in 'Entity Component System and C# Job system' started by FrankvHoof, Jan 11, 2019.

  1. FrankvHoof

    FrankvHoof

    Joined:
    Nov 3, 2014
    Posts:
    31
    When uploading an (iOS) app to TestFlight, Apple rejected it over the fact that Burst Compilation had been enabled. The lib_burst_generated.bundle is seen as a standalone executable, which apparently is not currently allowed by Apple. Is there any communication between Apple and Unity about this?
    https://gyazo.com/2b99235d40444c62084be7993b862bc0
     
  2. xoofx

    xoofx

    Unity Technologies

    Joined:
    Nov 5, 2016
    Posts:
    100
    Thanks for bringing this up to our attention.
    As burst is still in preview/alpha, we haven't had a chance to check with TestFlight for iOS, we will have to find a fix for this in a future release. We will keep you informed.
     
    GilCat, tarahugger, any_user and 4 others like this.
  3. StevenTicToc

    StevenTicToc

    Joined:
    Mar 16, 2018
    Posts:
    1
    We are also seeing this same exact error. We've been uploading to testflight regularly and just recently (2 weeks ago) started seeing this error with a build that hadn't changed aside from some textures, so I'd assume this is something that recently changed on apples end.
     
  4. xoofx

    xoofx

    Unity Technologies

    Joined:
    Nov 5, 2016
    Posts:
    100
    Really?! That's quite unexpected... I don't know what to say. At the time we implemented this feature using dynamic library, we wanted to use the same loading model across all platforms, and while checking for iOS support for dynamic libraries on Internet forums, we found contradictory claims about it, but when testing in dev mode it was working smoothly. But we didn't go up to verify this with TestFlight.

    We are working on bringing static linking support for burst but it not be available before a few weeks (including the release of Unity editor/engine patches and backports)
     
  5. rizu

    rizu

    Joined:
    Oct 8, 2013
    Posts:
    836
    I hope you implement this on Windows IL2CPP standalone as well. While not critical (like the Apple issue), would be nice to get rid of that extra dll there.
     
    hippocoder likes this.
  6. capyvara

    capyvara

    Joined:
    Mar 11, 2010
    Posts:
    68
    So this blocks any burst iOS app basically? any temporary workarounds (like disabling burst globally)?
     
  7. 5argon

    5argon

    Joined:
    Jun 10, 2013
    Posts:
    1,019
    Uncheck enable burst compilation in the top menu?
     
    protopop likes this.
  8. capyvara

    capyvara

    Joined:
    Mar 11, 2010
    Posts:
    68
    I thought it was a editor-only toggle
     
  9. rizu

    rizu

    Joined:
    Oct 8, 2013
    Posts:
    836
    It affects builds too atm. I hope they add a more clear setting in the player settings in the future.
     
  10. samloeschen

    samloeschen

    Joined:
    Mar 22, 2010
    Posts:
    268
    Hello, is there any ETA on a fix for this, or does anyone have ideas for a potential workaround? Our iOS game relies critically on Burst performance so we are stuck at the moment.
     
    Mr-Mechanical and any_user like this.
  11. any_user

    any_user

    Joined:
    Oct 19, 2008
    Posts:
    327
    We‘re in a similar situation. I‘d love to know what‘s the roadmap for this.
     
    samloeschen and Mr-Mechanical like this.
  12. Joachim_Ante

    Joachim_Ante

    Unity Technologies

    Joined:
    Mar 16, 2005
    Posts:
    4,356
    We are working on fixing it at the moment.
     
  13. FrankvHoof

    FrankvHoof

    Joined:
    Nov 3, 2014
    Posts:
    31
    Not sure if this is related, but the (new) Transform-System seems to be broken on IL2CPP as well (IL2CPP being the only available backend on iOS). Working fine on Mono (Android) though.
    When building with Burst enabled, it throws errors about not being able to find getters & setters.
    https://gyazo.com/a2d654acb17b771369a4999355f9f95b
    When building with Burst disabled, it just throws a simple "burst_lib not found"-error.

    Issue Tracker: https://issuetracker.unity3d.com/issues/il2cpp-ecs-transforms-break-on-il2cpp-backend
    Other forum post: https://forum.unity.com/threads/2018-2-ecs-il2cpp-for-windows-desktop-build-crashes.527418/
    Using latest versions of all applicable packages at time of writing.
     
  14. any_user

    any_user

    Joined:
    Oct 19, 2008
    Posts:
    327
    Is there any news about this? Any estimation of when we can expect this resolved would be helpful (is it days, weeks, months, years?). We have to decide if we should invest time in a more performant non-burst version of the critical parts or not.
     
    samloeschen likes this.
  15. Lee_Hammerton

    Lee_Hammerton

    Unity Technologies

    Joined:
    Jul 26, 2018
    Posts:
    5
    Apologies for the delay on this feature - we had to wait for some changes in unity to land.
    However, the next burst preview (46) which should be out this week, will contain the changes to make burst generate static libraries when targeting iOS. This should resolve the TestFlight issues you were seeing. Please note however you will need to be using at least Unity 2018.3.6f1 or 2019.1.0b4, as the required changes to utilise static linkage landed in those builds.
     
  16. Carpet_Head

    Carpet_Head

    Joined:
    Nov 27, 2014
    Posts:
    73
    Thanks for the update, keep up the good work!
     
  17. any_user

    any_user

    Joined:
    Oct 19, 2008
    Posts:
    327
    Thanks, that was faster than expected!
     
  18. Lee_Hammerton

    Lee_Hammerton

    Unity Technologies

    Joined:
    Jul 26, 2018
    Posts:
    5
    Last night Burst 0.2.4-preview.50 went live. This contains the changes for static linkage, please remember to make sure you are on at least 2018.3.6f1 or 2019.1.0b4.
     
    protopop, FrankvHoof, 5argon and 3 others like this.
  19. any_user

    any_user

    Joined:
    Oct 19, 2008
    Posts:
    327
    Just made a build and uploaded it sucessfully to testflight. Thanks for the update!
     
    protopop and Lee_Hammerton like this.
  20. Lee_Hammerton

    Lee_Hammerton

    Unity Technologies

    Joined:
    Jul 26, 2018
    Posts:
    5
    Glad to hear it :)
     
    hippocoder and samloeschen like this.
  21. samloeschen

    samloeschen

    Joined:
    Mar 22, 2010
    Posts:
    268
    Working great here too. Thank you for all the hard work!
     
    Lee_Hammerton likes this.
  22. FrankvHoof

    FrankvHoof

    Joined:
    Nov 3, 2014
    Posts:
    31
    Not all heroes wear capes.
    Thanks for this :D
     
    FROS7 and Savoury_SnaX like this.
  23. rizu

    rizu

    Joined:
    Oct 8, 2013
    Posts:
    836
    Is there any plan to extend static linking to other platforms when using IL2CPP? I'd love to have this on desktop as well (I'd really like if IL2CPP builds with Burst would not spread into multiple dll's like happens now).
     
  24. Lee_Hammerton

    Lee_Hammerton

    Unity Technologies

    Joined:
    Jul 26, 2018
    Posts:
    5
    It is certainly something we are considering down the line.
     
    FROS7 likes this.