unisrv is a preview server for Unity WebGL applications.
Notice: This project is focused on local preview only. Not recommended for production use.
Download the binary from the releases.
To start the server, execute the following in your WebGL build location:
unisrvOr specify the build location expressly:
unisrv ./Build/The server is configurable via the following options or environment variables.
| Option | Environment Variable | Default Value | Description |
|---|---|---|---|
-base |
UNISRV_BASE |
The base path for Unity application. | |
-disable-no-cache |
UNISRV_DISABLE_NO_CACHE |
false | Disable setting Cache-Control: no-cache header. |
-host |
UNISRV_HOST |
localhost |
The hostname to listen on. |
-port |
UNISRV_PORT |
5000 | The port number to listen on. |
-read-timeout |
UNISRV_READ_TIMEOUT |
5 | The maximum duration for reading request. |
-write-timeout |
UNISRV_WRITE_TIMEOUT |
5 | The maximum duration for writing response. |
Docker images are also available.
docker run --rm -v $(pwd):/app -p 5000:5000 frozenbonito/unisrvMount your Unity application to /app directory in the container.
It can also be used as a library for Go.
For example:
package main
import (
"net/http"
"github.com/frozenbonito/unisrv"
"github.com/go-chi/chi/v5"
"github.com/go-chi/chi/v5/middleware"
)
func main() {
r := chi.NewRouter()
r.Use(middleware.Logger)
r.Mount("/", unisrv.NewHandler("/path/to/unity-build-location", nil))
http.ListenAndServe(":8080", r)
}See go.dev for more details.
Unity Preview Server - Unity editor extension powered by unisrv.