As a few users reported (@fendercodes comes to mind), AppUI shaders were added to your builds making it heavier than desired. Starting with AppUI pre-12 you can now opt out from adding these shaders. Here’s the relevant changelog line for AppUI 2.0.0-pre12
App UI shaders are now optionally embedded in Player builds. You can change this setting in your main App UI settings instance. The default value is true.
Please note I’m still in discussions with AppUI to see if we can make this false by default but there is no a way to disable them
One of the original reports I’ve found about this:
I asked if it “means AppUI will still do work at runtime or is that going to be disabled also if they disable the shaders” and they said it shouldn’t be doing anything as the only init it should do if you disable the shaders is to create a game object for their event dispatcher which will have nothing to dispatch.
Unfortunately when I asked if we can make AppUI runtime opt-in instead of opt out they said no because AppUI is meant to be for runtime, so we need to see what we can do here…
I also asked about the impact on the build footprint, to which I’m told its effect will be limited to the size of assemblies. The biggest footprint is when you start using the App UI theme stylesheet, but if that’s not present in any of your scenes then it won’t be there and nor of its dependencies (font, icons etc)
Edit: added info about AppUI at runtime operation.
@ShaneeNishry I’m sensing that maybe you agree with me on AppUI being a bit too intrusive into user projects?
Generally speaking, they should really assume that developers don’t want any of their logic running in our runtimes. Especially if the only purpose of AppUI being included is because Behavior needs it to do some sort of editor-time rendering?
AppUI is not just for Behavior, it’s quite an excellent runtime UI tool collection
But outside of that, the AppUI lead worked last evening to get us a solution and after their next release we should have a flag to completely remove it from builds unless the user overrides the settings
I think the replies from the Unity staff in this thread have confused several people about AppUI. They made it out to be an internal package that shouldn’t be used in production.
Hi Fendercodes,
AppUI was created in my group and you can use it anywhere you want. The licence is the Unity Companion Licence so knock yourself out with it in prod.
That being said, you have to know that it is a very little team on it, we didn’t have the time to QA it on every platform. Actually, we tested it the most in the editor (windows and Mac), some iOS devices and some android devices. So there’s no guarantee whatever you want to do with it, will work flawlessly.
If you’re a coder, and you’re comfortable debugging and/or fixing if there’s a problem, go for it, and have fun. If not, sorry, we can’t really offer support, we will try to answer questions when we have some time, but it’s not much
Gotcha. Thanks for the clarification. I think if it was clear on the packages page that it’s not really actively supported or maintained then that would be helpful.
Regardless, for anything that isn’t essential to be in the build at runtime - especially something without active support - it would be best that it’s completely stripped from our builds. Especially for anyone on mobile (not me) where every KB counts in their builds. It seems like Behavior only needs it in the editor so that’s good.
We have the release 1.0.7 in QA that should hopefully fix this for you.
The shaders now have a flag provided by AppUI to remove them from the build which is the default for our package now.
In addition to that, AppUI also added an editor only flag that will entirely remove its code from the build, however we’ll need to do a little bit more work to support it. Hopefully for 1.0.8. But at least for now the heavy stuff will be out
Just upgraded to 1.0.7 now. I had to manually remove the App UI shader from Graphics → Preloaded shaders section in project settings but when restarting the editor it doesn’t seem to be added automatically anymore.
I guess it would be nice if AppUI removed it for people automatically for anyone who had it installed up until now.