Changelog

What's new

All notable changes and updates to USourceControl.

July 27, 2026

Package and publish your game from the desktop app

The desktop app now takes you from a commit to a build sitting in your store. It packages your Unreal project with the engine you already have, stamps the version into the build, and uploads it to Steam, the Epic Games Store, and itch.io. Every credential is encrypted on your machine and never reaches our servers, and nothing here is gated: it's on every plan, Free included, because the build runs on your hardware.

Releases

6 items
  • New Releases panel in the desktop app: package your project with your own Unreal install, using the engine version your .uproject actually asks for
  • Publish to Steam through SteamPipe, the Epic Games Store through BuildPatchTool, and itch.io through Butler, each set up once and then a single click
  • Auto-publish: pick the stores a project ships to and a build that succeeds uploads itself, unattended. A half-configured store is skipped with a sentence naming what's missing, rather than breaking the run
  • Dry runs validate credentials, identifiers, and content paths for every target without transferring a byte
  • Build a whole matrix at once: several platforms and configurations queue from one action and run one at a time
  • Windows, Linux via the cross-compile toolchain, and Mac on a Mac, in Development, Test, or Shipping

Confidence

6 items
  • Uploads report named phases (authenticating, scanning, uploading, committing, finalizing) with real transfer rates where the tool provides them, and a stall detector that tells you exactly how long a tool has been silent instead of leaving you guessing
  • Steam Guard is prompted for in the app, rather than steamcmd waiting on a hidden input nobody can see
  • Publish history keeps the build label, duration, bytes moved, exit code, store build ID, and a deep link to the portal page where the store's own promotion step lives
  • Every build and upload keeps its own log, readable in the app with credentials already redacted
  • Preflight catches the expensive failures in seconds: disk space, long paths, a writable archive directory, packaging output excluded from source control, and the engine your project targets
  • A build that runs past your time limit is stopped, whole process tree included, so a wedged cook never holds a machine overnight

Provenance & Security

3 items
  • The version you package is written into Config/DefaultGame.ini before the cook, so the version your game reports is the version on the build and in the store's build list
  • Every build records the commit, branch, engine version, and whether the tree was dirty, captured at build start. Turn on the clean tree rule and a dirty tree becomes a refusal to build
  • Store credentials are encrypted by your operating system's keychain, never placed on a command line, never readable back out of the interface that set them, and never sent to USourceControl. If your machine can't encrypt them, we refuse to store them at all

Honest limits

4 items
  • Steam builds can be set live on a beta branch, but not on the default branch: Valve doesn't allow that from the command line, so promoting to your public branch stays a click in Steamworks App Admin
  • Epic self-service organizations can't label a binary from the tool, so making a build live is an action in the Epic Developer Portal
  • itch.io is the exception: a Butler push goes live immediately, because that's how itch works
  • So a finished upload is reported as uploaded, never as published to players, and every result links you straight to the page where that last step lives
July 15, 2026

USourceControl Forge: package your game automatically

Forge is a separate app you install on a build machine. Enroll it once against your organization, and it watches for commits, materializes the exact committed state of your project, runs a full Unreal package, and publishes the result as a downloadable release your team can grab from the dashboard. Included on every plan, free included, because the build runs on your own hardware.

Forge

7 items
  • New standalone app, USourceControl Forge, that turns any spare machine into a build runner. It installs separately from the desktop app, so build machines don't need the sync client
  • Builds can trigger automatically on commit, or you can start one by hand from the dashboard, with a live queue and streaming build log
  • Finished builds upload as a versioned release, so anyone on the team can download the latest playable build without waiting for someone to zip it up
  • Pipelines can run checks instead of full packages: data validation, a Blueprint compile sweep, automated tests, and a boot smoke test, all without writing a line of build script
  • Optional Steam upload straight from the runner once a build succeeds
  • Discord notifications, disk-space guards, and build stamping
  • Runners keep working in the background: close the window and it stays in the tray, still building

Performance & Scale

2 items
  • Build workspaces are incremental. A runner remembers the commit it last built and asks only for what changed since, so the second build on a machine skips re-downloading the whole project
  • Every downloaded file is SHA-256 verified as it streams, and a workspace that has drifted falls back to a full, verified re-download automatically
July 12, 2026

Outbound webhooks

Your organization can now push events to your own endpoints instead of polling for them. Commits, merges, membership changes, and plugin events all dispatch as they happen, so CI, a Discord channel, or your own tooling can react immediately.

Web Dashboard

3 items
  • New Webhooks section for your organization: add endpoints, pick event types, inspect deliveries, and replay a failed one
  • Nine event types across commits, merges, membership, and plugins
  • Signed payloads with automatic retries, so a brief outage on your side doesn't lose an event

Identity

1 item
  • User and organization avatars now come straight from your account provider, so changing your picture updates it everywhere without a re-upload
July 11, 2026

Shared plugins across projects

Promote any folder in a project to a shared plugin and mount it into your other projects. A character rig, material library, or gameplay module now lives in one place and flows out to everything that uses it, instead of being copy-pasted and slowly diverging. Unlimited on every paid plan.

Plugins

5 items
  • Promote a subfolder to a shared plugin, then mount it into any other project in your organization at a path you choose
  • Unreal plugins are auto-detected from their .uplugin descriptor, so promoting one doesn't mean typing paths by hand
  • Content flows one way, from the plugin to everything that mounts it, so a consumer project can never quietly overwrite the shared copy
  • Share a plugin with a different organization by invitation, for studios working with an external team or across two of their own orgs
  • Revoking a share cleanly removes it everywhere it was mounted

Bug Fixes

1 item
  • Fixed a case where files inside a plugin mount could wedge a commit in the consuming project
July 7, 2026

A free plan that doesn't expire

Solo developers now get a permanent free plan: one project, one seat, and exactly the same unlimited storage and bandwidth as every paid plan. No card, no trial clock, no feature gating on the desktop app. Upgrade when you need a second project or a second person, not when a timer runs out.

Plans & Billing

4 items
  • New Free plan, free forever: one project, one seat, unlimited storage, unlimited bandwidth, unlimited commits
  • The 14-day trial is retired. Nothing expires, and an organization that cancels drops back to Free rather than being locked out
  • Paid plans are now Indie and Studio, both with unlimited projects and unlimited shared plugins. Studio adds audit logs, priority and dedicated support, and a second authorized device per seat
  • Annual billing gives two months free

Web Dashboard

2 items
  • Self-serve signup and onboarding: create an account, an organization, and your first project without talking to anyone
  • Storage and bandwidth usage are visible from the billing page, for information rather than metering
July 2, 2026

Branches, and commit messages worth reading

Fork a branch from main, commit on it, and merge back when it's ready, resolving any file both sides touched. Useful for an engine upgrade or a release freeze without freezing everyone else. Commit messages also gained light formatting so a long message can carry structure.

Desktop App

3 items
  • Create a branch from the current state of main, switch between branches, and see which one you're working on at a glance
  • Merging back shows every file that changed on both sides and lets you pick which version wins, per file or all at once
  • Commit messages support light formatting and colour, so a big commit can be structured instead of a wall of text

Security

1 item
  • Device-locked keys are now enforced on every request, not just at sign-in
June 28, 2026

File locking, and a rebuild around Unreal Engine

Binary Unreal assets can't be merged, so this release adds exclusive checkout end to end: lock a Blueprint or a level before you edit it, and nobody else can commit over you until you're done. The whole app was also redesigned, and the product is now focused squarely on Unreal Engine.

File Locking

6 items
  • Lock any file, or several at once, with an optional reason your teammates can read
  • Locks are authoritative on the server, so everyone sees the same state rather than each client guessing
  • Committing a file releases your lock on it automatically. Lock, edit, commit — no separate unlock step
  • The server rejects a commit that touches a file someone else has locked, and names who holds it
  • Locked files are badged with the holder's name in the desktop app and counted in the web dashboard
  • Org owners and admins can break a forgotten lock through the API

Desktop App

4 items
  • Full visual redesign, shared with the web dashboard so both feel like one product
  • Unreal Engine file type icons, and .uproject detection when you link a folder
  • Closing the window now keeps the app running in the tray so background work continues; quit from the tray when you actually mean it
  • Improved conflict handling and a more accurate time estimate on large transfers

Integrations

1 item
  • The desktop app now runs a local, token-authenticated agent on your machine, exposing status, checkout, check-in, revert, and history to editor tooling. It is the foundation the in-development Unreal editor plugin is built on, and it is available to your own tooling today
v1.2.15June 7, 2026

A full-screen view for pulling files

Pulling now takes over the whole window with a live view of everything coming down: a running log of completed files, each parallel download shown on its own, and real-time stats for speed, data, and time remaining. The progress bar and time estimate are now based on the actual download size, so they stay accurate even when one large asset dwarfs the rest.

Desktop App

7 items
  • Pulling now opens a full-screen view in place of the changes panel, so you can see exactly what is happening instead of a small card in the corner
  • Files downloading at the same time are each shown live with their own progress bar, so you can watch several large assets come down at once
  • A running log lists every file as it finishes, with a clear mark for anything that succeeded or failed
  • Live stats show files completed, data downloaded, current speed, and time remaining
  • The progress bar and time estimate are based on the total download size rather than a file count, so the estimate stays accurate even when one large asset dwarfs everything else
  • Files your team removed are applied in the same log as everything else, so a pull that mixes downloads and deletions reads as one clear operation
  • When the pull finishes you get a summary, and a clean run closes itself automatically so you are back to your work without a click

Bug Fixes

1 item
  • The pull progress bar now always reaches 100 percent, even when a file your team removed cannot be deleted locally because it is open or locked
v1.2.13June 6, 2026

Name your project keys and lock them to a device

Project keys can now be named, and each key locks itself to the first computer that uses it. If the same key is entered anywhere else, it's refused, so keys can't be quietly shared between people. Project admins get a new access log showing every device a key has been used from, along with any blocked attempts, so you can always see where your project has been accessed.

Security

3 items
  • Each project key now binds to the first device that uses it. The same key entered on another computer is refused, so a key can't be shared or reused elsewhere
  • New per-project setting, "Require device-locked keys", that blocks any use of a key outside the desktop app on its registered device, including raw keys used in scripts
  • The device a key binds to is identified by the machine and signed-in user, not its IP address, so working over a VPN, switching networks, or moving between offices never locks you out

Web Dashboard

3 items
  • Project keys now require a name when you create them, so every key is identifiable at a glance
  • Each key shows the device it's bound to, with its operating system, user, and IP address, plus a one-click "Reset device" so a key can rebind after someone gets a new machine
  • New per-project Access Log listing every device that has used a key, who used it, when, and from where, including a warning badge when a key is being used from an unauthorized device

Desktop App

2 items
  • The app now registers your device the first time you connect with a key, which is what binds the key to your machine
  • If you enter a key that's already locked to a different device, the app now tells you clearly instead of just failing to connect
v1.2.12June 5, 2026

Pulling now applies files your team removed

Fixed a sync issue where files deleted by a teammate weren't removed when you pulled, leaving the project stuck "out of sync" with no way to reconcile it. Pulling now deletes those files locally and clears them from your index, so a teammate's cleanup syncs to everyone cleanly.

Bug Fixes

4 items
  • Pulling now deletes files your team removed upstream instead of leaving them on disk. Previously a teammate's deletion kept the project flagged "out of sync" indefinitely with no way to resolve it
  • Removed files are also cleared from the local index, so they stay gone and don't reappear as incoming changes on the next sync
  • Files shown as "Removed by team" are now counted in the pull action and resolved along with everything else you pull
  • If a file can't be deleted because it's open or locked, it's now reported clearly instead of being silently skipped
v1.2.11June 5, 2026

Projects of virtually unlimited size

Large game projects can run into millions of files, especially with Unreal Engine's one-file-per-actor workflows. This release reworks how the app syncs, commits, and uploads so the cost scales with what you changed, not with how big your project is. Syncing a huge project where you touched a handful of files is now near-instant, single commits are no longer capped, and every sync stays verified end-to-end.

Performance & Scale

3 items
  • Syncs now scale with what you changed, not with how large your project is. After the first sync, only the files that actually changed are re-examined and sent, so a project with millions of files syncs as fast as a small one when little has changed
  • Built for very large projects, including Unreal Engine setups that use one file per actor and can reach millions of files
  • Faster large imports and pushes. The app now prepares uploads in batches, cutting the number of network round-trips

Desktop App

2 items
  • Single commits are no longer capped at 25,000 files. Large pushes are automatically split into batches behind the scenes and recorded as one atomic, all-or-nothing commit
  • The first sync of a project still does the full scan; every sync after that only does work for the files you actually changed

Reliability

2 items
  • Every fast incremental sync is verified against a project-wide integrity fingerprint shared by the app and the cloud. If anything doesn't match, the app automatically falls back to a full reconciliation, so a change is never silently missed or lost
  • Large chunked commits are all-or-nothing: a commit either lands completely or not at all, never partially

Web Dashboard & API

1 item
  • File lists, commit history, and version history are now paginated end-to-end, so the dashboard and API stay fast and responsive on projects of any size
v1.2.10June 4, 2026

More secure, more scalable storage infrastructure

We've moved all project storage to a new, more secure and resilient backend, and tuned our database to scale further under heavy team activity. Every file has been migrated successfully. There's nothing you need to do.

Storage & Security

3 items
  • Migrated all project storage to a new, more secure and access-controlled backend. Files are served over short-lived signed links scoped to your project, so nothing is publicly exposed
  • All of your existing files were migrated successfully and verified. No re-uploads and no action needed on your part
  • Faster, more reliable uploads and downloads, with a safer and more resilient foundation for your projects

Performance & Scale

2 items
  • Optimized the database connection layer so the service stays responsive when the whole team pushes and pulls at once
  • Improved resilience during traffic spikes and maintenance windows
v1.2.7June 3, 2026

Faster syncs with on-disk hash caching

Syncing a large project no longer re-hashes every file each time. The desktop app now remembers the hashes it has already computed and only recalculates them when a file actually changes. The first sync does the full work. Every sync after that is near-instant.

Desktop App

3 items
  • Added an on-disk hash cache so unchanged files are no longer re-hashed on every sync. Large projects now sync dramatically faster after the first run
  • A file is only re-hashed when its size or modification time changes, so edits are always picked up while untouched files are skipped
  • The cache is stored locally and never uploaded; clearing it or resetting sync state simply triggers a one-time full re-hash with no loss of data
v1.1.0April 20, 2026

Desktop UI rework, identity, and polish

A complete visual overhaul of the desktop app, project and organization icons across the web dashboard and desktop app, user avatars, plus a batch of bug fixes and performance wins.

Desktop App

2 items
  • Complete rework of the desktop app UI, with a new sidebar, project switcher, commit timeline, and changes panel
  • Performance improvements across the desktop UI, including faster file list rendering and smoother sync updates

Identity

3 items
  • Custom icons for projects
  • Custom icons for organizations
  • User avatars across the web dashboard and desktop app

Bug Fixes

2 items
  • Fixed file deletion management so removed files sync reliably across clients
  • Fixed handling of UTF-8 characters in file names. Accented, non-Latin, and emoji filenames now sync correctly
v1.0.0April 13, 2026

First stable release

Everything you need to version, back up, and collaborate on your Unreal project: a desktop app, a web dashboard, a REST API, and cloud infrastructure we run for you.

Desktop App

9 items
  • Desktop app for Windows, with macOS and Linux builds for Enterprise customers
  • Connect to any project with a single project key
  • Link a local folder and track changes automatically
  • Select files, write a message, and push commits to the cloud
  • Pull latest versions from the cloud with one click
  • View per-file version history and restore any previous version
  • Real-time sync status with file-level change detection
  • Conflict detection with a per-file choice of which version to keep
  • .gitignore editor with presets for Unreal Engine projects

Web Dashboard

7 items
  • Organization and project management
  • Hierarchical file browser with folder navigation and version badges
  • Commit timeline with author, file count, and timestamps
  • Project key generation, labeling, and revocation
  • Team member invitations with role-based access (Owner, Admin, Member)
  • Per-project member assignments
  • Full audit trail for all actions

Infrastructure

6 items
  • Cloud storage we run for you, in EU data centers
  • Direct-to-storage transfers over short-lived signed links, with no server in the data path
  • Up to 5 GB per file, with no practical limit on the number of files in a project
  • SHA-256 integrity verification on every upload and download
  • Encrypted transfers in transit
  • Presigned upload URLs for direct-to-storage file transfers

API

4 items
  • REST API (V1) for custom integrations
  • Project key authentication with usc_ prefix
  • Endpoints: sync, upload, commit, file versions, restore
  • Sequence-based commit numbering for atomic ordering

Source Available

2 items
  • Desktop app source code available to Enterprise customers
  • Shared TypeScript types package for API contracts