How do you remove the blue "Paused" text for when the game is paused in C++?

I’m gonna get technical here :wink:

The SetSuppressTransitionmessage() is set inside the GameMode contructor. Now usually, constructors construct objects and should not rely too much of other objects because there might be a problem in the order each object is constructed or else BOOM! Faulty pointers. The GameMode is set up early in the hierarchy of things to construct so there is probably no engine ready at this stage. And that’s why in this case the GEngine is checked (and the following viewport) to see whether it is NULL or not. If it is, we jump across whatever was inside those brackets. And SetSuppressTransitionMessage() will not be called.

Now, I just ran the Strategy program with the newest 4.4.0 and traced this call. Turns out the condition is jumped over because the GEngine pointer is set to NULL. What happens next is that further down the road, the GameMode constructor is called another time, probably because of some switching to another game mode along the way and then there is a valid engine and GEngine is not NULL and so is its viewport. And SetSuppressTransitionMessage() is finally called. With the 4.4.0 version, the blue text is no more.

But that second call to the constructor doesn’t make things kosher. I don’t know why Epic decided to make such a check there. How I do things is call SetSuppressTransitionMessage() in BeginPlay() or some early function after all is constructed, where I’m sure that everything is setup correctly. I do make a token check to Engine and Viewport, but that’s just me wearing both a belt and suspenders. :slight_smile:

So It’s possible that in earlier versions, or for some reasons due to the environment, only one call to Gamemode was done and it simply failed because Engine was NULL at that moment.

So that’s my explanation. If you still need some help, I can fix a YouTube video or a Google Hangout to set things in the code providing you have your C++ environment up and running.

Regards.