BabylonJS on Chromecast: How to Package and Publish Your Web Game to the Play Store

Yes, Chromecast with Google TV can run Play Store games — but your wrapper matters

Chromecast with Google TV runs Android TV OS, which includes full Google Play Store access. The “Other devices” category in the store is real, and lightweight games already live there. Your BabylonJS game can join them. The complication: BabylonJS produces a web app, not a native Android binary. Getting it into the Play Store requires wrapping it in an Android project.

Three ways to wrap a web game as an Android APK

Trusted Web Activity (TWA) via Bubblewrap

This is the most direct path. Google’s Bubblewrap CLI packages a hosted web app into an Android APK using Trusted Web Activity. Chrome runs your game full-screen with no browser UI — it looks and installs like a native app.

The steps:

  • Deploy your game online and add a PWA manifest: a manifest.json and a service worker are the minimum
  • Install the CLI: npm i -g @bubblewrap/cli
  • Run bubblewrap init --manifest https://yourgame.com/manifest.json
  • Run bubblewrap build to generate the APK
  • Host the generated assetlinks.json at yourgame.com/.well-known/assetlinks.json — skip this and the app falls back to a visible browser tab inside the app shell
  • Submit via Play Console (one-time $25 developer fee)

The TV-specific snag: Bubblewrap targets phones and tablets. To show up on the Android TV home screen — which is what Chromecast with Google TV uses — your APK needs to declare android.intent.category.LEANBACK_LAUNCHER. Bubblewrap doesn’t add this automatically. You’ll need to open the generated Android project in Android Studio and add it to the activity’s intent filter before the final build.

Capacitor

Ionic’s Capacitor wraps web apps into full native Android projects. More setup than Bubblewrap, but you get a real Android Studio project to modify freely. Add the TV launcher intent, configure WebView settings as needed, and build. APKs tend to be larger than Bubblewrap’s output, but you have complete control over the native layer.

WebGL is supported, so BabylonJS scenes work inside Capacitor. Whether they perform well on Chromecast hardware is a different question entirely.

A plain WebView Activity

Write a minimal Kotlin or Java Android app that loads your game URL in a WebView. Most control, most Android code to write. Worth it if you already know Android development and want fine-grained WebView configuration.

The performance problem most guides don’t mention

WebGL inside Android’s system WebView behaves differently from Chrome on the same device. BabylonJS developers have reported that embedded WebView can noticeably lag behind Chrome running the identical scene. Chromecast with Google TV is not powerful hardware. Simple, low-draw-call games will likely run fine. Anything with complex shaders or heavy geometry may not be playable.

Test on actual Chromecast hardware before committing to a release. An emulator will not tell you what you need to know.

Babylon Native: a stronger foundation for shipping on TV

Babylon Native is a runtime that lets BabylonJS code run against native graphics APIs directly — OpenGL on Android — rather than through a browser or WebView. The same JavaScript codebase works. The rendering path is much closer to metal, and the performance headroom is considerably greater than any WebView-based approach.

The tradeoff is real: you’re building a native Android project, not just wrapping a URL. More setup time upfront. But if you’re serious about TV as a platform and want solid frame rates on modest hardware, it’s a better foundation than a WebView wrapper.

Play Store requirements for the Android TV category

Getting listed under “Other devices” for Chromecast and Android TV involves a few requirements beyond a standard mobile submission:

  • Declare android.intent.category.LEANBACK_LAUNCHER so the TV home screen can find and launch the app
  • Mark touchscreen as not required: <uses-feature android:name='android.hardware.touchscreen' android:required='false'/>
  • All navigation and gameplay must work via Bluetooth gamepad — there is no touchscreen on a Chromecast
  • The TV content review process in Play Console is separate from the standard mobile review; budget extra time for your first submission

Sources

Similar Posts