# Browser games on a phone: touch controls, files and saves

Canonical: https://playable.wtf/guides/mobile-browser-games-setup/

Written: 2026-10-17

Choose a project with an actual touch layout before downloading large game files. A game that draws on a phone screen may still need a keyboard, mouse or controller.

## Start with a usable input scheme

[HCEMobile](https://playable.wtf/games/halo-ce-mobile/) offers editable touch layouts; [CSJS](https://playable.wtf/games/counter-strike-1-6/) enables Xash3D’s touch interface; [PrinceJS](https://playable.wtf/games/oklemenz-princejs/) uses screen regions and drag gestures. Pick around the controls you want, as well as the game.

Other ports need a different plan. JohnImril’s [Diablo Web](https://playable.wtf/games/diablo-web-modern/) describes touch controls as needing improvement. [Arxwasm](https://playable.wtf/games/arx-fatalis-browser/) explicitly lacks playable touch input. Opening either page on a phone does not remove that limitation.

## Prepare files and screen space

Put any required owned files somewhere the phone’s file picker can reach. Check the exact edition before transferring a large archive: an Xbox Halo disc image, a Diablo MPQ and a native app package are not interchangeable.

Follow the project’s installation route. HCEMobile recommends home-screen installation; PrinceJS documents landscape play and a home-screen option. CSJS requests landscape fullscreen where supported. Installing a web app does not automatically make every game work offline or preserve its saves in another browser.

Rotate the device before arranging touch controls. Check that movement and action areas can be used together without obscuring the game. If the layout does not suit you, try the [controller setup guide](https://playable.wtf/guides/browser-game-controller-setup/) for projects that support a pad.

## Handle HCEMobile’s common problems

The creator’s guide specifies iOS 17 or later for iPhone/iPad and Chrome for Android. Importing a disc can require up to 1.8 GB for maps, in addition to the image you selected. Leave the import open until it finishes.

For memory errors, close other apps and tabs. For black levels, try Lower-resolution textures in Settings and data. If an iPhone is silent, check the hardware silent setting or the app’s sound-on-silent option.

These settings belong to HCEMobile. Use the [Halo guide](https://playable.wtf/guides/halo-ce-browser-versions/) to distinguish it from Mitchell Hynes’s separate host before following its recovery instructions.

## Protect progress before switching

After a short session, save, close the game normally and reopen the same client to check that you can continue. Export a backup where the project offers one, especially before changing browsers or reinstalling an app. See the [save and restore workflow](https://playable.wtf/guides/browser-game-saves-backups/).

For a match with friends, confirm the same host and game version first. Phone fullscreen, touch comfort, network access and storage are separate requirements; solving one does not solve all four. Try a brief session before planning a long one.

## Project reading

- [HCEMobile · phone setup and problems](https://hcemobile.com/guide/)
- [CSJS · phone play](https://csjs.live/play-counter-strike-on-your-phone)
- [PrinceJS · mobile gestures](https://github.com/oklemenz/PrinceJS#play-mobile)
- [Diablo Web · touch limitations](https://github.com/JohnImril/diablo_web#playing-and-saving)
- [Arxwasm · lack of touch input](https://github.com/gabrielcuvillier/arxwasm#port-status)
