This was confusing to me as well when I first started working with Unreal. I won’t pretend I understand it from an engineering standpoint, but you need to use one of many ways to get a reference to the BP you want to modify. Depending on what you want to do, different methods might be better than others.
If you have more information on what exactly you’re trying to do, I might be able to help you. But, here’s a couple stabs in the dark that might help.
If the BP class (target) that you want to modify with your widget is spawned in the game, then you should be able to use a node in the widget BP called ‘Get All actors of Class’. Then in that drop-down, search for the name of your class. This node will return all actors currently spawned in that class into an array of that type. If you know there’s only one in existence at a time while playing, then you can drag off the array return and find the node “Get”, which will get from the array and the default will be index 0, that will be your target BP class. On the “Get” node, the return pin will be a direct reference to your target BP class and you’ll be able to access all it’s settings, variables and functions when you drag off of it, just like you get when you’re in that BP directly and right click (provided, of course, that you’ve successfully found one in the array).
(To check if it found one, you can drag off the Get’s return and add a node ‘Is Valid’. There are two types, one is a pure function that will return a true/false, the other is an execution pin that will act like a branch in this case; pick the second one. If it found one, then it will be valid, so you can continue from there. the editor will let you continue regardless, this is a check for Play/runtime to ensure you don’t get errors, or maybe you want to do something else if that BP doesn’t exist when you click the button, like print an error to screen for debugging.)