Unify Applications
Logo
Registering & Versioning Custom Components

Registering & Versioning Custom Components

Logo

4 mins READ

Registering a Component

Registering a component adds a developer-built component to the project so builders can use it on pages. You do this in the Custom Components manager by creating a new component, naming it, and defining its first version.

Steps to register

  1. Navigate to Applications → Custom Components.

  2. Click Add Component.

  3. Enter a Name for the component.

  4. Choose a Deployment Mode (see below).

  5. Provide the mode-specific input (manifest URL or package upload).

  6. Click Add to register.

unify-applications-registering-and-versioning-01-nav-applications-custom-components.png
unify-applications-registering-and-versioning-01-nav-applications-custom-components.png

unify-applications-registering-and-versioning-02-add-component-development-mode.png
unify-applications-registering-and-versioning-02-add-component-development-mode.png

Development vs. Production Mode

Development mode

The mode for testing and debugging before sharing. You provide a Manifest URL pointing at the component's live build. The builder loads the component straight from that address — changes you redeploy at that URL show up without a formal release.

Warning: Because the test version renders live from its Manifest URL, a redeploy at that address silently changes what everyone testing the component sees. There is no snapshot until promotion.

Production mode

The mode for a stable, optimized component ready for use across the project. You upload a packaged build as a .zip archive and can add a version tag and release notes.

unify-applications-registering-and-versioning-03-add-component-production-mode.png
unify-applications-registering-and-versioning-03-add-component-production-mode.png

When you upload a production build, the platform runs automated checks:

CheckWhat it verifies
Manifest presentThe manifest.json file is found in the archive
Component type definedThe manifest's type field is set
UI code presentThe main entry file is found
Icon availableA component icon is resolved

The Add button stays disabled until the upload finishes and all checks pass.

The Test Version

The test version — shown in the component's detail view as the Development Version — is a single, live, in-progress version defined by a Manifest URL. The builder loads it straight from that address, so whatever your developer redeploys there is what the test version shows — no upload, no numbering.

unify-applications-registering-and-versioning-04-test-version-detail.png
unify-applications-registering-and-versioning-04-test-version-detail.png

From the three-dot menu on the Development Version row you can:

  • Edit — update the Manifest URL. The component reloads from the new address.

  • Move to Production — promote the test version to a numbered production version.

unify-applications-registering-and-versioning-05-test-version-menu-move-to-production-edit.png
unify-applications-registering-and-versioning-05-test-version-menu-move-to-production-edit.png

Note: Only one test version exists at a time. While a test version is pending promotion, you cannot start another one. Move the pending test version to production first.

Production Versions

A production version is a fixed snapshot of the component, created by uploading a packaged build. Each one is numbered and kept in the version history — it never changes after creation. Apps pinned to a production version keep rendering exactly that build.

When creating a production version you can add:

  • Version tag — a short label (e.g., v1.2.0)

  • Release notes — a description of what changed

Adding a New Version

In the component's detail view, click + New Version. The New Version dialog asks for a Name and a Deployment Mode:

  • Production — upload a new packaged build with Upload File, and optionally fill Tag this version and Release Notes. Use this to add a numbered production version directly, without going through a test version.

  • Development — enter a Manifest URL to start a new test version, for example after your last test version was promoted.

While a Development Version exists, Development is disabled in this dialog and a note reads "Test mode is disabled — To create a new test version, publish the current test version to production first." Use Move to Production on the existing Development Version instead.

unify-applications-registering-and-versioning-06-production-versions-tags-release-notes.png
unify-applications-registering-and-versioning-06-production-versions-tags-release-notes.png

Promoting the Test Version to Production

  1. In the component's detail view, open the three-dot menu on the Development Version row and choose Move to Production.

  2. Check the Name field. It is required and prefilled with the component's name.

  3. Use Upload File to upload the component's packaged build (the .zip archive of your built code).

  4. Optionally fill Tag this version and Release Notes.

  5. Click Add. The platform deploys it as the next numbered production version.

unify-applications-registering-and-versioning-07-move-to-production-dialog.png
unify-applications-registering-and-versioning-07-move-to-production-dialog.png

Warning: Promotion requires a packaged build, not the test URL. Moving to production takes an uploaded package — not a capture of the running test URL. Make sure the package you upload matches what you tested. The two are separate artifacts.

Once promoted, the Development Version section disappears. To start a new test version, click + New Version and choose Development.

Content Security Policy (CSP) for Dev Hosts

If the content security policy blocks the host serving your Manifest URL while you create or edit a version, a Blocked by content security policy dialog appears: "{host} is not permitted by the active content security policy. Reload the page to apply the updated allowlist, then re-enter the URL." Click Reload to allow. The page reloads and the dialog reopens with what you entered.

On a page in the builder, a blocked dev host shows a Custom component blocked message with an Allow & reload action instead. See Using Custom Components in the Builder for what that action does.

Note: An unreachable URL and a blocked URL look different. An unreachable address produces a validation error asking for a valid URL. A reachable-but-blocked address produces the Blocked by content security policy dialog. Only the second case is fixed by allowing the host.

  • Custom Components Overview — the full lifecycle and the two-halves model

  • Using in the Builder — placing and configuring the component on a page

FAQs

Can I promote directly to production without testing via a manifest URL first?

Yes. When creating a component you can choose Production mode directly, upload a packaged build, and skip the development test version entirely. This is appropriate when you've already tested the component outside the platform.

What if my production upload fails the file checks?

The Add button stays disabled until all checks pass. The dialog shows which specific checks failed — manifest missing, component type not defined, UI code absent, or icon unresolved. Fix the corresponding issue in your package and re-upload.

Can I roll back to an older production version?

You can't roll back the registered component itself, but a Custom block on a page can be pinned to any specific version in the version history. Pin affected blocks to an older version if a new production version has a regression. See Using in the Builder.

Does promoting a new production version automatically update all pages using this component?

Only if those pages' Custom blocks are set to Latest Version in Component Version. Blocks pinned to a specific version number are unaffected by a promotion. This is why pinning is important when you need to isolate a page from future releases.