FGameplayTagContainer Replication Limit

We currently have a FGameplayTagContainer that is queried and modified by numerous game systems. This led to a significant increase in the number of Gameplay Tags hosted by that container. Since then, we went over the maximum number of possible tags that you can replicate due to this config value:

/** Numbers of bits to use for replicating container size. This can be set via config. */ int32 NumBitsForContainerSize;This led us to increase the total number of bits used for the container size. In the future, this container may grow to contain thousands of tags.

So we would like to understand why there is a hard-imposed limit to the number of tags replicated. We want to make sure we avoid any pitfalls.

Besides the obvious problem of increasing the amount of data replicated, are there any issues that could arise with going over the limit?

Hi,

It’s ini file configurable- not hardcoded. It’s for bandwidth reasons one want to keep it to a minimum. It’s going to be very expensive replicating that if you have thousands of entries since it will replicate everything in it. I’d avoid that, but if that is out of the question I’d probably implementing a different container type, perhaps using FastArraySerializer as the replication type.

Cheers,

Peter

I’ll update the NetSerialize implementation to properly support up to 65535 tags.

Cheers