Quick answer: Pass unique integer Key per Print String. Default -1 stacks on slot 0.
Print String for HP and Ammo. Both show on the same line. Same default Key overrides.
The Fix
BP:
Print String("HP: 80", Key=10, Duration=2.0)
Print String("Ammo: 30", Key=11, Duration=2.0)
// C++ direct
GEngine->AddOnScreenDebugMessage(10, 2, FColor::Green, TEXT("HP: 80"));
GEngine->AddOnScreenDebugMessage(11, 2, FColor::Yellow, TEXT("Ammo: 30"));
Each Key gets its own slot. Same key updates the existing slot in place — useful for live HUD displays.
Verifying
Both lines visible separately. Stable per-frame replacement when keys reused.
“Unique keys. Slots distinct.”
Related Issues
For Print String shipping, see shipping. For Tick after pause, see tick pause.
Keys distinct. Lines split.