Skip to content

Push assets to Prophouse

Pushing publishes assets from your project to the Prophouse catalog. You select assets or folders, review what will be published, and the plugin sends every package they depend on so the assets open correctly in any other project.

  1. In the Content Browser, select the assets and folders to publish. Right-click and choose Push to Prophouse….

    If nothing is selected in the asset view, the folder selected in the folder tree is pushed instead.

  2. The plugin collects the selection in the background behind a progress notification (Prophouse: collecting assets for push…). You can keep working, or click Cancel on the notification. If any package in the selection has unsaved changes, Unreal asks you to save it first.

  3. The Push to Prophouse window opens on the review page. Adjust what gets published (see Review the selection).

  4. Click Push N package(s).

  5. Read the results page, then click Close.

Only one collection runs at a time. Starting a second push while one is collecting shows Prophouse: a push collection is already running.

The plugin walks the full dependency closure of your selection: every hard and soft reference, repeated until nothing new turns up. Redirectors are followed to their targets and left out. Engine, script and plugin content is excluded, since every project already has it.

For each package it reads the saved file on disk and computes a SHA-256 hash, so what you push is exactly what is saved. If you decline to save a package with unsaved changes, that package and anything that hard-depends on it are skipped and listed as excluded on the review page.

Anything on the project’s sync blacklist is skipped too, along with everything that hard-depends on it. See Exclude assets from sync.

Only some asset classes become browsable catalog entries. The rest travel with the push as dependencies so references resolve.

Asset class Catalog type
Static Mesh Mesh
Skeletal Mesh Skeletal mesh
Blueprint Blueprint
Material, Material Instance Material
Texture 2D Texture
Niagara System VFX
Sound Wave, Sound Cue, MetaSound Source Audio
Anim Sequence, Anim Montage Animation
Level Sequence Sequence

Content the server already has is deduplicated, so only new bytes transfer.

The review page header reads N asset(s) ready to publish as catalog entries. N supporting package(s) they depend on travel with the push automatically.

The asset list has these columns:

Column Meaning
Entry A checkbox for classes that can be catalog entries. Clear it to push the asset as a dependency only. Supporting packages show dep instead.
Asset The asset name. Hover for the full package path.
Type The Unreal class.
Size Size of the saved package file.
Lineage update of <lineage> when the asset already came from Prophouse. Pushing it registers a new version on that lineage instead of creating a duplicate.

Above the list:

  • Filter by asset name… narrows the list.
  • Show N dependencies adds the supporting packages to the list. They always travel with the push whether shown or not.
  • Advanced shows the pack picker and the Variant group and Variant label columns.
  • Release my checkout when this push lands appears when an asset in the push is one you have checked out. The lock is released only after the new version is on the server.

If the plugin can reach the desktop app, the page also shows any locks or review states on the assets you are pushing.

Under Advanced, Pack: defaults to Automatic (from folder name), which names the pack after each asset’s top-level Content folder (for example /Game/CreepwoodCarnival). Pick an existing pack from the list to attribute everything in this push to it instead.

The plugin groups assets that look like variants of each other and tells you how many groups it found (N variant group(s) detected from naming conventions and applied automatically.). Assets are grouped when they share a folder, a class and a base name, and end in one of these suffixes:

  • a single letter, such as SM_Crate_A, SM_Crate_B (not for textures, where _D and _N usually mean channel maps)
  • one to three digits, such as SM_Chair_01, SM_Chair_02
  • a descriptive word such as Worn, Damaged, Rusty, Clean, Red, Wood, Small or Large

A group needs at least two members, and assets that already belong to a lineage are left out. Turn on Advanced to see the result:

  • Variant group holds the proposed group name. Edit it to regroup assets, or clear it to ungroup one.
  • Variant label names this version as a variant (for example Worn). On an asset that already has a lineage, a labeled push adds the variant to that lineage without replacing the entry’s main version.

Two boxes can appear under the list. Excluded from push (N) lists blacklisted packages and anything that hard-depends on them. N package(s) excluded from this push lists packages the plugin could not include, usually dangling references to content that was deleted or never migrated. Pushing anyway is safe; the missing pieces are not delivered. To fix it, repair or resave the referencing asset. Unsaved packages are fixed by File → Save All.

Every asset that comes from Prophouse carries a provenance stamp that links it to its lineage. Duplicating or migrating an asset can strip that stamp. If the server recognizes an unstamped asset as a likely new version of an existing one, the Prophouse - possible lost stamps dialog opens. For each asset, choose:

  • Update of <lineage> to register it as a new version of that lineage.
  • New, unrelated asset (new lineage) to publish it separately.
  • Decide later (hold) to leave it out of this push.

Continue push applies your choices. Decide later (hold all), or closing the dialog, holds every flagged asset. Held assets are not registered; the rest of the push still publishes, and you can push again later to answer.

The editor shows this dialog only when Use legacy direct transfers (deprecated) is on.

The progress page shows a progress bar and a status line. Cancel push stops before the final commit, and nothing is registered in the catalog. Files that already uploaded are reused next time.

Large pushes are split into batches to fit the server’s per-push limit. If you cancel or a push fails part-way through, batches that already committed stay registered; the message tells you how many.

With the desktop app (the default), the editor hands the files to the app and the results page reads Handed off to the Prophouse agent: N item(s) staged…. Uploads continue in the background and you can close the editor. A status line tracks the upload (Uploading to Prophouse…, then Uploaded — the new version is live.), and a notification Prophouse: push uploaded — N item(s) are live in the catalog. appears when it finishes, even if you closed the window. If an upload fails, Retry requeues it without restaging. If the desktop app is not signed in to a workspace yet, the upload starts once you sign in there.

With Use legacy direct transfers (deprecated), the results page lists every item:

Column Values
Status new, dedup (already on the server), held (<reason>) or denied (<reason>) (blocked by server policy)
Entry created, updated or - for dependencies
Detail Lineage id, variant, or what to do about a hold

If a push fails, the error page explains why. Back to review keeps your selection so you can push again. If the server rejected your credential, the page offers Sign in with browser.

The plugin captures a thumbnail for each asset published as an entry. It uses the package’s cached thumbnail when one exists and renders a fresh one otherwise, so thumbnails do not come out grey from mid-compile shaders. With the desktop app, thumbnails travel with the push. With legacy transfers, they upload after the commit. A thumbnail failure never fails a push; the catalog shows a placeholder instead.

To redo thumbnails later, use Recapture thumbnails in the Prophouse Processing tab. See Previews and library processing.

To keep content out of Prophouse (for example content licensed to one project only), right-click it in the Content Browser and choose Prophouse: Exclude from sync. Excluded assets and folders are never pushed or processed, and anything that hard-depends on them is left out of pushes too.

The list is stored in Config/DefaultProphouse.ini, so the exclusions are shared with your team through version control. You can edit it under Edit → Project Settings → Plugins → Prophouse (Project) → Sync Blacklist. Prophouse: Include in sync removes a selection again; an asset inside an excluded folder stays excluded until you remove the folder entry.