Download

Can't move or change actor's visibility once the game is paused despite tickable when paused

I’m creating a simple game in which, when the character dies, I want to show an actor with a widget component attached. So the way I handle loss state is just a simple overlap check with the obstacles and if it occurs, I pause the game, set the widgets text boxes to reflect the score and high score, and allow the player to play again. This all worked fine before I changed the way the widget works - it used to be a child of camera and now it’s its own entity, a component on an actor I called Endgame Billboard. So it is outside of the game view and I want to move it somewhere inside after the loss - here’s the blueprint for that:


And the weird thing is, the things after the pause work correctly, while this simple location change - even though it’s done before - doesn’t. I’ve also tried just doing Toggle Visibility instead of SetActorLocation as this would suit me as well but to no avail either. If I disconnect the edge going to pause, thus not pausing the game, the location setter works correctly.

Why is that so? The endgame billboard is allowed to tick during pause, so is the character blueprint, so I see no reason why this wouldn’t work - especially considering that the things that come after the pausing node work correctly…

The curious thing is, at the end of all the nodes connected to the overlap event, long after the pause, I added two prints, showing the EndgameWidgetBillboard location+rotation and its component Widget world location+rotation and they are both correct, ie. {370, -230, 80} for location and maintaining the correct rotation…

My whole game is taking place inside a cylindrical room and if the billboard with the widget is placed inside this cylinder, it… works. It jumps to the correct spot and shows like it should. As soon as I move it outside (which is what I was trying to do the whole time cause I only want it to jump to the correct spot after the character dies) - the parent cube of the actor appears inside but the widget does not. No idea why this may be… The collision settings were set to UI for the widget but I tried and changed them to NoCollision both for the Cube and the Widget - but still, to no avail. If they’re inside and just have to jump to a new place when the pause occurs - everything’s fine. If they’re outside - no dice.

You have Return value in Set Actor Location, connect with branch and on True Set Game Paused.

Regretfully this doesn’t help as the actor’s location is set correctly - the actor changes position which is reflected in its coordinates and the cube I set as its root also jumps to the correct spot. The problem is that the widget doesn’t come with it if it has to cross the cylinder’s boundaries :frowning: Right now I have a hacky solution where the widget is always inside the cylinder, just facing the transparent side up so that the player would never see it - and it works 100% of the time. If I wanted to put it outside the cylindrical game space though - the cube (its root) will teleport but the widget component will be nowhere to be seen…