Multiplayer, Player Hiding, and Cheating - security risk ?

Making of custom Net Driver seems unbearable for me. Too much errors. Last one was LNK2019: unresolved external symbol for FActorPriority. Even If i copy it to my net driver header file, rename, and use it. But…

Finally, i found solution that seems viable. As i can’t include own headers in engine’s files (can’t find how), so i can’t compare classes. So i compare name of classes and conditionally use constant timeout of 1.0s for my units.

In UnrealEngine\Engine\Source\Runtime\Engine\Private\NetDriver.cpp i replaced this:

const bool bIsRecentlyRelevant = bIsRelevant || ( Channel && ElapsedTime - Channel->RelevantTime < RelevantTimeout) || (ActorInfo->ForceRelevantFrame >= Connection->LastProcessedFrame);

with this:

FString actorName = *Actor->GetName();
double timeout = actorName.StartsWith(TEXT("GameUnit")) ? 1 : RelevantTimeout;
			
const bool bIsRecentlyRelevant = bIsRelevant || ( Channel && ElapsedTime - Channel->RelevantTime < timeout ) || (ActorInfo->ForceRelevantFrame >= Connection->LastProcessedFrame);

If use timeout less then 1 then something breaks and objects start flickering (creating/destroying). But one second is way much better than five. It leaves much less space for making decent wall hacks (sort of).

MAYBE something will break because of this change. Will see. I’ll report if found problems.