WebAR + Final Download Size


I wanted to pose a general question to y’all.

Background: I’m working on a rather large mural (currently around 18 feet wide by 8 feet tall) that has a lot of tiny assets. Since they need to be transparent, I’m having to export things as PNGs (and I’m now going back and re-exporting at smaller sizes to see how far I can push it) but because the overall experience is going to have a lot of moving parts, the experience is getting large rather quickly.

Question: I know the “best practice” is to keep WebAR under 5MB final download, but if I can ensure a decent/good internet connection, how much should I/would you worry about final download size? The mural is going to be installed in a hospital waiting room, with ample wi-fi access.


I guess it’s up to you. I have had zaps as big as 30 - 50MB that worked just fine. It just takes a min to download.



I appreciate the reply, Steve!
I suppose if people are stuck in a waiting room, they may not mind a minute or two of load time :wink:


Worth noting that you can load image textures / audio / video / 3D objects while the AR thing is running, if that helps speed up the initial download, but it takes a bit of scripting. If you know users aren’t going to need a particular bunch of assets when they first launch the AR experience, you could take them out of the project and load them up in the background. They’d have to be hosted somewhere publicly accessible (eg Dropbox / AWS).

Could be worth getting everything working first, and then look into streamlining things.


Can you elaborate more about how much scripting that sort of thing will take? I’m not afraid to do some scripting, so I might have to keep this in mind for later.


What are you wanting to load?
image textures / audio / video / 3D objects



Right now just images, but potentially video and audio. I don’t think 3d models will be in the scope of this, but since the project as a whole is still in the “let’s see what we can do”, anything’s on the table


Hare is some code you can try.

Load texture from URL.zpp (132.4 KB)

Now @howiemnet has a post for hosting it on Dropbox that works nice as well.



Thanks, steve! I’ll take a look once I get things running and start optimizing my experience :slight_smile: You’re the best (and so is @howiemnet !)


Important to know:
instead of importing png, you can import 2 jpg of the same size for each image, one RGB and the other black and white which works as mask. Then you have to create a material by calling these two jpgs in the properties and choosing r. Give to the png the new material and delete the png.
The sum of the two jpgs weighs less than the png.
Another trick is to save the png in color scale, it weighs less.
Finally at this link you can reduce the weight of the png without altering the quality!