Go easy on the game design and the art — the whole thing was put together to show the engine off. The cows came out rather nice, though.
The UI layer
Menus, the HUD and every button are built from the same UI system, laid out in the editor rather than positioned from code. Elements anchor to the edges and corners they belong to, so the layout is described once and holds wherever it lands. The windows lean on ScrollRect for scrolling lists, on the Layout components for arranging their contents, and on RectMask2D to clip whatever runs past the edge. Text is drawn from SDF, so labels stay crisp at whatever scale the layout puts them at.
Atlas baking
Every sprite drawn from its own texture is a separate draw call, and draw calls are what a browser runs out of first. Baking those textures into one atlas lets the renderer batch them: the same frame, the same pixels, far fewer calls to the GPU.
The editor bakes the atlas as part of the build, so this is not something to remember to do. The shots below are the same scene built both ways, with the counter left on screen — the only honest way to show the difference.
Responsive layout
A web game does not get to pick its screen. It opens inside a portal frame, on a phone held either way, on a desktop window someone is actively dragging. The sample handles all of it through anchors and scaling rules rather than a set of fixed breakpoints.
What it weighs
Numbers only mean something next to other numbers, so here is the farm against a game of the same kind from a real portal: Bulba Clicker on Yandex Games — also a clicker, also built in Unity, with artwork of a comparable weight.
| ScopeBee | Unity | |
|---|---|---|
| Downloaded | 2.01 MB | 13.20 MB |
| Unpacked | 5.08 MB | 50.25 MB |
| Heap snapshot | 29 MB | 140 MB |
Both measured the same way: everything the browser pulls on a cold load, then the same files unpacked, then a Chrome DevTools heap snapshot on an idle scene.
Try it
The build runs in the browser, so the UI, the atlas and the layout can be poked at directly rather than taken on trust.