You're going to hate me, as far as GameMaker it's nothing unity or even unreal can do IMHO a waste of time. Unreal for some reason can have better visuals and along with actual c++ programming is as close to being an actual gamedev you use. Now Unity, my preferred choice even considering graphical fidelity not being on par with Unreal has the most learning resources available. Granted c# is not as advanced as c++ but for beginners it wouldn't make a difference anyway. There are Visual Scripters for Unity that make it GameMaker-ish if that's your thing, even making GameMaker even more useless. Assets: I don't know how it really compares to Unreal as many companies do assets for both but even now you'll still find more asset content for unity. Some of the better and more popular tutorials for unity are readily available on common torrent sites. Udemy is a great resource even if some of the content seems outdated there's a mix of new and old.
Also note GameDev programming isn't 3D or animation so hopefully you don't fall down the black hole of trying to learn to do it all on your own programming/graphics/animation. Each is it's own skill. Good luck in your programming endeavors.