Is it possible to run a peer to peer PC in an Unreal 4 game without the need for 3rd party servers

I think I finally found a good answer in Reddit:

first you need to make a menu level. can be whatever (i usually make an empty one with a playerstart and thats all). there u make an ui with a host button, a textbox for ip, and a join button
on clicking host, you call the console command function, with parameter: open levelname?listen . replace levelname with your game level.
on clicking join, call console command function with parameter: open ip . replace ip with the content of your textbox.
And that should handle your most basic connection.
You can get your external ip from site like myexternalip.com . use this if you are playing over the internet. keep in mind that the host has to open port 7777 for udp.
If you are playing on lan, open up the cmd, type ipconfing and find your ipv4 address. no need to open ports if you are using this way.
if you are playing over hamachi, it tells you your ip, use that, no need to open ports.