So I’m trying package my project for testing and I keep getting this error.
UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogOutputDevice: Error: Ensure condition failed: !FPackageName::IsShortPackageName(Path) [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/CoreUObject/Private/UObject/SoftObjectPath.cpp] [Line: 79]
UATHelper: Packaging (Windows (64-bit)): LogInit: Display: LogOutputDevice: Error: Cannot create SoftObjectPath with short package name 'False'! You must pass in fully qualified package names
I have absolutely no Idea what could even be the problem. A google search seems to suggest that it could be related to Blueprint Enumeration and Structures, However, it is specifically for this reason that I am defining Enumerations and Structures in C++.
Any progress on this? We have the same issue. I’ve managed to localize it to the content of a specific map. Excluding that map and everything can be built. But that’s all I got.
We had the same issue. After doing some debugging we managed to find the cause in our case. The issue was something to do with the variables in a blueprint. Deleting all of them and recreating them somehow solved the issue.
This is how we found the offending blueprint:
In Edit → Project Settings → Packaging
Add each one of your maps one at a time to List of maps to include in a target build. This is to narrow down what level has the offending blueprint.
After we found the map, we created a new level and added everything from that map one at a time. Eventually, the packaging failed. So now we have the blueprint.
Going through the blueprint we found the blueprint variables caused the issue.
Unfortunately, I can’t provide any actual reason for why this happened. Something probably went wrong when the variables by added, or something. Seems like an unreal-level bug. We had the issue early, so only 3-4 blueprints to go through. If your project is bigger… well…
The easiest way I’ve found to trace it is to run the engine with a debugger, it should break on that error - open the call stack and go all the way to CopyTermDefaultsToDefaultObject, there check the variable DefaultObject. It should contain the name of the corrupted file