Ok yeah that clarifies things, I know that the UHT generates the method prototypes for the actual SERVER network thunks, and it probably unwraps the EnumAsByte<> part of this, so my guess is that the intention is that the implementations use the actual Enum, where-as the prototype UFUNCTION() needs to use EnumAsByte<> for the metadata part.