I need some help wrapping my head around this problem. How do I stop my UI’s from overlapping one another. I noticed a problem where my interact text boxes were overlapping with one another, but now even my tutorials are overlapping with the mere interact text boxes as well. (The tutorials and the text boxes are paired with separate collisions; one for the tutorials separately and the other for the text boxes which are bound to the actors and objects) Does anyone know a way to make this work without overlapping and looking like a mess.
Can you show us some picture so we can propose an alternative
One way i can guess is using visibility, hiding the one that you are not focusing first.
Just uploaded something, I had to convert the video into a gif since I’m a new user
One solution would be to use some condition boolean such as IsBusy from your character bp.
When you called the widget tutorial, you set IsBusy to true and inside your interaction system check for IsBusy whether to show widget interaction or not.
Would it be possible for you to show me an example of your possible solution in action? (code wise)
In your CharacterBP / ControllerBP:
Your container bp for the interaction msg:
This way when you have the tutorial ui on screen, if you move to the container collision, it will check for IsBusy and not show the interaction msg.
Otherwise a 2nd method will be to create widget management system, where you will store an array variable of type Widget that will store only OnScreenWidget.
This should be usually in your controller bp, and you will have 2 function, one to add a widget to that array and another to remove a widget from the array.
When you call your tutorial ui, you can just hide all widget inside that array before, and then show your tutorial. When the tutorial is closed, you can reshow these widget of the array.