Every megabyte is a drop-off
A brand experience competes with a back button. Asset streaming, texture budgets and load ordering are commercial decisions before they are technical ones.
Technology lead for Digital Village (VLGE) across browser-delivered 3D brand experiences for L’Oréal, including the Lancôme Happiverse. Three builds: a WebGL marketing game experience, an interactive 3D world-building product, and headset-delivered brand environments. The work was Unity development, WebGL delivery, UX flow, performance optimisation and the technical foundations underneath all three.
Every decision on this kind of work traces back to one tension. The brand side wants skin that reads as skin, hair that moves, garments that drape, and an environment that looks like the campaign. The delivery side is a browser: no install, a download budget measured in seconds of patience, a memory ceiling you will hit, and a graphics API a generation behind what the art was authored for.
Technology leadership on a project like this is not choosing the most impressive technique. It is deciding where the budget goes — and, more often, where it does not.
A brand experience competes with a back button. Asset streaming, texture budgets and load ordering are commercial decisions before they are technical ones.
Browser 3D fails hard, not gracefully. Staying under the ceiling on mid-range devices constrains avatar counts, texture resolution and scene complexity from the first day of the build.
Faces and hair carry a beauty experience. Foliage, architecture and props do not. The wireframe above shows exactly where the triangles went.
A brand experience is judged on how it feels, but it stands or falls on a handful of infrastructure choices made early, when nobody is looking at it yet.
Generated digital human avatars with a dedicated hair system, so faces are produced by a pipeline with a controllable budget rather than hand-authored one at a time. That is what makes personalisation and variety affordable instead of a per-character cost.
A networked layer carrying avatar presence and identity through the world. A branded environment with nobody in it reads as a screensaver; other people in it reads as an event.
Responsive WebGL templating, proper text input handling from the browser into the engine, and an optimisation pass over the build. None of it shows up in a pitch deck. All of it decides whether the thing is usable on a phone.
Geospatial and AR toolkits were brought in alongside the browser work, so brand environments could extend to real-world placement rather than being locked to a screen.
Visitors gather things as they explore — roses, seeds, petals, cards — with the counts on screen. A branded space with nothing to do in it is a corridor; a small loop gives a reason to reach the second room.
On-screen movement and action controls in a portrait layout, rather than a desktop build rotated sideways. That decision constrains the camera, the UI scale and the environment scale, so it has to be made early.
A brand world has to hold three different jobs at once: a place worth walking through, people worth seeing, and a product moment that does not feel like an advert bolted onto a garden.



What this proves: browser-delivered brand 3D is an engineering discipline with a fixed budget, not a rendering problem. The projects that fail are usually the ones that treated the budget as a late optimisation task rather than the design constraint.
The interesting question is rarely whether it can be built. It is what has to be given up to make it load, and who decides. That is worth settling before the art is signed off, not after.