Networking pass-through nodes.

Forgive my possibly confusing title. Over the past little while that I have been dealing with networking in blueprints, I have found it very tedious whilst trying to go from something executing on server, to executing on owning client (just an example). Unless there is a trick I don’t know about, I have to create a whole new custom event to change replication properties. Here is an example picture:

Currently I want the area in pink to still execute on server, but the area in green to execute on owning client. My thoughts were that it would be pretty cool if there were a node that I could place in-between the pink and green area that would modify the replication properties of any trailing execution (execution following the node). This would stop me from having to create a whole new custom event just to execute that one Initialize Inventory node.

Do you even trying?) pic
Creating extra events is part of my workflow.

Lol… I guess I am not trying hard enough, but wouldn’t you agree that this would be a good idea?

now that at least readable and you can easily manipulate which variables server or client blueprint should use at any stage.

You want the Switch node :slight_smile: Switch Has Authority is it’s full title I believe.

Well not exactly, switch has authority just splits based on authority, I would need to do something that executes on owning client, or runs on server, or does multicast. It is just a little inconvenient to create a whole new custom event for a different replication setting.

Ohh I see. Yeah in that case a new event would be what you need I’m afraid. It’s no different in C++ to be fair, you still have to create specific functions for RPC’s etc.

I have to second that, it makes stuff a bit cleaner. I personally wouldnt like to see proposed node.
First it makes it too easy to communicate between the server and the client (yes, there is something like too easy). This would result in so many people claiming that the Engine is **** just because they crapped up their Blueprint network (admitted, they can already do that :slight_smile: ).
Second, these are Events for a reason. Because Events are processed Async, and also for that reason they cannot have a return value.
Imagine that in your example you continue after the Initialize Inventory with some server code. How should that be handled? Should the code on the server be halted while the message is sent to the owning client and continued after the Initialize is executed (sending a messages back to the server)? or should it be executed async and the server code continues directly?

From my own experience i have to say that its much easier to understand what you were doing after 2 months with the Custom Events for each network communication as opposed to having something inline.