All of the advice you guys are giving does not add new features or speed up anything. If I worried about every little random thing that adds nothing to the project then I would never make any progress... Some of the advice ApachPiQ gave was very useful but a super majority of it served no practical function other than aesthetics.
Yes, well; welcome to 'engine dev'.
Just throwing shit together to make it work is going to land you with a badly thought out unusable mess.
You need a good, clean, well designed foundation for ANY engine if you are building from the ground up.
On the engine team here if I'm going to make a change I have to explain why, how I'm going to do it, test it on all platforms and then get the code reviewed by others on the team before I can commit it. Just making a data pipeline change had included multiple meetings of varying amounts of time with intrested parties and fellow rendering team members to ensure what is being done is sane and fits into the plan we have going forward. While you don't have to do that spending time with a design and writing clean C++ code is going to be a must (and based on what ApachPiQ said you don't have clean C++ code.. which is worrying tbh, as clean C++ isn't that hard to write and should speed up your development rather than slow it down...)
Engine development is NOT a fast thing.
Want 'fast result'? Go make a game, hack code up as much as you want to get it working.. but an engine built on that foundation? The term; unusable under performing mess springs to mind.