So it seems like you are still at the very beginning of game design and your engine.
Tackling a project like Metroid is an ambitious idea for a beginner, I think, but with failure comes progress and learning. So that's nice.
So what have we learned? I'm not sure, let's say we improved our skills and libraries. As a Unity expert, even though I'm using the latest alpha engine version, there's not much I can still learn, I'm also a full-stack C# .Net developer, so i try to improve my coding Skills all the time and make myself challenges up, thats my learning.
We work with Unity assets a lot lately. Me and my girlfriend have bought over 100 assets in the last few years but never really used them. Lately we've been getting more into these assets and some of them are really incredible, useful and fun.
I've also been using the game Warrior Vania to improve my AI state machine with multi-threaded code for certain calculations *cough* still doesn't work properly.
And I've been working on improving our audio asset for Unity, adding pooling and audio players and a scene management to submit to the Unity asset store once those are added. This System enables a Unity beginner to implement Full Controllable Audio Settings with Menu in a couple Minutes and play Audio Sounds at any Point in a Script by just 1 Line of Code.