Technical requirements
Your game must run smoothly on a wide range of browsers and devices. The numbers below are defaults — exceptions may be granted, but you should design to these targets.
File size and loading
| Limit | Value |
|---|---|
| Total build size | ≤ 250 MB |
| File count | ≤ 1,500 files |
| Initial download | ≤ 50 MB |
| Initial download (mobile homepage eligibility) | ≤ 20 MB |
| Time to first interactive frame | ≤ 20 seconds on broadband |
Optimize aggressively
The smaller your initial download, the higher your play-through rate. See the optimization guide for engine-specific tips.
Paths
- Use relative paths when referencing assets inside your game bundle.
- Do not hot-link assets from external CDNs (Google Fonts, jsDelivr, etc.). Bundle everything.
- Exceptions: multiplayer game servers and analytics services pre-approved during review.
Browsers and devices
Desktop
- Chrome and Edge: must run smoothly at 60 fps.
- Safari: support expected — non-compatible games may be hidden from Safari traffic.
- Chromebooks: must run on devices with 4 GB RAM.
Mobile
- Must support touch input.
- Games should accept keyboard and mouse input on desktop even if designed for touch.
- Landscape is recommended; portrait is allowed with letterboxing on desktop.
- iOS Unity WebGL games are disabled by default due to memory crash risks. They are re-enabled after enough successful play volume.
Aspect ratio
- Target 16:9 (e.g., 1280×720, 1920×1080) and scale to fill the canvas.
- Reference resolutions: 640×360, 836×470, 1031×580.
Performance
- Hold a stable 60 fps during active gameplay on mid-range hardware.
- Avoid memory leaks — long sessions (> 30 min) should not degrade performance.
- Tab visibility: pause heavy work (
requestAnimationFrame, audio) whendocument.hiddenis true.
Security and privacy
- Do not collect personally identifiable information without explicit consent.
- All third-party scripts must be pre-approved.
- Privacy notices must be non-blocking — they cannot prevent gameplay.
Storage
- Wrap
localStorageaccess intry/catchfor incognito-mode browsers that throw. - Maximum 1 MB of save data per game (see Data SDK).
- Prefix keys you do not want to sync to the cloud with
funox_ignore_.
Quick reference
1build size ≤ 250 MB2file count ≤ 15003initial download ≤ 50 MB (≤ 20 MB for mobile featured)4time to play ≤ 20 s5aspect ratio 16:9 (responsive)6target fps 607mobile RAM target 4 GB