I also have my own game engine, if you’re happy with 2D retro pixelart graphics (polygon support and 3D comes after I move some of the rendering away from the CPU to the GPU). It also has software synths, if you want adaptive soundtracks.
I did my part with this post - https://programming.dev/post/2947073
My list has a few things that aren’t listed in that GFS link, which might be useful for the more specific indie types (Solarus, OHR, OpenMW)
Stride does look like a very good alternative if the intent is a 3D game and C# programming, so possibly the best case for Unity veterans in that regard.
What are the downsides for using Unreal?
Having more features, especially those aimed at corporations instead of indies, means it’s harder to figure out how to make simple things work, especially without tutorials. Even the things that could be simple are probably still more complicated than an indie engine in order to help large developers do what they need to. Since Unreal Engine is pretty much designed for Epic to make their games in, you can bet that that’s their first priority, and indies get table scraps.
The flip side of that coin is that you have access to a lot of the features that the corporations do if you want to put in the time to use them.
As terrible as Unity’s API design is, Unreal’s API design is 10x worse and still feels stuck in the 90’s.
It is a performance hog. Unity can run on relatively low spec hardware.
That’s a pretty broad question and it really depends on what you’re trying to do.
A pro (and a con) of the engine is it’s meant to be for a broad range of uses, like arch vis, virtual production, and obviously many game types.
I can, and have, run into engine limitations but it’s usually due to wonky game design requirements rather than a hard engine issue.
Phaser js is pretty good too if you are looking for 2D engines
Gamemaker, my old friend! 🫂