Developer notes

How to Install uSync for Umbraco 13 via NuGet

uSync is one of the most widely used Umbraco packages for keeping content structure and settings in sync across environments. Here's how to get it installed and configured on Umbraco 13.

What uSync actually does

uSync exports Umbraco's schema-level settings, document types, data types, templates, and optionally content, to disk as config files. Those files can be committed to git and applied automatically between environments (local, staging, production) on startup, instead of manually recreating the same backoffice settings by hand in every environment.

Installing via NuGet

From your project root, the same folder as the .csproj file referencing Umbraco.Cms, run:

dotnet add package uSync

Or, from Visual Studio's NuGet Package Manager, search for uSync and install it into the main web project. Either approach adds the same package reference.

Check the package's listed compatibility against your specific Umbraco 13.x point release before installing, rather than assuming any version will do. uSync's major version generally tracks Umbraco's, and NuGet will show you compatible versions at install time.

First run

Restart the site after installing. A uSync section appears in the Umbraco backoffice, usually under Settings. From there, run an initial export to write the site's current settings out to a versioned uSync folder in the project (typically something like uSync/v13). Commit that folder to git so it travels with the rest of the codebase.

Keeping environments in sync

On startup, uSync compares the on-disk config against what's currently in the database and can apply the difference automatically, depending on how it's configured. That's the mechanism that makes a document type change made locally end up applied automatically once it's deployed to staging or production, without anyone touching that environment's backoffice directly.

Common gotchas

  • Forgetting to re-export after a backoffice change, so the on-disk config quietly drifts out of sync with the live site.
  • Confusing schema sync with content sync. uSync is built around structure and settings; syncing actual content between environments is a separate, more careful operation with its own risks.
  • Conflicting exports when two developers work from different local databases. Treat it like any other git merge conflict: review the generated config diff rather than accepting either side blindly.

If this is part of a bigger migration

uSync setup often comes up as part of a larger Umbraco 13 upgrade project. See how to upgrade Umbraco for the wider process, or services if you'd rather have someone handle it end to end.

Stuck on a uSync setup or a bigger migration?

Tell me what's going on and I'll take a look.

Get in touch