Add the runtime module to your game module:
PublicDependencyModuleNames.AddRange(
new[]
{
"ContentMountRuntime"
});Only editor modules should depend on ContentMountEditor.
UContentMountBlueprintLibraryFContentPackageMountManagerFContentPackageInspectorUContentPackageDownloadTaskFContentMountOptionsFMountedContentPackageInfoEContentMountResult
#include "ContentMountBlueprintLibrary.h"
#include "ContentMountTypes.h"
void MountGeneratedPackage(const FString& PakPath, const FString& ManifestPath)
{
FContentMountOptions Options;
FString Error;
EContentMountResult Result = UContentMountBlueprintLibrary::LoadMountOptionsFromPackageManifest(
ManifestPath,
Options,
Error);
if (Result != EContentMountResult::Success)
{
UE_LOG(LogTemp, Warning, TEXT("Manifest read failed: %s"), *Error);
return;
}
FMountedContentPackageInfo MountedInfo;
Result = UContentMountBlueprintLibrary::MountContentPackage(PakPath, Options, MountedInfo, Error);
if (Result != EContentMountResult::Success && Result != EContentMountResult::AlreadyMounted)
{
UE_LOG(LogTemp, Warning, TEXT("Mount failed: %s"), *Error);
return;
}
}#include "ContentMountBlueprintLibrary.h"
#include "ContentMountTypes.h"
#include "Engine/World.h"
void SpawnMountedActor(UWorld* World)
{
if (!World)
{
return;
}
FString Error;
TSubclassOf<UObject> LoadedClass;
const EContentMountResult Result = UContentMountBlueprintLibrary::LoadClassFromMountedContent(
FSoftClassPath(TEXT("/SpacePack/Blueprints/BP_DLCActor.BP_DLCActor_C")),
LoadedClass,
Error);
if (Result != EContentMountResult::Success || !LoadedClass.Get() || !LoadedClass->IsChildOf(AActor::StaticClass()))
{
UE_LOG(LogTemp, Warning, TEXT("Class load failed: %s"), *Error);
return;
}
World->SpawnActor<AActor>(LoadedClass.Get(), FVector::ZeroVector, FRotator::ZeroRotator);
}Treat every non-success result as actionable.
Useful result values:
UnsupportedInEditorFileNotFoundPakPlatformUnavailableMountFailedMountPointFailedAssetRegistryFailedLoadFailedHashMismatchCanceled