Windows IIS local deployment guide for HandDriver WebClient

1. Install IIS Server

Press the Windows key to search for "Control Panel" and open it.

After completing the above settings, click "OK" to begin downloading and installing the IIS server.

2. Search for IIS Manager and Open It

3. Configure IIS Server

Select "Websites", then right-click and choose "Add Website".

Custom website name:

Select the physical path of the packaged files (be sure to choose the parent folder of the Build folder, and ensure this folder is not on the C drive).

The port must be an unused one (you can check port usage by running the command netstat -ano in the command prompt).

After clicking Confirm, the site will appear on the left side.

4. Add MIME Types for the Website

Double-click "MIME Type"

Click "Add" in the top-right corner.

The following are the relevant MIME types that may be required by the WebClient package. It is recommended to add all of them (the first four are a priority):

circle-info

File Extension: .unity3d MIME Types: application/octet-stream

File Extension: .unity3dgz MIME Types: application/octet-stream

File Extension: .unityweb MIME Types: application/binary

File Extension: .br MIME Types: application/javascript

File Extension: .mem MIME Types: application/octet-stream

File Extension: .data MIME Types: application/octet-stream

File Extension: .memgz MIME Types: application/octet-stream

File Extension: .datagz MIME Types: application/octet-stream

File Extension: .jsgz MIME Types: application/x-javascript

5. Add Cross-Origin Access Permissions (Optional Configuration)

Relevant HTTP Response Headers:

circle-info

Access-Control-Allow-Origin

*

Access-Control-Allow-Methods

GET, POST, PUT, DELETE, OPTIONS

Access-Control-Allow-Headers

Content-Type

6. Configure Local Computer Settings

After decompression, the structure of the WebClient package is as follows:

  • Modify the content of server-config.json to use the local machine's IP address (keep the port as 7789).

  • Set the Advanced Firewall properties to "Off".

7. Check If the Deployment was Successful

In the browser, enter http://localhost:5050/server-config.json (assuming the port set above is 5050).

If the content of the server-config.json file appears, it proves the deployment is complete.

If the JSON file opens correctly in the browser but the website content fails to load, please check whether "Step 4: MIME Types" was configured correctly. You can also directly verify whether the web.config file generated in the folder contains the fields shown in the following figure (refer to the image).

In some computer environments, after adding MIME types, the website may fail to open properly. Please delete the content related to "Step 4: MIME Types" and restart before trying again.

8. Why Add These MIME Types?

Because the WebClient build output includes the following file types:

  • .unityweb (compressed assets, asm, code, etc.)

  • .br (Brotli compressed)

  • .gz (Gzip compressed)

  • .mem (legacy memory files)

  • .data (resource files)

  • .js / .wasm (scripts and WebAssembly)

When the browser downloads these files, it relies on the Content-Type in the HTTP header to determine how to handle them.

If the MIME type is incorrect or missing:

Problem
Cause

Unity WebGL blank screen

wasm/js files are treated as downloads instead of being executed

"Incorrect MIME type" error

Content-Type mismatch

Brotli/Gzip compressed files fail to load

Browser does not recognize them as compressed files

Resource loading fails (404/415)

Server rejects certain file types

CORS / streaming exceptions occur

Incorrect headers cause blocking

The purpose of adding these MIME types is to:

  • Enable the browser to correctly recognize the format of WebClient build files.

  • Allow compressed files (.br/.gz) to be automatically decompressed and loaded.

  • Prevent issues such as resource loading failures, WASM execution errors, blank screens, and related problems.

Last updated