Software & Applicationssoftware-and-applicationsBrowsers & Extensionsbrowsers-and-extensions

How To Make Unity Work On Chrome

how-to-make-unity-work-on-chrome

To make Unity work on Chrome today, you must build your project for the WebGL platform and load it over HTTP(S); the old Unity Web Player plugin is permanently gone. The modern approach uses WebAssembly and runs directly in the browser, so no NPAPI plugin is needed.

How to make unity work on Chrome: why the old plugin is gone

Chrome dropped support for the Unity Web Player plugin in 2015 when it removed NPAPI (Netscape Plugin Application Programming Interface) support. That plugin relied on NPAPI to run native code inside the browser, and once Chrome disabled NPAPI, the plugin could no longer execute. Unity responded by replacing the plugin with a WebGL-based export that uses WebAssembly (Wasm) to run code at near-native speeds. If you have an old Unity project that was built for the Web Player, you cannot run it in Chrome anymore. Instead, you must re-export it for the WebGL platform, which is the only supported way to run Unity content in Chrome today.

Switch your Unity project to the WebGL platform

Open your project in the Unity Editor and go to File > Build Settings. In the platform list, select WebGL and click Switch Platform. If the WebGL module is not installed, a button that says Install with Unity Hub will appear, click it to install the missing module. Once the platform switch completes, the WebGL build options become available in the Build Settings window.

  1. Open File > Build Settings.
  2. Select WebGL from the platform list.
  3. Click Switch Platform and wait for the project to recompile.
  4. If prompted, click Install with Unity Hub to add the WebGL module.

Configure WebGL build settings for Chrome

Before building, adjust the player settings for optimal Chrome compatibility. In Project Settings > Player > Publishing Settings, set the Graphics API to WebGL 2 with a WebGL 1 fallback. This ensures your build runs on both modern and older Chrome versions, but you must also enable html5 in Chrome to support the required rendering features. For compression, choose gzip or Brotli, Brotli gives the best compression ratio but may take longer to compress. Enable Data Caching so the browser can store PlayerPrefs and other data in IndexedDB, which persists across sessions.

  1. Go to Edit > Project Settings > Player > Publishing Settings.
  2. Set Graphics API to WebGL 2 and add WebGL 1 as a fallback.
  3. Select gzip or Brotli under Compression Format.
  4. Check Data Caching to enable IndexedDB storage.

Build and serve the WebGL output

Click Build in the Build Settings window and choose a folder for the exported files. The output will include an index.html file, a JavaScript loader, and a .wasm file. You cannot open this index.html directly from your local disk because Chrome blocks scripts from file:// URLs for security reasons. Instead, use Unity’s Build & Run command, which starts a temporary local web server, or host the folder on any HTTP server, local or remote. For quick local testing, you can also launch Chrome with the --disable-web-security command-line flag, but this is only a workaround for development and should not be used for regular browsing.

  1. Click Build and select an empty folder.
  2. Use Build & Run to test locally via a temporary server.
  3. For a permanent solution, upload the folder to a web server and navigate to the index.html URL.

Adjust Chrome settings for smoother Unity WebGL playback

Even with a proper build, Chrome settings can affect performance. Clear your cache and cookies periodically to avoid stale data interfering with the WebGL loader. In Site Settings, ensure JavaScript and pop-ups are allowed for the domain hosting your Unity content. If you use ad blockers or privacy extensions, they can block the WebGL scripts, disable them for your site or whitelist the domain. Keeping Chrome on the latest version is also critical because older versions may lack WebAssembly optimizations or WebGL 2 support.

  1. Clear cache and cookies via Settings > Privacy and security > Clear browsing data.
  2. In Site Settings, allow JavaScript and pop-ups for your Unity domain.
  3. Temporarily disable ad blockers or extensions that might interfere with WebGL.
  4. Update Chrome to the latest version via Settings > About Chrome.

Test your Unity WebGL build and understand limits

Load the hosted URL in Chrome and verify that the scene renders, responds to input, and plays audio correctly. Interact with the content to confirm that mouse, keyboard, and touch controls work as expected. Keep in mind that Unity WebGL builds are largely single-threaded, so performance may be lower than a desktop build. Also, Unity WebGL is not officially supported on mobile devices, though it may run on high-end phones with a warning. Videos from local file paths will not play due to browser security policies, use a streaming URL instead. If you encounter crashes, Chrome may have run out of memory, especially on 32-bit browsers, so close other tabs and consider reducing the build size.

  1. Visit your hosted URL in Chrome and check that the canvas appears.
  2. Test keyboard, mouse, and touch interactions.
  3. Verify audio and visual elements render correctly.
  4. Monitor the browser console for errors and check memory usage if crashes occur.

For advanced debugging, you can use Chrome Extensions and Developer Mode to inspect WebGL calls and diagnose rendering issues. To access these tools, first turn on developer mode on Chrome. This lets you see console logs, network requests, and shader errors directly in the browser, helping you fine-tune your build for Chrome.

For the wider topic, see Chrome extensions and developer mode.

Sources

The steps on this page were checked against the following documentation. Last verified 17 September 2026.

  1. Unity3d Docs — https://docs.unity3d.com/560/Documentation/Manual/webgl-gettingstarted.html
  2. Unity — https://unity.com/glossary/webgl
  3. Siliconangle — https://siliconangle.com/2015/10/09/unity-makes-plans-to-abandon-the-unity-web-player-plugin-by…
  4. Popcomms Help — https://help.popcomms.com/unity-to-webgl/
  5. In — https://rajasthan.gov.in
  6. Zoeimmersive — https://unity.zoeimmersive.com/exporting-your-app/exporting-for-web

About the author

At the heart of Berlin, Germany, emerges a voice that threads the delicate balance between technology and fashion. Cacilia Atwater is not just a contributor; she's a visionary at Robots.

View all 78 articles by Cacilia Atwater  ·  Our editorial policy

Leave a Reply

Your email address will not be published. Required fields are marked *