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
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