No announcement yet.

Please, PLEASE - Make OnRep_IsActive() virtual in UActorComponent.h

  • Filter
  • Time
  • Show
Clear All
new posts

    [PROGRAMMING] Please, PLEASE - Make OnRep_IsActive() virtual in UActorComponent.h

    This is possibly the strangest thing I've discovered in the engine to date.

    bIsActive is a replicated property of UActorComponent.h - the fact that it's replicated implies that the Server should be able to change this and clients should update something accordingly. Now, OnRep_IsActive() is PUBLIC, but not-virtual and actually only calls one other function? Very strange encapsulation choice.

    Calling SetActive() on the Server will Broadcast the OnComponentActivated and OnComponentDeactivated delegates too - but NOT on the client. All related server-side functions are virtual. All OnRep_IsActive() does is disable the components tick? This essentially means there's no way to check on the Client if the Server just decided to activate/deactivate a component AND the client won't broadcast those delegates either.

    TL;DR - This is silly. Please make it virtual. I would submit a Pull Request but it's not worth the 18 month waiting time for 8 characters of code.

    Bumping because this is still kind of ridiculous.


      I was asking for changing one function from private to protected and nobody ever answered or registered my request. I did PR, waited for about year and then it was accepted (yes, just private -> protected) Right now I am using custom build and doing PRs with hope that at some point I will be able to go back to launcher version (when all PRs are accepted). Definitely ridiculous.

      Probably best way is contacting directly some engineer.


        It's done


          Originally posted by Cheshire Dev View Post
          Haha! Thankyou kindly