Are the _Implementation and _Validate definitions required in the header file when using server functions? I honestly can’t tell if there is a different using them or not using them, when it it comes to replicating.
The forums and other answers have a handful of answers for previous versions of the engine with some included information regarded GENERATED_BODY( ) and GENERATED_UCLASS_BODY( ) but I am still a bit confused on the whole thing.
I have found out that _Implementation and _Validate are required in the .h file, using using 4.9+ as GENERATED_UCLASS_BODY( ) is depreciated.
As an example, this would be a server function in a .h file:
UFUNCTION( Server, Reliable, WithValidation )
void ServerMyFunction( );
void ServerMyFunction_Implementation( );
bool ServerMyFunction_Validate( );
And this would be the .cpp:
void AMyClass::ServerMyFunction_Implementation( )
// Code that would be run on the server after validation
bool ServerMyFunction_Validate( )
And when using this server function, call: