The problemYour Unity game takes forever to load in a browser and stutters on phones.
Unity Game Development for Browsers and Phones, With Online Multiplayer
In shortPixel & Oak is a remote studio you can hire as a Unity developer for games that run in a browser or on a phone, from a playable prototype to online multiplayer. We built Freight Fight, a Unity 6 tank battle with online rooms, bots and touch controls, live on this site. Unity prototypes start at $5,000, at a fixed price.
People who look to hire a Unity developer usually have a game that has to run somewhere awkward: in a browser, on a mid-range phone, or online with friends. That is where Unity projects tend to stall. Browser builds take a long time to load, phones heat up and drop frames, touch controls feel like an afterthought, and multiplayer servers cost more than the game earns.
We built Freight Fight in Unity 6: a tank battle that runs in desktop and phone browsers, with online rooms joined by code, bots, four maps, power-ups and touch controls. Haider Ali directs the AI agents that write the C# and the web page around it, and plays every build before it ships.
What teams tell us when a Unity game runs well in the editor and badly everywhere else.
Our Unity WebGL build takes forever to load
Players leave before the first frame. Many hosts serve Unity's compressed files with the wrong headers, so the build either fails to start or falls back to a much slower path.
What we doBrotli-compressed builds served with the right headers, unused engine code stripped and assets loaded when needed. Freight Fight downloads about 15 MB compressed.
The game stutters on phones and on high-refresh screens
Phones slow down as they heat up, effects that look fine on a desktop can halve the frame rate on a phone, and a game capped at 60 frames judders on a 120 or 144 Hz screen.
What we doWe measure frame times, pace frames to the screen's refresh rate and set effect budgets per device. That judder was the real cause of lag in Freight Fight, and we fixed it.
Touch controls in the browser feel wrong on a phone
Unity's browser builds assume a mouse and keyboard. Virtual joysticks, the on-screen keyboard, full screen and landscape all need extra work, and players quit when the controls fight them.
What we doTouch joysticks and buttons in the web page around the game, sized for thumbs and passed straight to Unity. That is how Freight Fight plays on phones.
Online multiplayer is where the budget disappears
Dedicated servers, matchmaking, reconnects and cheating checks often cost more than the game, and a server bill arrives every month whether anyone plays or not.
What we doThe lightest server model the game allows. Freight Fight runs on a small relay on Cloudflare, billed by use, that places each room near its players.
Will Unity's pricing change on us again?
The 2023 runtime-fee plan was cancelled in 2024, but the scare made teams wary. Today Unity Personal is free under $200,000 a year in revenue and funding, and Pro is $2,310 per seat a year.
What we doWe check which plan your company needs before we start and keep the project on the license that fits. The Unity account and seats are in your name, not ours.
This is for you if
✓You want a Unity game people can play from a link, on desktop or phone
✓Your Unity WebGL build loads slowly, crashes on phones or stutters
✓You need online multiplayer in Unity without paying for servers that sit idle
✓You have a Unity project that another developer left half finished
This is probably not for you if
✕You need a large console or PC game with a big art budget. That calls for a full studio
✕Your game must ship to the App Store or Steam next month. We have not shipped a Unity store build yet
We would rather tell you now than take the project and disappoint you.
Unity game development at a glance
Prototypes from
$5,000 for a playable Unity prototype of your core loop
Prototype timeline
3–6 weeks; the full game is quoted from the prototype
Platforms
WebGL for desktop and phone browsers; Android and iPhone builds from the same project on request
Multiplayer
Rooms by code, bots, reconnects and server checks, on a relay billed by use
Unity license
Personal is free under $200,000 a year in revenue and funding; Pro is $2,310 per seat a year
Testing
Edit Mode and Play Mode tests, browser play-tests and frame-time checks
What you own
The Unity project, code, builds, accounts and every asset license
Who builds it
Haider Ali directing AI agents. He plays and signs off every build
Proof so far
Freight Fight, our Unity multiplayer tank game, live on this site
Worth knowing: Our Unity work so far is in the browser. Freight Fight runs on desktop and phone browsers, and we have not shipped a Unity game to the App Store, Google Play or Steam yet, so a store release would be our first. Many Unity agencies quote art and code as one large figure; we price the playable prototype first, so you can judge the game before paying for content.
What you get
Playable prototype
Your core loop in Unity, hosted at a link you can open on desktop and phone.
C# game code
Gameplay, cameras, input and interface in plain C#, organized so another Unity developer can follow it.
WebGL builds that load fast
Brotli compression, stripped engine code, the right hosting headers and a loading screen that shows progress.
Phone performance
Quality levels per device, effect budgets and frame pacing for high-refresh screens.
Touch and keyboard controls
Joysticks and buttons on phones, keyboard and mouse on desktop, chosen for the device automatically.
Online multiplayer
Rooms by code, bots, reconnects and server-side checks, on a relay you can host cheaply.
Automated tests
Edit Mode and Play Mode tests for the game rules, plus browser play-tests. Freight Fight has more than 300.
Art and sound
CC0 asset packs, bought assets or custom Blender models, with every license listed.
How we built Freight Fight
Freight Fight is our own Unity 6 game and the best way to judge our Unity work. You can play it on this site, in a desktop or phone browser.
→Engine and build — Unity 6 with URP, built for WebGL with Brotli and served by our own worker, so the compressed files arrive with the right headers.
→The page around it — Menus, the in-game HUD and the phone joysticks live in a light web page that talks to Unity, so the interface stays sharp and quick on any screen.
→Multiplayer — A relay on Cloudflare keeps the scores and seats for each room while each player's game drives its own tank. Rooms are placed in the region nearest their players.
→Content — Four maps, power-ups, bots, skins and colors earned with experience points, and an announcer voice from a CC0 voice pack.
→Testing — More than 300 Unity Edit Mode and Play Mode tests, plus automated online play-tests with two browsers in the same room.
Unity or plain web code for a browser game?
Unity (WebGL)
Plain web code
Best for
3D worlds, physics, many objects on screen
Light 2D games, quizzes and party games
Download size
Several megabytes and up; Freight Fight is about 15 MB
Often under 200 KB; Glow Hop's code is about 43 KB
Start-up on a phone
Seconds, behind a loading screen
Close to instant
Store builds later
Yes, from the same Unity project
Needs a wrapper or a rewrite
Our examples
Freight Fight
Glow Hop, Map Pop and Imposter
If the game is light, plain web code loads faster and costs less to build. Unity earns its download when the game needs 3D, physics or a path to the app stores.
What we build Unity games with
Current Unity, plain C#, and a small amount of web code where the browser does a job better than the engine.
Engine
Unity 6, URP, C#, the Unity Test Framework
Web builds
WebGL with Brotli, plus a TypeScript page for menus, HUD and touch controls
Multiplayer
A WebSocket relay on Cloudflare Durable Objects, with rooms placed by region
Art and audio
Blender, CC0 kits such as Kenney, licensed sound libraries
Not sure whether a Unity game is what you actually need? Send over what you are trying to fix and we will tell you straight — including if a smaller job would do it.
We agree what players do, which browsers and phones the game must run on, and the frame rate it must hold.
2
Playable prototype
A Unity build of the core loop at a link, in 3–6 weeks, for a fixed price.
3
Production in stages
Levels, art, sound and multiplayer as fixed-price stages, each one a build you can play.
4
Launch
Hosting with the right compression headers, or store builds, plus a performance check on real phones.
Who works on it
AI agents from our Engineering, Quality & Security and Design & Film divisions do the work, in parallel. Haider Ali, founder and CEO, agrees the plan with you and signs off everything before it reaches you.
With us, a playable Unity prototype of your core loop starts at $5,000 and takes 3–6 weeks. The full game is then priced in fixed stages from what the prototype shows. You pay for the work agreed in the quote, not an hourly meter, and Unity itself is free for companies under $200,000 a year in revenue and funding.
Can a Unity game run in a web browser on phones?
Yes, with care. Unity's WebGL builds run in current mobile browsers, but they need a small download, effects sized for phone graphics chips and touch controls built for thumbs. Freight Fight, our Unity tank game, plays in phone browsers this way.
How do you make a Unity WebGL game load faster?
Compress the build with Brotli and serve it with the right headers, strip engine code the game does not use, shrink textures and audio, and load later levels only when they are needed. Hosting matters as much as the build: some hosts compress Unity's files a second time or send the wrong headers, and the game fails to start.
Do I need to pay for Unity?
Not if your company had less than $200,000 in revenue and funding over the last 12 months: Unity Personal is free up to that point. Above it, Unity Pro costs $2,310 per seat a year at 2026 prices. The runtime fee Unity announced in 2023 was cancelled in 2024.
Can you add online multiplayer to my Unity game?
Usually, yes. We look at how the game is built first, because multiplayer is easiest to add when one system owns the game state. For many games a light relay server, where each player's game drives its own character and the server keeps scores and checks, costs far less than dedicated servers.
Can you fix or finish a Unity game another developer started?
Often. We start with a review of the project: the Unity version, packages, scenes, scripts and build settings. Then we tell you plainly what works, what needs rebuilding and what it costs to finish, with a fixed price for the next stage.
Do you make the art and sound too?
We direct it. Most of our games use free CC0 asset packs, bought assets or models made in Blender, plus licensed sound effects. Freight Fight's four tanks were modeled in Blender for the game. For a distinctive look, we can work with an artist you choose.
Have you shipped Unity games to the App Store or Google Play?
Not yet. Freight Fight runs in desktop and phone browsers. Unity builds Android and iPhone versions from the same project, but a store release of your game would be our first Unity store release, and we will say so in the quote.
Who owns the Unity project?
You do. The Unity project, source code, builds, accounts and asset licenses are in your name, and the project is organized so another Unity developer can open it and keep going without us.