Skip to content

arita-yuto/unity-buildlayout-viewer

Repository files navigation

Unity Build Layout Viewer

A self-hosted web viewer for analyzing and comparing Unity Addressables BuildLayout.json outputs.
Upload build results, search assets, compare snapshots, and investigate bundle dependency graphs.

License: MIT


What it is

Unity Build Layout Viewer helps you understand what's inside your Addressables builds. Upload a BuildLayout.json, browse all assets, and compare builds side-by-side to track down size regressions or unexpected dependency changes.

✨ Key Features

Asset Search

Browse all assets in a snapshot. Filter by class, file extension, or name glob. Right-click any asset to open its dependency tree.

Asset Search

Snapshot Diff

Compare two snapshots side-by-side. See what was added, removed, hash-changed, or size-changed — at both the asset level and the bundle level.

Snapshot Diff A vs B Snapshot Diff Bundle

Dependency Viewer

Trace the upstream dependency chain from any asset. Control traversal depth and node limit interactively.

Dependency Viewer

Upload

Upload a BuildLayout.json directly from the browser. Progress is streamed in real time.

Snapshot Management

Edit tags and comments on snapshots. Soft-delete old ones to keep the list clean.


🚀 Getting Started

🐳 Quick Start (Docker)

# 1. Configure environment
cp .example.env .env

# 2. Build
docker compose -f compose.prod.yml build

# 3. Run DB migration (first time only, or after schema changes)
docker compose -f compose.prod.yml run --rm app npm run prisma:deploy

# 4. Start
docker compose -f compose.prod.yml up -d
Web UI → http://localhost:3435

💻 Local Dev (without Docker)

Requirements: Node.js 20+, PostgreSQL

# 1. Install dependencies
npm install

# 2. Configure environment
cp .example.env .env
# Edit .env and set DATABASE_URL

# 3. Run DB migration and generate Prisma client
npm run prisma:deploy
npm run prisma:generate

# 4. Start dev server
npm run dev
# → http://localhost:3435

🧪 Running Tests

Tests are integration tests that require a running database.

# Seed test data (idempotent, only needed once)
npm run seed

# Run tests
npm test

When running outside Docker, set DATABASE_URL in .env to point to your local database.

📄 License

This project is licensed under the MIT License — see LICENSE for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages