Incongruence between Declared functions and .Gen Functions

In a bit of a predicament. I created a new component and everything is running well-ish. I created a function that involves TEnumAsByte that is replicated (I’m getting errors for both Server and NetMulticast) because -the Generated file- is taking that the function should take ECollisionChannel, not TEnumAsByte<> as written in the header file of said component. My understanding is that ECollision channel is a raw enumerator and thus I must declare it within TEnumAsByte parameter. Any un-replicated functions using this declaration run fine; however, the replicated ones are sending the errors.

An Example of the Declaration is :

	UFUNCTION(BlueprintInternalUseOnly, Server, WithValidation, Reliable)
	void SetResponseValueToChannel_S(TEnumAsByte<ECollisionChannel> Channel, TEnumAsByte<ECollisionResponse> NewResponse);

The errors that I’m getting are:

Any ideas? How should I be sending the parameters?

Based on further looking into documentation and other related questions, I have found that the Conversion to TEnumAsByte is only required for UProperty types of memory handling.

The Declaration : “SetResponseValueToChannel(ECollisionChannel Channel, ECollisionResponse NewResponse)”
Worked.

For anyone falling into this error when using Raw Enumerators on Replicated Functions, you may be able to get away with EEnumerator::Type in the UFunction Declaration. More Information here: