243bb1fc55
Reverse direction of the export: read a folder of .uasset files, recover each one's original package path, and bring the chosen ones back. Recovering the path is the hard part - a reference inside a .uasset names its target by full package path, so a file only works when restored to where it came from. Four sources are tried and the one used is shown per row: our manifest, the package header, the folder structure, or nothing. The package header carries the name on this project's assets, measured, so a flat export without a manifest still restores correctly. The engine notes the field is not always written, hence the chain rather than one check. Import refuses to destroy work: existing assets are skipped unless overwrite is explicitly on, and a package loaded in the editor is never replaced. Also verifies Migrate on real data for the first time - asset and its dependency land at the correct package paths. Co-Authored-By: Claude Code <noreply@anthropic.com>
32 lines
917 B
C#
32 lines
917 B
C#
// NextGenium 2026. Asset Usage Audit.
|
|
|
|
using UnrealBuildTool;
|
|
|
|
public class AssetUsageAuditTests : ModuleRules
|
|
{
|
|
public AssetUsageAuditTests(ReadOnlyTargetRules Target) : base(Target)
|
|
{
|
|
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
|
|
|
|
PublicDependencyModuleNames.AddRange(new string[]
|
|
{
|
|
"Core",
|
|
"CoreUObject",
|
|
"Engine"
|
|
});
|
|
|
|
PrivateDependencyModuleNames.AddRange(new string[]
|
|
{
|
|
"AssetRegistry",
|
|
"AssetUsageAuditCore",
|
|
// Only the Migrate live spec needs these, and only ever under EditorContext. The Core
|
|
// module still must not link them - that invariant is about the analysis being runnable
|
|
// headless, and a test module is not part of that path.
|
|
"AssetTools",
|
|
"UnrealEd",
|
|
"Json",
|
|
"Projects"
|
|
});
|
|
}
|
|
}
|