What is the best choice for a game engine in C++? I know there are alot of choices out there, but i'm not experienced enough to know what I should be looking for, my only real requirements right now are that it's made for C++ and doesn't have a monetary restriction to personal use.
Selecting a C++ game engine
Unreal engine 4, it is fairly popular so can net you a job if that's what you are after eventually. Godot is a smaller engine I'd say, also C++, open source, MIT licensed (which is really a nice, permissive license) although, people tend to use GDScript like Unreal users use Blueprints, which is a better scripting language I can't comment as I haven't used the godot one but I do know blueprints compile and run fairly fast in Unreal. Just don't expect to script a heavy math-y function and have it run the same speed C++ vs blueprints. For high level control it's good.
The question is why you need the engine to be in C++? UE4 is a behemoth and hard for a single developer to change, if that's what you wanted. And if you want to learn C++ in the first place, it has it's own rules and a memory manager (garbage collector) so… might not be the best. If C++ is what you are comfortable with already and just want to use one, these are good.
SDL and SFML are smaller frameworks rather than full blown engines but still quite ok for simple games in 2D. I wrote a small network game in SFML and I can recommend it if you want a lot of low level stuff abstracted out of the box but don't need something as powerful as unreal (which also means a stronger learning curve as there's a LOT of functionality in big engines). There are others that I never used. Source uses C++, so does Amazon's lumberyard and Cryengine.
A lot of them seem to be free but you do end up paying royalties eventually if you earn money through them aka use them commercially. I can't advise you about financial specifics of any of these as I don't know enough about them but it seems we are lucky and it's a good time to be a budding game developer as we have access to some great tools for free, initially.
well I specify C++ because that's what i'm learning at the moment, I don't really want to learn a second language at the same time. I think I will choose Godot for it, since the idea of it being open source is very enticing for me, as well as I can't seem to find any licensing agreements on their that would hinder me as a hobbyist. Thank you for the help!