Quick answer: Use Development build for Print String. For Shipping, use UE_LOG with a custom category written to log file.
Tester reports a bug; you can’t see Print String in the shipping build. Stripped at compile time.
The Fix
// C++ DECLARE_LOG_CATEGORY_EXTERN in header
DECLARE_LOG_CATEGORY_EXTERN(LogMyGame, Log, All);
// In .cpp
DEFINE_LOG_CATEGORY(LogMyGame);
// At call site
UE_LOG(LogMyGame, Display, TEXT("PlayerHP = %d"), Health);
// Console at runtime
log LogMyGame Verbose
UE_LOG writes to log file in all build types. Custom category lets you filter your messages. Development builds also surface Print String for editor-visible diagnostics.
Verifying
Saved/Logs/<project>.log shows your messages. Console toggles verbosity.
“UE_LOG ships. Print String for dev.”
Related Issues
For DataTable null, see DataTable. For Soft Object cast, see soft object.
UE_LOG ships. Print dev.