Changing Visibility or Material always replicate no matter what

In my project, I got multiple characters controlled by players. One of them is the host and others are clients. In one of my clients, I execute an event locally. I added a print and I can see this event is only executed on this specific client. In this event I tried changing the material, setting a scalar parameter and setting a component to hidden or change its visibility. No matter what all of those apply on every player instantly. I don’t understand beacause this is executed locally on a client, I made the choice to not replicate it so why does it ?

I found a post online about this very problem : How do I make Actors invisible, client side only? [SOLVED] - Epic Games Forums

But couldn’t find a simple blueprint solution.

What I want is just put some blueprint code that will make something (an actor, a component, anything) invisible just for him and him only. That way I can make team based feedbacks in my game (ex: Ally player tag visible, minimap icon visible, etc. but can’t ennemy because that would be cheating).

I also made a post on reddit : https://www.reddit.com/r/unrealengine/comments/9lmstc/setting_visibility_or_hidden_in_game_locally_on/

Thank you.

Does it help to make those elements be attached Actors that are owned by a specific player and then use the OwnerNoSee or OnlyOwnerSee checkboxes to control who sees them?

1 Like