Skip to main content

License Tracking

The License Tracking system helps you keep track of where your assets come from - which marketplace pack, which publisher, and which license covers each asset.

Overview

The system revolves around License Sources - data assets that represent an asset pack or marketplace purchase. Each source stores:

  • Pack name and publisher
  • Purchase URL and notes
  • The list of assets mapped to it (distributed registry)

License Manager Panel

Open via Tools > Elys License Manager > License Manager.

The panel has two tabs:

Sources Tab

Manage your license sources:

  • View all sources with asset counts
  • Create, edit, and delete sources
  • Purge dead links (remove mappings for deleted assets)
  • Merge two sources into one

Asset Explorer Tab

Browse assets and their license coverage:

  • Scan a folder to see which assets are assigned to sources
  • Identify unlicensed/unassigned assets
  • Assign assets to sources directly

Creating a Source

  1. Open the License Manager panel
  2. Click "+ New Source"
  3. Enter the pack name (e.g., "Medieval Props Pack")
  4. Fill in optional fields:
    • Publisher - Who made the pack
    • Purchase URL - Link to the marketplace page
    • Notes - Any additional information
  5. Click Save

Assigning Assets

By Folder

  1. Select a source in the Sources tab
  2. Click "Add Folder"
  3. Browse the folder tree and select the content folder
  4. All assets in that folder (recursively) are assigned to the source

By Selection

  1. Select a source in the Sources tab
  2. Click "Add Assets"
  3. Select individual assets from the Content Browser

From Content Browser

  1. Right-click a folder or asset in the Content Browser
  2. Select Elys License Manager > Assign License Source
  3. Pick a source from the dialog (or create a new one)

Viewing License Info

  • Right-click an asset > Elys License Manager > View License Info to see which source it belongs to
  • Double-click an asset in the License Manager's linked assets list to navigate to it in the Content Browser

When assets are deleted from your project, their mappings become stale:

  1. Select a source in the Sources tab
  2. Click "Purge Dead Links"
  3. The system removes all mappings pointing to non-existent assets

You can also purge dead links from all sources at once via Blueprint.

Merging Sources

To combine two sources into one:

  1. Select the source you want to merge away
  2. Click "Merge Into..."
  3. Select the target source
  4. All asset mappings move to the target, and the original source is deleted

Distributed Registry

Each AssetSourceData asset stores its own MappedAssets array. This means:

  • When you migrate a source to another project, all mappings come with it
  • No central registry file to maintain
  • The global LicenseRegistry only tracks which sources exist (for discovery)

Legacy Migration

If you have an older version with centralized mappings, they are automatically migrated to the distributed format on first load. No user action is needed.

Blueprint API

// Get the subsystem
UERP_AssetInsightsEditorSubsystem* Subsystem =
GEditor->GetEditorSubsystem<UERP_AssetInsightsEditorSubsystem>();

// Get the license manager
UERP_AssetLicenseManager* LM = Subsystem->GetLicenseManager();

// Assign assets to a source
TArray<FString> AssetPaths = { "/Game/Props/SM_Table", "/Game/Props/SM_Chair" };
LM->AssignAssetsToSource(AssetPaths, MySource);

// Check what source an asset belongs to
UERP_AssetSourceData* Source = LM->GetSourceForAsset("/Game/Props/SM_Table");

// Purge dead links
int32 Removed = LM->PurgeDeadMappings(MySource);

// Merge sources
LM->MergeSourceInto(SourceA, SourceB, /*bDeleteAfter=*/ true);

Next Steps