Widget draws to all clients

Hello, really simply if I draw a widget from within a character BP, it replicates to all clients in a dedicated server multiplayer setup. The problem is there are multiple character BPs to possess when spawning (multiple classes), and while all the spawning logic works, and a widget to select the class works (added to viewport within the level bp) a simple add to viewport for a specific widget per client doesn’t work. I cannot use the level bp (where I know the widget creation/viewport addition works) because I need to use a custom event linked to the class selection widget.

It should be mentioned that an isvalid node is being used to check the create widget node, and it comes back invalid, although it DOES work, but draws to all clients.

I don’t really have a way to get a picture of this so to simply reiterate: Within a characterBP, I have: eventbeginplay>Createwidget>isvalid?>widget is set to variable>add to viewport. It works perfect but it shows up on other clients as well.

Thanks!

SOLVED: For anyone who sees this in the future, I got a solution from the nice people on answerhub here: widget draws to all clients - UI - Unreal Engine Forums

Grab a ‘Is Locally Controlled’, and hook that up to a branch. Only spawn the widget if the value is true.

worked perfect! Thank you!

If you have another moment, could I get your help again? It’s basically a very similar situation except I’m drawing a widget from the level bp, and it’s once again spawning to all clients. It looks like the issue is probably because I cannot call the controller directly from level bp, only player controller. Is there a workaround? Or a better blueprint to access this from?

Post a screenshot of what you are doing in the level blueprint.If you don’t want it to spawn for everyone, who do you want it to spawn for, and why?