I'd say Unity's a better starter, but I'm obviously bias seeing as I've only used Unreal a handful of times. I'd say the best way to learn is just make a bunch of little projects with no real intent of finishing them. Let yourself bounce around from project to project, and if you really like one, you can always come back to it, but try not to feel an obligation to it if it becomes a burden. Every time you don't know how to do something, just try to Google it, or copy a yt tutorial. Eventually you'll start to actually understand what the code you're copying does, and how to make your own from scratch. It's also worth noting that, starting out, there's no shame in not fully understanding what you're copying, as you'll naturally pick it up as you go. You should try to understand it as best you can, obviously, but don't get hung up on it. Other than that, I'd say experience is gonna be the best teacher, as a book will only really get you so far, and at least for me, it's best to learn through doing, and the trial and error that comes with that.