After trying Unreal and Unity (and in parts Godot) multiple times each, sometimes for week(s) I chose to write my own engine last year instead. I much prefer basic C or lite-C code over anything else. Coding in Unreal (procedurally generated game(s)) was the least fun I ever had doing game dev (and I love(d) doing proc gen stuff).
My engine is not fully done yet and won't be for a while but it's good enough to make multiple games in, and in a way that's fun for me. It's almost as if I was working with lite-C still but without the hassle (and some neat things such as operator overloading so I can just type vector1 = v2+v3 instead of using the vec_... functions for example).
The most difficult thing for me (minus acceptable collision detection, not using a physics engine) was getting started, opening a window and drawing my first triangle. If you have some time to spare that might be a fun alternative to look into. You don't need to implement all those advanced state of the art features anyway.