I've had the fortune of being lead artist for the Bang & Olufsen AR Experience app these last couple of years. A job requiring both a very solid grip on optimization of both 3D- and texture data. Since the app lets you customize and animate the products, a lot goes into setting up the internal logic of the models and materials. For instance. every mesh needs a specific name to make it possible for the code to switch parts out on the fly.
A peek inside the Unity editor and the basic functionality. The material switching is made possible by code and at run time.
The same basic set up works for webGl.