Add additional text boxes to child components of widget switcher in UMG

Hi everyone,

I’m trying to do something that feels relatively complex, but I’m hoping there might be a solution out there for what I want to implement.

I am working with a widget switcher to create a kind of inventory-style journal of descriptions of objects found in my game. The interactable object blueprint uses exposed IDs for each object placed in world, which is then tied to the widget switcher’s index. When the player locates Object 5, for example, the widget switcher’s active index is set to 5 and added to viewport where the player can read a short description about the object. This functionality is important because I want the player to be able to access all found objects, by tabbing left and right through the widget switcher once it is added to the viewport, whenever they like. (This way of doing things also makes it relatively easy to insert a custom mesh exposed on spawn, so I only need one actor blueprint so far.)

Currently, I have all of the above functionality implemented and it is working as I want. But now I want to see if I can add additional descriptions to a single widget. For example, let’s say, early on in the game the player finds object 5 and reads the description of widget index 5. Later on in the game they find the same item but they have now “earned” more information about that item. On the second interaction, I want a second text box to get created within a scroll box or become visible (if already created?) on widget 5. I have the scroll box already in place, and the effect is just as I want it if I manually add a second paragraph to the current one. The problem is I need the second text box to get added during gameplay.

Any thoughts on how I can create some standard function within my widget blueprint to add a customizable second paragraph to the children of the widget switcher at index X when object of ID X is found for the second time?

Attaching screenshots below to show how I am implementing the widget switcher for each child’s corresponding in-world object (both the function in the widget blueprint itself and how I’m calling the function based on the interactable object’s in-world ID), and the beginning of the function I’m trying to write to add the second text box on second interact.

Thank you so much in advance!!

FOLLOW UP: I’m just thinking now, should I be doing this with overlays? As in, I have my main widget with the journal formatting that I want and all other details that never change throughout the game, and then I have a second widget that contains just the description inside the scroll box that gets customized and added as a child to the widget when the object has been found? Would I need to have two separate widgets, one with a single paragraph and one with the first and second paragraphs, and basically switch out these widgets as children of the overlay when the object is found for the second time?