Unity export tips
The following tips may help you to reduce the final build size and increase the performance of your game, thus increasing your revenue. Don't forget to also have a look at the WebGL Optimizer utility that the CrazySDK provides by default.
Compression
Unity supports Brotli and Gzip compressed builds for WebGL.

We recommend that you use Brotli compression, which is supported in all the major browsers (caniuse.com) . Although it takes longer to build a Brotli compressed game, the final build is smaller compared to gzip. This improves the loading rate for your game significantly, and thus your revenue.
You can read more about Unity compression on their official documentation.
Code stripping
The code stripping functionality allows Unity to remove unused code from your project, thus reducing the final build size.

By default it is enabled, and set on the minimal level. If you are looking to further optimize your build size, you can increase the level to low, medium or high. Be sure to test the final build, since with a higher level of stripping, chances are that some useful code will also be removed. To read more about code stripping and how to protect your code from being removed at higher stripping levels, please check the official Unity documentation.
Exceptions
You can choose various levels for exception support when building for WebGL.

Selecting "None" provides better performance and smaller builds. However, if there is an exception thrown during the game, for example in a try/catch block, the game will crash. We recommend using this option only when you are sure the game runs as smoothly as possible, without any bugs, and you don't have any try/catch blocks in your code. Otherwise, the default "Explicitly thrown exceptions only" is also a good starting point. We recommend that you never submit a game with the "Full With Stacktrace" option selected. This option is only good for debugging, and it decreases the performance, and increases the browser memory usage. You can find more information about exception support on the official Unity documentation.
Name file as hashes
We recommend that you select this option when building your game.

The files will have unique names on every build, composed of the MD5 hash of their content. Although we clean the cache on our side after each game update, the browsers may still hold onto the old files, and unique file names fix this problem.
API Compatibility Level
We recommend that you use the ".Net Standard" API compatibility level, as this provides smaller build sizes. ".Net Framework" should be used only if the game depends on APIs not compatible with ".Net Standard".

You can read more about the API compatibility, and other WebGL export settings on the official Unity documentation.
Texture compression
Another way to decrease final build size is to correctly set the texture max size.

Some purchased assets, imported models, or even your textures, may have a large size, for example 2048x2048. It is a good practice to set an appropriate size for the texture, since this will reduce the size of the texture in the final build. For example, for small objects, or far away objects barely visible, you can pick a smaller texture size, since the quality loss will not be as noticeable. Furthermore, you can also select low quality in the compression drop down, to reduce texture size even more. Don't forget to check if the game still looks good after tweaking texture size and compression quality. The changes will also be visible in the editor.
Streaming assets
Streaming assets can be also used to decrease your final build size. Textures and sounds occupy significant space in the final build, so they can be kept separate from it, and loaded at runtime. Not only does this allow faster game loading, but the external resources can be customized later without updating the game. In short, by creating a folder named StreamingAssets in your project and adding various assets to it, they will be included as a separate folder in the final build. After that, you can fetch assets from that folder via http requests, and convert them into textures/sounds etc. The Unity documentation doesn't tell much about this, but there is this excellent tutorial that contains more information.
Index.html and your custom JavaScript
For Unity games on CrazyGames, we ignore the index.html file and store only the build files. So any changes that you do to the index.html file, or any additional JavaScript files that you include, won't be available. If your game relies on external JavaScript files, you can upload it as an HTML5 game. However, you will be missing on the Unity improvements that we do, for example fixing broken loading indicators for specific Unity versions, the loading indicator itself, etc.