Learning Game Development is not easy

I would say try GODOT, yes it is game engine.
Do very simple game and learn those aspects:

  • shaders, do some crazy ones, this will teach you how to do low level programming
  • do some scripting learn what are those objects and why games are made out of thousands of objects (this is quite different than programming gui or command line applications)
  • and finally do some C++ coding messing with engine.

Also play with some cuda examples/coding, that is also great for learning bottom level of any coding.

With that all (even some rough idea how to do it why that stuff is used), you can attack something big and complicated like unreal engine.