WebGL
Getting started with WebGL development

WebGL Player Settings

This page details the Player Settings specific to the WebGL Preview. A description of the general Player Settings can be found here.

Other settings

Property: Function:
Rendering
Rendering Path The rendering path enabled for the game.
Auto Graphics API Uncheck this if you want to manually select which graphics API is used. When checked, Unity includes WebGL2.0, with WebGL1.0 as a fallback for browsers that don’t support it. When unchecked, you can manually pick and reorder the graphics APIs.
Static Batching Check to enable static batching?
Dynamic Batching Check to enable dynamic batching.
Configuration
Scripting Backend Scripting backend is grayed out because there is only one scripting backend on WebGL.
Disable HW Statistics When this is unchecked, the application sends information about the hardware to Unity (See hwstats page for more details).
Scripting Define Symbols Custom compilation flags (see the platform dependent compilation page for details).
Optimization
Api Compatibility Level Specifies active .NET API profile. See below.
        .Net 2.0 .Net 2.0 libraries. Maximum .net compatibility, biggest file sizes
        .Net 2.0 Subset Subset of full .net compatibility, smaller file sizes
Prebake Collision Meshes Enable collision mesh baking during the build.
Preload Shaders Enable shader preloading.
Preload Assets Enable asset preloading. Specify the size of assets to preload.
Strip Engine Code Enable code stripping for WebGL.
Vertex Compression
Optimize Mesh Data Remove any data from meshes that is not required by the material applied to them (tangents, normals, colors, UV).

API compatibility level

You can choose your mono API compatibility level for all targets. Sometimes a 3rd party .net dll will use things that are outside of the .net compatibility level that you would like to use. In order to understand what is going on in such cases, and how to best fix it, get “Reflector” on windows.

  1. Drag the .net assemblies for the API compatilibity level in question into reflector. You can find these in Frameworks/Mono/lib/mono/YOURSUBSET/
  2. Also drag in your third-party assembly.
  3. Right click your third-party assembly, and select Analyze.
  4. In the analysis report, inspect the Depends on section. Anything that the third-party assembly depends on, but is not available in the .net compatibility level of your choice, will be highlighted in red there.

Publishing settings

Property: Function:
WebGL Memory Size Sets the memory available to the WebGL runtime, given in megabytes. You should choose this value carefully: if it is too low, you will get out-of-memory errors because your loaded content and scenes won’t fit into the available memory. However, if you request too much memory then some browser/platform combinations might not be able to provide it and consequently fail to load the player. See here for details.
Enable Exceptions Enable exception support
Data caching Enable this to automatically cache your contents asset data on the users machine so it will not have to be re-downloaded on subsequent runs (unless the contents have changed). Caching is implemented using the IndexedDB API provided by the browser. Some browsers may implement restrictions around this, such as asking the user for permission to cache data over a specific size.

Further information about WebGL Publishing Settings can be found in the WebGL Building and Running page.

WebGL
Getting started with WebGL development