Synchronous multiplayer - what is really needed?

Hello everybody,

i am currently working with friends on an android application, which has the following goal:

In the app there should be a kind of “Puzzle Game Mode”, which can be played against friends or strangers. Two players should be able to play an instance of this level at the same time (synchronously). The first player to solve the puzzle wins.

My question is now multiplayer oriented: What would be the best / most common option in Unreal Engine 4 to implement such a multiplayer function?

We use version 4.25.4. So far I have only found the option to use a dedicated server for this purpose.
I would be happy if someone would share his experiences / ideas with me.

Thanks a lot,
Paul