Networking in unreal engine

First: Peer-to-peer always seems like a good idea when first thinking about it, but it never works out in practice. Heed the advice of those who have tried this before, and just don’t do it. It’s more complicated, it delivers a worse experience, and solves no problem anybody actually has.

Second: The Unreal networking code lives in Runtime/Net/Core/Public/Net and in all of the UObject and reflection code with UPROPERTY and the replication stuff, which in turn lives in Runtime/Core/Public/UObject
Because a good gaming experience depends on a tight integration between gameplay, physics/simulation, rules, input, rendering, and networking, you will find that, once you pull on these threads, they go all over the engine. This is not a bug, or a design flaw; it’s necessary because of challenges inherent in the problem.

1 Like