From bd138e2790125f1f7efae82b8c87728b2e376d3b Mon Sep 17 00:00:00 2001 From: jyelon Date: Sat, 4 Apr 2026 21:07:13 -0400 Subject: [PATCH] Fix bug in package loading --- .../UEWingman/Source/UEWingman/Private/WingFetcher.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Plugins/UEWingman/Source/UEWingman/Private/WingFetcher.cpp b/Plugins/UEWingman/Source/UEWingman/Private/WingFetcher.cpp index ecd46964..7e073a9a 100644 --- a/Plugins/UEWingman/Source/UEWingman/Private/WingFetcher.cpp +++ b/Plugins/UEWingman/Source/UEWingman/Private/WingFetcher.cpp @@ -139,18 +139,16 @@ WingFetcher& WingFetcher::Asset(const FString& PackagePath) return SetError(); } - // Check if the package exists before calling LoadObject, because - // LoadObject logs its own errors when the package doesn't exist. - FString PackageName = FPackageName::ObjectPathToPackageName(PackagePath); - if (!FPackageName::DoesPackageExist(PackageName)) + UPackage* Package = LoadPackage(nullptr, *PackagePath, LOAD_NoWarn); + if (!Package) { Errors.Printf(TEXT("ERROR: Asset '%s' does not exist.\n"), *PackagePath); return SetError(); } - SetObj(LoadObject(nullptr, *PackagePath)); + SetObj(Package->FindAssetInPackage()); if (!Obj) { - Errors.Printf(TEXT("ERROR: Could not load asset '%s'\n"), *PackagePath); + Errors.Printf(TEXT("ERROR: Could not find asset in package '%s'\n"), *PackagePath); return SetError(); }