
u/Mental-Upstairs-5512

P2P or Dedicated Servers for a Multiplayer Game in UE5?
Hey everyone, I wanted to ask something regarding multiplayer networking in Unreal Engine 5.
We are currently developing a chaotic multiplayer game with fast paced combat and party based gameplay. Right now I am confused between going with P2P or dedicated servers.
We want the gameplay to feel smooth and stable, especially because matches can become pretty chaotic with multiple players fighting at the same time. We are also planning lobby systems, EOS friend invites, matchmaking later on, and maybe even competitive modes in the future.
Dedicated servers sound more secure and professional, but the cost and scaling side feels scary for an indie team. Meanwhile P2P feels easier and cheaper to start with, but I keep hearing about issues like host advantage, cheating, NAT problems, and unstable matches.
So for people who have already made multiplayer games in UE5:
• What did you choose and why?
• Do you regret it now?
• Is starting with P2P and switching later a bad idea?
Would really love to hear experiences from people who already went through this.
Shipped my first game, Eclipse of Eldergard, on steam back in jan and honestly the part that took me the longest was getting steam achievements working properly. did it all in c++ and there's not a lot of clean end-to-end docs for it specifically in ue5, so i was bouncing between forum posts and outdated guides for days.
once i finally got it stable i pulled the whole system out into a plugin so i never have to deal with that pain again. now it's basically:
- drop in your Steam app ID
- create the achievement IDs in Steamworks
- call a blueprint node when you want to unlock one
used it on my own game right after, and it just works, no more touching Steamworks code.
Happy to answer questions about the Steam achievements side of things in general, that whole setup process is the real pain point, and i learned a few things the hard way that might save someone else some time.
Been working on some multiplayer stuff lately and the UniqueNetIdWrapper move to CoreOnline in 5.4 caught me off guard. Took longer than it should have to figure out why my includes were suddenly broken on the newer version.
Curious if other folks have run into the same thing or if I just missed an obvious migration note somewhere. What's been your experience supporting multiple engine versions?