Dousen Documentation

Updated July 2026

Dousen connects Jira, Perforce, and your DCCs — Blender, Maya, Houdini, 3ds Max, Substance Painter, Substance Designer, and Unreal Engine — into one unified workflow. A changelist knows which Jira ticket it belongs to, an asset name is checked against your project's rules the moment it's exported, and publishing from one tool hands work straight to the next one — so artists spend their time on art, not on the handoffs between tools.

Artists never touch the server directly. All artist UI lives in DousenDesktop and the Unreal Engine plugin. The server (DousenCore) is admin and infrastructure, configured entirely through the web portal.

The three planes

Every Dousen deployment is one to three of these, depending on whether the studio is on the cloud or self-hosted. Everything between them is plain HTTP/JSON — no proprietary protocol to firewall around.

Plane Runs where What it's for
Cloud control plane Dousen's cloud, port 8090 (DousenControl) Manages studios/orgs, subscriptions, and Ed25519-signed license tokens, and provisions a studio instance per tenant. Cloud studios only — a self-hosted studio never runs this.
Studio instance A server, port 8080 (DousenCore) The one every artist and DCC ultimately talks to: REST API, the web admin portal at /portal/, MariaDB, the Perforce connection, and the Jira webhook. Source of truth for changelists, users, conventions, and validation history.
DCC bridge relay Each artist machine, 127.0.0.1:8766 (inside DousenDesktop) A local, loopback-only relay that lets DCCs and Unreal hand work to each other — publish, register, poll — without a round trip to the server.

The bridge is a poll-based HTTP relay, not a server that DCCs hold an open connection to. An artist publishes an event from one DCC, the relay fans it out, and other apps — including Unreal — pick it up on their next poll (about twice a second).

Port reference

Port Service Reachable from
8090 DousenControl REST (cloud control plane) Dousen's cloud only — studio instances call out to it for license heartbeats; a self-hosted studio never runs it.
8080 DousenCore REST + web portal (/portal/) Every DousenDesktop and DousenUE install for that studio; whatever host/network the admin exposes it on (see Self-hosted install).
8766 DousenDesktop bridge relay Loopback only, 127.0.0.1 — the DCC addons and UE plugin running on that same artist machine. Not reachable over the network. See Bridge API.

Cloud vs. self-hosted

Aspect Cloud Self-hosted
Who runs DousenCore Dousen, provisioned per tenant by DousenControl You, with the Docker Compose bundle under deploy/self-hosted/
Licensing Issued and renewed automatically by DousenControl You hold the Ed25519 license key and public key yourself; the instance verifies it offline, with a 14-day grace period past expiry
Signing in Cloud SSO exchange from the control plane, with an optional browser OAuth (PKCE) flow; accounts spanning multiple studios get a studio picker Local password checked by the instance itself, or delegated to your LDAP/Active Directory if DOUSEN_AUTH_MODE=ldap is configured
Getting an account Currently manual during the free studio beta — see Quick start Install the stack, then create the first admin user yourself in /portal/

The components

Component Plane What it does
DousenControl Cloud control plane SaaS control plane binary: orgs, tenants, subscriptions, Stripe billing, license issuance, Kubernetes/Helm tenant provisioning.
DousenCore Studio instance The REST backend and source of truth for changelists, users, naming conventions, and validation history. Serves the web admin portal, talks to MariaDB and Perforce, and receives Jira webhooks at /webhooks/jira.
DousenDesktop Artist machine A Qt6 system-tray app. It is a REST client to DousenCore, a direct Jira client, the DCC bridge relay, and a DCC launcher with source-asset tracking and auto-update.
DousenUE Artist machine (Unreal Engine 5 editor) An editor plugin that talks to DousenCore's REST API and polls the desktop bridge relay for events, auto-reimporting assets. It never talks to Jira directly.

Key concepts

Tasks

Dousen stores no tasks of its own. Jira is the single source of truth. DousenDesktop fetches issues directly using each artist's own Jira credentials and renders them as HTML, so you see the same tasks you would in Jira.

Changelists

Every Perforce changelist opened through Dousen is keyed to a Jira issue key — for example DOU-142. That link is what keeps your work in Perforce tied to the task it belongs to, and it's what lets a changelist submit automatically transition the Jira issue if an admin has configured it.

The bridge

When an artist publishes from one DCC, the local relay fans the event out to the other apps on that machine. Unreal Engine picks the event up and auto-reimports the changed asset — no manual export-and-import shuffle. The same channel carries the active Jira task/changelist to every running DCC, and lets studio tools join in exactly like the built-in addons.

Naming conventions

Asset naming rules are defined per project — as YAML, or as Lua for computed rules — stored in DousenCore, and compiled to a single JSON document every client caches for 5 minutes. Names are assembled structurally from prefixes, suffixes, and dimensions, not from a single text template, so a name assembled in Blender matches what Unreal expects.

Validation

The same document that defines naming also carries validators — automatic checks that run in the DCC before an asset is exported. Errors block the export; warnings are advisory. Admins choose which rules run and at what severity; artists just see the results.

Licensing & accounts

Every studio instance runs against an Ed25519-signed license that it verifies offline, with a 14-day grace period past expiry so a renewal is never a fire drill. Seats are enforced per plan, and every account plugs into one of three sign-in modes — local password, an external LDAP/AD directory, or cloud SSO — with a single active device per account.

Roles

A studio instance checks access as effectively admin vs. non-admin: the roles are admin, producer, and artist, but only admin unlocks the portal's write endpoints (conventions, validators, settings, users). Cloud studios additionally have owner/admin/member roles on the control-plane org — an org owner or admin becomes an instance Admin when they sign into their studio; everyone else becomes an Artist. Full breakdown: User & auth management.

Full documentation map

Every page in the sidebar, grouped the same way and in the same order. If you already know what you're looking for, this is the fastest way to jump there.

Getting started

Page Covers
Overview This page — what Dousen is, the three planes, the five components, ports, and where to go next.
Quick start Zero-to-working-pipeline walkthrough: get an account, configure a project, install DousenDesktop, run onboarding, and verify the first asset lands in Unreal.

User guide

Page Covers
Desktop app Signing in, the tray icon, the Jira task panel, the DCC launcher bar, the Bridge tab, and auto-update — the day-to-day hub on each artist machine.
DCC addons What the Dousen panel does inside each of the six DCC addons — Blender, Maya, 3ds Max, Houdini, Substance Painter, and Substance Designer — plus how Unreal Engine joins the bridge as the seventh participant.
Jira tasks How DousenDesktop fetches issues straight from Jira Cloud with your own credentials — Dousen stores no tasks of its own.
Perforce Changelists keyed to a Jira issue, file-lock visibility inside the DCC, and Perforce Streams support.
Unreal Engine Installing and configuring the DousenUE editor plugin: landing DCC exports at the convention-correct path with materials and Nanite set, naming checks on import, and Open in DCC.

Admin guide

Page Covers
Naming conventions Authoring the per-project naming document in YAML or Lua, the arbitrary-depth taxonomy, and how it compiles and gets cached by clients.
Asset validation The full validator reference — every built-in rule by category, the catalog system, the Nanite/NonNanite gate, and how to write a custom validator plugin.
Settings reference Every project-level YAML document and scalar field editable in the web portal.
Loading studio tools Three ways to keep loading your existing pipeline code alongside Dousen's addon — startup scripts, extra validator paths, and per-machine options.
User & auth management The two planes' users and roles, the three sign-in modes, sessions/tokens, and how accounts get created on each plane.
Self-hosted install Running DousenCore yourself with the Docker Compose bundle — install.sh, the manual setup steps, and LDAP configuration.

Reference

Page Covers
Bridge API Full byte-for-byte reference for the local bridge relay's HTTP endpoints, for studio tools that want to participate like a built-in addon.
Troubleshooting Symptom-first fixes grouped by where you see them, plus where every log file lives.

Start here, by role

The docs are organized by what you're trying to do, not by which sub-app owns the feature. Pick your role:

You are… Start with Then read
A studio admin setting up a new studio Quick start Self-hosted install (if not on the cloud), Settings reference, User & auth management
An artist working day to day Desktop app DCC addons, Jira tasks, Perforce, Unreal Engine
A TA setting up conventions and validators Naming conventions Asset validation, Settings reference, Loading studio tools
An integrator wiring up a studio tool Bridge API DCC addons (event types and per-task context)

Whatever you're doing, if something doesn't behave the way these pages say it should, Troubleshooting is symptom-first and usually faster than re-reading a guide end to end.

Where to next