I've also heard that UE is C++ based for its scripting and that it's built for 3D and not really 2D. Unity uses C# and Java-script rather than C++ and was built for 3D but also has quite a bit of capability for 2D games. I've used Unity. I've been meaning to learn a little Unreal Engine. These days I'm using raw C++ and OpenGL 4.5 which you may want to consider for learning purposes as well. It's a lot of work to build your own game engine, even a simple/small one. But doing it will teach you a lot about what's really going on in any commercial engine that you use afterwards.
The hard part with OGL is finding good lessons on how to use it. LearnOpenGL.com seems to have some really good lessons to get you started on OGL. You will want to use quite a few libraries such as GLFW (to make it cross platform but mostly to prevent you from needing to learn Win32), GLM (for math), GLEW, FreeImage (for textures), and possibly ASSIMP if you don't want to write your own model code for handling models. Quite frankly, I find linking in the libraries to be the most difficult part although I did XNA and then DX11 before this and so this isn't my first rodeo. You pretty much have to get the raw source code on these libraries and make and build them yourself if you want static linked libraries across the board. Some of them have binaries for the libraries you can use. ASSIMP reads several file export formats that Blender will export including the .Blend file. Just realize that these file formats are mostly junk. They are like 90% waste and 10% actual data that you need. All you really need out of them is the data to construct your C++ model object. Starting out, that's just the vertex buffer and index buffer.
OpenGL 4.5 with all the libraries you use is actually pretty easy and fairly beginner friendly although you're still doing a whole lot from scratch. It reminds me of XNA once you get a few hundred lines of base code put in place. For learning purposes, that was a great place to start because it meant you had enough foundation that you didn't have to code things like "How to read a JPEG file from binary data and turn it into an actual image".
I have the full Visual Studio C++ OGL project posted on my website. That's the start of a super simple game engine that is very reminiscent of XNA. There's even a video there you can watch to see what the code as is currently does without downloading the project to see if it's even something you care to download. The code uses hand coded game models. My next step after getting errors to output to an error log rather than just in the IDE is to get my model class brought over from my DX11 engine. In the DX code, I did my own custom file format from Blender by writing a Python script to export the model data from Blender. Then the C++ reads in the model code from the file and builds the C++ model object. The model class is basically serializable and will write its exact binary data to a binary file that can be used to load the data the next time because the Blender data is a human readable text file and the binary file is far more efficient. I think I even have a C# binary file reader to examine the binary files for what's in them included in the project. The project files for the DX code include everything including the Python script I used to export the raw model data from Blender. The file format supports rigid animation but not skinned animation (yet). (I assume ASSIMP supports skinned animation, which would be a big advantage there. But you need to learn rigid animation before you learn skinned animation anyway.)
It's on my too-do list to get all that ported over to the OGL code, if I can ever find time. If you do make use of my stuff, you'll probably want to go through my video series on my YouTube channel. The code uses a lot of matrices and vectors and so having some background in that will help tremendously. The videos should help with that.
Anyway, the advantage of an engine like UE is that you can "get stuff done" more quickly and you don't have to reinvent the wheel. The advantage of OGL is that you learn how wheels are made not only from wooden wheels to modern race car wheels, but you learn how to grow the trees, harvest the rubber, and smelt the steel. For a lot of people, that's probably a bit extreme. But if you want to learn to be the best wheel designer, or if you want to truly know all there is to know about wheels, OGL is the path. Even delving into OGL for a couple of years and then using an engine like UE will help you better understand what the engine is doing under the hood where you can't see.
You are the only one that can determine which path is the right one for you. I suggest trying both UE and raw OGL for about 6 months each and seeing which you think is best for you. And there are other paths that are good too.