Components and component children, required components, etc

For issue #1 it appears the WIP GameplayAbilities module has a similar architecture to what I was attempting to do with Component A and Component B.

In order for Component A to successfully replicate an array of base UObject types it looks like the following steps are needed:

  • Create my new UObject Derived class I’ll call BType for now (replacement for Component B).
  • Implement IsSupportedForNetworking in BType
  • Implement GetFunctionCallspace in BType
  • Implement CallRemoteFunction in Btype so RPCs are supported with the proper NetDriver for BType
  • Implement ReplicateSubobjects in Component A and loop over my array of BType calling ReplicateSubObject on the passed in Actor Channel with each instance of BType
  • Implement GetLifetimeReplicatedProps in Component A and rep the respective array BType

It would be great if someone with experience on replicating and using RPCs on a non Actor or ActorComponent could verify that these are the only steps needed.

I also wouldn’t mind my other issues being read over.