[bug report] cannot create override for variable on rep notify handler defined in parent class

  • Create empty project;
  • Create actor blueprint “parent”;
  • Create actor blueprint “child”
    inherited from “parent”;
  • Add boolean var “test” to parent;
  • Make “test” repNotify;
  • Click override function in “child”;

Result:
Can’t find OnRep_test function to override in “child”

Maybe could be related to this bug report:

Any update? Still can reproduce on 4.17.1

Can confirm bug is still present in 4.18. In blueprints, RepNotify functions (usually starting with OnRep_) never seem to show up in the override dropdown

For a potential work-around check the Network_Features Content Examples Map, Example 1.4 - It looks like they use a RepNotify variable inside of a normally created function (normally created function has inputs and outputs)

wow, thank you for this suggestion! To clarify for others: create a RepNotify variable on your parent class. Now COPY the name of the RepNotify function and DELETE it. Now make a NEW FUNCTION and PASTE the name to be exactly the same as what the RepNotify function would have been. Leave it alone and go to your child actor to test!

2 Likes

This is still present in 4.20.2, but thank you for the workaround, guys.

Edit: A safer way to work around this might be to create a normal function (e.g. “notify_VariableName”) taking the repNotify variable as an input in the parent class, calling that function in the parent’s Notify and passing the new value, then overriding/extending the new “notify_VariableName” function in the child class.

The work around doesnt work in 4.22 so it would be really nice if Epic could add overrides for OnRep functions

yes I cant find any onrep notify over rides in 4.27

must be a reason, maybe it would crash the engine for what ever reason

Still present in version 5.3 (how did EPIC let this happen?). Is it a bug? YES!! The workaround was mentioned by iamisandisnt.

Thank you!

1 Like

A work around I started using was to have the RepNotify call a Custom Event. In the Parent class, create a new Event and call it something appropriate (say, “RepNotify_Actions”). In the Variable RepNotify, do whatever global logic (if any) you want and then call “RepNotify_Actions”.

Then in the Child Blueprint, create a call to “RepNotify_Actions”. You can either create an Add Call to Parent Function node if there’s global functionality in that event you want to keep, or skip it if you want to overwrite it entirely.

There might be knock on effects to doing it this way, but from the testing I’ve been able to do its produced the expected results.