The desktop app
DousenDesktop is the hub of the pipeline on each artist machine. It lives in your system tray, shows your Jira tasks, launches your DCCs with the Dousen addon injected, runs the local bridge relay that connects them, and keeps your session and updates current in the background.
Signing in
The sign-in screen adapts to how your studio runs Dousen:
- Cloud — sign in with your studio account email and password, or click Sign in with Browser to use a secure OAuth flow in your default browser. If you belong to more than one studio, a Choose Studio picker appears listing each studio and your role in it.
- Self-hosted — sign in with the email and password your admin created on the studio server.
Dousen enforces one active device per account. If you sign in on a second machine, the first shows the notification "Session active on another device. Please log in again." and returns to the sign-in screen. Sessions otherwise refresh silently in the background.
The sign-in screen also has a Re-run Setup link that reopens the first-launch onboarding if you ever need to reconfigure the machine from scratch.
The main window
The main window has, top to bottom:
- Header — the project picker, plus Settings and Sign Out buttons. The picked project decides which conventions, validators, and pipeline settings your DCCs receive.
- Apps bar — one launch button per configured DCC, plus a + tile to add one. A button shows a connected indicator while that DCC is on the bridge.
- Three tabs:
- My Tasks — your Jira issues; see Jira tasks.
- Bridge — the currently connected apps and a timeline of the last 20 bridge events. Useful for confirming a publish actually went out.
- Logs — the app's own log, with a Clear button.
- Status bar — Perforce state on the left (
P4: <stream>,P4: <client> (classic), orP4: not connected) and the app version on the right.
Closing the window hides it to the tray — Dousen keeps relaying bridge events in the background. Use the tray menu's Quit to actually exit.
The tray icon
The tray menu offers Open Dousen, Manage Account… (opens your account page in the web portal), Check for Updates, and Quit. Clicking the icon opens the main window.
When DCCs are connected to the bridge, the icon gains a green badge with the count of connected apps (Unreal Engine counts while its plugin is polling). Hovering shows which apps are connected.
Notifications
The tray notifies you about pipeline traffic so you don't have to watch the window:
- Mesh exported / Texture exported — an asset was published, with the filename and which app it came from.
- Opening in DCC — another app (for example Unreal) asked to open a file here.
Rapid bursts are batched into a single summary notification (for example "3 assets exported, 1 DCC open request") so a big publish doesn't spam you.
Launching DCCs
Always launch your DCCs from the apps bar. Dousen starts each one with its addon bootstrapped and hands it everything it needs — the bridge port, the server URL, the active project, and (if a task is selected) the task and changelist context — so the in-app panel is live from the first frame. Executable paths are auto-discovered; if a launch fails with "Executable not found", fix the path in Settings → DCC Apps.
Launching also works in reverse: when another app requests Open in DCC, Dousen looks up the asset's source file, resolves the local path (syncing it from Perforce, or mapping it through a configured Google Drive / OneDrive mount), and opens it in the right application — starting that application first if it isn't running.
Settings
The Settings dialog is artist-scoped — everything project-wide (conventions, validators, pipeline settings) lives in the web portal and is read-only here. Five tabs:
| Tab | What it holds |
|---|---|
| Connection | Server URL, request timeout, task poll interval, bridge relay port, Google Drive / OneDrive mount paths, and a Test Connection button. |
| DCC Apps | Your DCC list with a Discover DCCs scanner. Each entry has a name, executable, icon, launch arguments, and custom environment variables. |
| Projects | Per-project local config: the .uproject, source root, where sources live (local, Perforce, Google Drive, OneDrive), and P4 server/workspace. |
| Unreal | Fallback .uproject, an Install Plugin button that copies the bundled DousenUE plugin into your project, and headless-import settings for when the editor is closed. |
| Jira | Base URL, account email, API token, and a Test Connection button. See Jira tasks. |
Updates
Dousen checks for updates shortly after launch and every 4 hours (you can also check from the tray menu). When one is available, a dialog shows the version jump and changelog with three choices: Skip Version, Remind Later, or Download & Install.
Downloads are verified twice — a SHA-256 checksum and an Ed25519 signature — before the Install & Restart button activates. The installer is saved to your Downloads folder, so you can also run it later.
Pre-configuring machines (admins)
Admins can skip per-machine setup with a config bundle — a small JSON file with the keys org_id, control_plane_url, and server_url. Two ways to deliver it:
--config-url <https-url>— pass a link on the command line (or in the installer shortcut); the bundle is fetched and applied on startup.- Drop
dousen-config.jsoninto the working directory, Downloads, home, or the app's config folder. The artist is asked to confirm before it's applied.
Bundle URLs and the server URLs inside the bundle must be HTTPS (plain HTTP is accepted only for localhost). A bundle switches the app into cloud mode.