I was working on a practice c++ project with Unreal Engine 4.23 Preview and it would compile successfully, but when I attempted to launch the project it would load 95% of the project and then silently terminate.
I checked the logs and discovered that the editor crashed due to a variable having replication implemented, but it didn’t have the “Replicated” specifier.
ReplicationActor.h
#include "Net/UnrealNetwork.h"
virtual void GetLifetimeReplicatedProps( TArray< class FLifetimeProperty > & OutLifetimeProps ) const;
// WARNING: Variable replicated without "Replicated" specifier
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Practice")
FString Message;
ReplicationActor.cpp
void AReplicationActor::GetLifetimeReplicatedProps(TArray<class FLifetimeProperty>& OutLifetimeProps) const
{
// WARNING: If "Message" doesn't have the "replicated" specifier
// the project will crash on launch
DOREPLIFETIME(AReplicationActor, Message);
}