Open source · Apache 2.0

Centralized version control for modern game studios & 3D teams

Stop wrestling with slow LFS locks or unpredictable cloud bandwidth bills. Nipa is open-source version control with fast binary streaming, atomic pushes and mandatory locks. Self-host it, or let Nipa Lab run it for you at predictable team pricing.

Desktop app & CLI · Zero egress fees on Nipa Lab · Go + gRPC · FastCDC + BLAKE3 · Run it yourself

nipa — illustrative workflow
$nipa lock /assets/characters/hero.blend# exclusive lock, other artists blocked
Locked by dana · 14 min ago
$nipa add assets/characters/hero.blend
$nipa push -m "Hero: closed visor, new trim"
Uploaded 38 MB of changed chunks (4.1 GB file)
$nipa update
Fast-forwarded main · only new chunks downloaded

One system, three traditions

Everything your team already knows, in one tool

Nipa rebuilds the workflows artists and engineers rely on around a content-addressed chunk store — so branching, locking, and permissions all work at binary scale.

Branching & merge requests, like Git

Create branches from any commit, review changes in merge requests with inline threads, and resolve conflicts with three-way text merges. Reviews are per-head — stale approvals drop automatically when the source branch moves.

Binary streaming & locking, like Perforce

Files are split into FastCDC chunks addressed by BLAKE3, so updates and branch switches transfer only what actually changed. Tracked binaries are mandatory-lock gated, and directory-prefix locks cover a whole editing pass.

Path permissions & one source of truth, like SVN

Fine-grained path-based access rules and groups keep art, design, and code separated inside one monorepo — with a centralized, self-hosted source of truth instead of a distributed free-for-all.

Built for studios

Artists and engineers, one repo, no friction

Game builds, 3D pipelines, and rich media break tools designed around line-based diffs. Nipa is designed around the way asset-heavy teams actually work.

  • Lock the file, not the pipeline

    Tracked .blend, .psd, and .fbx edits are mandatory-lock gated. Artists take a lock on the asset — or a directory prefix covering a whole editing pass — and everyone sees exactly who owns it.

  • Branch without cloning half a terabyte

    Content-addressed chunks are cached locally, so switching branches only transfers the chunks that actually differ. A new branch does not mean re-downloading the asset library.

  • Review the change, not the noise

    Merge requests show three-dot diffs against the merge base, with inline threads and per-head review decisions. When the source branch moves, stale approvals are dismissed automatically.

Nipa — merge request !42
Nipa desktop app showing a merge request with approvals and passing status checks Nipa desktop app showing a merge request with approvals and passing status checks
Merge requests, reviews and status checks in the Nipa desktop app.

Desktop app

A GUI that understands your assets

The Nipa desktop app is built for artists, designers and producers who do not live in a terminal. It runs on Windows, macOS and Linux over the same client daemon as the CLI, with a tray icon, team notifications and in-app updates. It also warns about Unity .meta files that are missing, orphaned or not staged.

See what changed in a texture

Side-by-side, swipe and pixel-diff views with channel isolation, HDR tone mapping, PSD layers and mip levels. 20+ image formats, including DDS, KTX2, EXR and TGA.

Nipa desktop app comparing two versions of a hero texture Nipa desktop app comparing two versions of a hero texture

Free and open source. Download the desktop app.

Why Nipa

Built for speed, scale, and large assets

Everything a binary-heavy pipeline needs to move fast — chunked storage, exclusive locking, and no bandwidth meter running in the background.

Built for large assets

FastCDC chunking and per-format chunk profiles stream 4K textures, .blend scenes, and .uasset packages fast. Updates move only the chunks that changed, with instant diffing on top.

No egress fees

Sync repositories, run heavy CI/CD build agents, and switch branches as often as you like. Nipa Lab does not meter bandwidth, and self-hosted traffic stays on your own network.

Exclusive lock management

Mandatory exclusive locks on un-mergeable files — .psd, .blend, .uasset — stop merge conflicts before they happen. Directory-prefix and branch-scoped locks cover a whole editing pass.

Your storage, your choice

Self-host with local disk or any S3-compatible bucket, or start on Nipa Lab with a free 15 GiB account. Chunks are content-addressed, so identical files are stored once.

And more

The details that matter day to day

Sparse checkout

Clone only the folders you work on with nipa clone --sparse, and change the set later with nipa sparse-checkout. A 2 TB art library does not have to land on every laptop.

Ready for AI agents

nipa mcp exposes status, diff, log, branches, merge requests and locks to MCP clients. It is read-only unless you pass --allow-write.

AI docs →

SSH key login

Sign in with an ed25519, ECDSA or RSA key, or your ssh-agent. The private key never leaves your machine.

SSH docs →

Protected branches

Require approvals and passing status checks before a merge request can land, and dismiss approvals automatically when the source branch moves.

Webhooks and email

Merge request events go to your webhooks, and participants get email notifications with threaded replies.

Release tags

Pin a build with nipa tag -c v1.0 and check it out later with nipa switch --tag. Tags are immutable and carry an optional message.

Pricing

Predictable pricing for every studio

Free for indies, hosted plans on the way for growing teams, and self-managed for enterprises.

Community

$0 free forever

Self-host the open-source server with unlimited storage, or start on Nipa Lab with a free 15 GiB account.

Self-Managed

Contact us custom pricing for your studio

Run the enterprise server on your own PostgreSQL and S3-compatible storage for NDA titles and LAN setups.

Quickstart

Your own server in a few commands

Nipa builds from source while the project is in active development. You need Go 1.27+ and Node 20+ to build the embedded web UI.

Build and run the server

bash
$git clone https://github.com/nipalab/nipa.git
$cd nipa && make web-install && make build
$./bin/nipad# gRPC, REST and web UI on :6745

Clone a repository and push

bash
$./bin/nipa clone http://localhost:6745/org/project ./work
$cd work
$nipa add assets/hero.blend
$nipa push -m "hero mesh"

A fresh server seeds a super admin account. Change its password and set your own JWT_KEY before exposing the server; the README has the first-run details and config.yaml.sample lists every setting. Storage is SQLite out of the box.

Comparison

How Nipa compares

A quick look at the trade-offs teams weigh when assets outgrow line-based version control.

Capability NipaGit LFSPerforce Helix CoreSubversion
Binary storage Chunk-level streaming with FastCDC + BLAKE3 and per-format chunk profilesPointer files in Git, assets in a separate LFS storeCentral depot with server-side streaming and deltasCentral repository with delta compression
File locking Mandatory on tracked binaries; directory-prefix and branch-scoped locksOptional, advisory git lfs lockStrong central lockingOptional svn:needs-lock, advisory
Branching & review Lightweight branches, merge requests, inline review threadsGit branching; review via the hosting platformStreams and branches; review via add-onsDirectory-copy branches, no native review flow
Path-based access control Yes — path-level permission rules and groupsRepository-level, hosting dependentYes — protections tableYes — authz path rules
Offline working-copy diffs Yes — working tree vs synced snapshot, no server round-tripText only; binaries live in LFSOpened-file model, server-assistedYes — local working copy compares
Web UI & API Embedded SPA, REST and gRPC in one self-hosted binaryHosting platform dependentCommercial tools (P4V, Helix)Third-party viewers
License & hosting Apache 2.0 community edition, self-hosted; ee/ under enterprise licenseMIT client, server variesCommercial licenseApache 2.0, self-hosted

Comparison reflects typical self-hosted configurations; capabilities vary with hosting providers and add-ons.

Ship binaries without the pain

Self-host Nipa and keep branching, locking, reviews, and permissions in one place — built to move gigabytes without slowing your team down.