What do you all think about the idea of being able to declare what function gets called when a variable is marked as RepNotify?
Currently rep notify functions are auto generated from enabling rep notify for a variable, however you cannot categorize or name the on rep function. I think it could be useful to specify a compatible function to call under the rep notify enabled variable as seen in the attached image. It would be similar to the “create event” node.
Just a nice QOL for blueprint replication since rep notify is so useful and widely used.
Like expose the functionality to blueprint? Or just doing literally that in C++? I’m mainly wondering if anyone else thinks this would be helpful for blueprint users. Unfortunately while it seems i can get by with network replication in blueprint, i may have to sooner or later move to C++ more or less to get the best experience.
You’d create the variable and Onrep configuration in C++. Expose the variable to BP.
Realistically at the end of production BP’s should not have much “code” in them. 99% should be in C++ parent class and the BP class should just be a configurable variant that’s used in game play.
Look at the Character class and Character Movement Component as an example. All of its replication is handle in C++. Loads of it too.
Every dev regardless of experience at some point has to use BP’s. These are the configurable assets that are used in gameplay. At the highest level you’re writing everything in C++ and exposing to BP for end result usage. You then create a BP from the parent class and use it. You don’t ever hard code references to specific meshes, fx, sounds in C++. You reference type and expose it to BP.
thanks for your pov.
i understand that some devs have to use bps at some point, but that does not negates the fact that most of the users (if not the real target audience) of bps are designers, artists, and non programmers.
as a lead dev, too often, i have to deal with supporting colleagues that shoot themselves in the foot with too much power they don’t need, don’t want, or they get overwhelmed by it. and that makes it much harder to do my job, while also increasing the cost of the project considerably.
in fact, the majority of the devs that use bps are the ones that find cpp too complex or difficult (this is not a value judgement but just a neutral fact), usually new comers. experienced devs find cpp much faster and easy to work with, the ones i know have told me that too.
if you want flexibility and more power, there’s cpp. two tools for the same job is not a very wise strategy.
anyway, i dont disagree with you, op asked for my opinion, and this is my opinion.
As a Senior GD that’s my main point. Designers are the ones using our end product as a simple BP. All the complexity is in the parent. They shouldn’t be coding really anything. Just drag-n-drop, configure.
Networking should be handled by either the Sr GD or a dedicated network engineer. Designers, Artists etc shouldn’t be messing with anything network related.
I do agree the current onrep setup is good enough. Need more than that then work with C++.