No matter what making multiplayer is hard even if you use an engine.
This isn't because of lag though. I've done quite a lot of work with online games and it's still hard.
Normally when you make an error in a game you have to do some back tracking on code to figure out the error,
make an error on an online game and debugging becomes 10x harder.
It's hard to pinpoint the small flaws in code because, let's say you can't connect to the other player. Well all that happens is it says you can't connect.... there are a thousand reasons why you might not connect though.
This might scare you but DON'T be scared. You have an idea and you need to do it. You might scream. You might run into problems. You might want to scream. You might even fail. You will improve no matter what, there's no way you'll become a worse programmer from it.
There are lot's of great tutorials out there for doing multiplayer games. Follow along on one and try to do it yourself.
Sorry for the big quote, and this is directed for Filip Spasic,
I'm currently making an online game, and yes, it is difficult. But lag isn't much of an issue as you might think it is. Yes it will lag, but you must "allow" some lag, you should send the least amount of data as you can to reduce lag, along with that, particles and other effects should be limited. Make as much as you can client side and make only what you need server side.
Making an online game can be difficult, and learning how it works can be annoying, but I gave myself sometime to learn it and now that I kind of know what I'm doing, I really enjoy networking. Just go for it.
You can dm me if you need some help(I don't know that much though, but I've been doing networking for about 5 months on and off).