Hobbyist game dev who's dabbled in Unreal and Unity with no CS degree and no experience in C# or C++ (but a fair amount of python).<p>Both are fine, but if you're going to pick one, I'd suggest Unreal by a long shot. Switching between the two is tricky and is likely to make one feel whichever they started with is more intuitive as the UI design is pretty different for each editor, but both feel fine after a short effort. The main reason I'd vote for Unreal is that Unreal feels like it's getting better at a noteworthy pace, and Unity is stuck in a one step forward, one step back pace.<p>* C++ (unreal) is not as fun as C# (unity). But Unreal's blueprint system (a visual, node based coding system) is much easier than both, and super helpful in the game dev world because it makes the engine API easily discoverable. Not good if you want to write a list sorting algo. Very good if you want to make a character jump. Dispense any preconceptions they may have implied about "not needing to know how to code" to use blueprints. If you can't code you will likely burn out trying to use blueprints without grasping the fundamentals of coding, because blueprints are just code with visual syntax, and syntax is not the hard part of coding.<p>* Marketplace assets on unreal seem way better. The high end stuff is better. The free stuff is better. The number of high quality textures and prefabs you get for free via quixel in Unreal is astounding.<p>* Unreal requires more computing power, and I found the editor crashes more. That's not so good.<p>* Networked multiplayer is just broken in Unity, versus integrated into everything for Unreal. This is huge! for shame, unity.<p>* Unreal's financial terms are more indie friendly (free for first million of revenue)<p>* Neither is going to make or break your game dev experience versus the other.