Skip to main content

Examples

Common workflows and use cases for Elys License Manager.

Example 1: Setting Up License Tracking for a New Pack

Scenario: You just purchased a props pack from the FAB Marketplace and want to track it.

Steps:

  1. Open Tools > Elys License Manager > License Manager
  2. Click "+ New Source"
  3. Enter pack details:
    • Pack Name: "Medieval Props Pack"
    • Publisher: "Epic Marketplace"
    • Purchase URL: The FAB product page URL
  4. Click Save
  5. Click "Add Folder"
  6. Browse to the folder where you installed the pack (e.g., /Game/MedievalProps)
  7. All assets in that folder are now tracked

Example 2: Pre-Release Cleanup

Scenario: Before shipping, clean up development assets and test content.

Steps:

  1. Scan for dependencies

    FERP_AssetDependencyScanResult Result = Subsystem->ScanFolder("/Game/Test");

    if (Result.bSafeToDelete)
    {
    Subsystem->SafeDeleteFolder("/Game/Test");
    }
  2. Clean up empty folders

    Subsystem->DeleteEmptyFolders("/Game");
  3. Purge dead license links

    int32 Purged = Subsystem->PurgeAllDeadMappings();

Example 3: Auditing License Coverage

Scenario: Check how well your project's assets are covered by license sources.

Steps:

  1. Open the License Manager panel
  2. Switch to the Asset Explorer tab
  3. Scan /Game to see all assets
  4. Review which assets have sources assigned and which don't
  5. Assign missing assets to their correct sources

Example 4: Merging Duplicate Sources

Scenario: You accidentally created two sources for the same pack and want to merge them.

Steps:

  1. Open the License Manager panel
  2. Select the source you want to merge away
  3. Click "Merge Into..."
  4. Select the target source from the list
  5. All asset mappings are transferred to the target
  6. The old source is deleted
// Via Blueprint
Subsystem->MergeSourceInto(DuplicateSource, OriginalSource, /*bDeleteAfter=*/ true);

Example 5: Automated Cleanup Script

Scenario: Create a utility widget that cleans up your project.

UCLASS()
class UProjectCleanupWidget : public UEditorUtilityWidget
{
UFUNCTION(BlueprintCallable)
void RunCleanup()
{
UERP_AssetInsightsEditorSubsystem* Subsystem =
GEditor->GetEditorSubsystem<UERP_AssetInsightsEditorSubsystem>();

// 1. Purge dead license links
int32 DeadLinks = Subsystem->PurgeAllDeadMappings();
UE_LOG(LogElysLicenseManager, Log, TEXT("Purged %d dead license links"), DeadLinks);

// 2. Delete empty folders
Subsystem->DeleteEmptyFolders("/Game");

// 3. Scan for broken references
FERP_AssetDependencyScanResult Result = Subsystem->ScanFolder("/Game");
if (Result.BrokenReferenceCount > 0)
{
int32 Fixed = Subsystem->FixBrokenReferences(Result);
UE_LOG(LogElysLicenseManager, Log, TEXT("Fixed %d broken references"), Fixed);
}
}
};

More Examples

For more examples and community contributions, visit:

Next Steps