I want to create a “research” system that is a list of options that when clicked slowly progresses until complete and providing new mechanics to play with. I’m coming up with blanks on how to implement it without it being like a thousand different buttons all connected to a script, please help. I’m rather inexperienced so detailed explanations are preferred please and thank you all
It sounds to me you are mixing the user-interface and the actual system mechanics in your head. Keep in mind that you system’s implementation can be entirely independent from the interaction with the user, in fact it probably would make your system’s implementation easier to maintain.
From what I understand I would implement a research system in at least two distinct steps:
Write the actual code which unlocks new mechanics as a unlock function is called. This unlock function can then be called by a signal, by a button click, by a timer, anything.
Make a user interface with buttons which dispatch timers. Set the timers up to trigger the respective unlock function.
This way you split between the actual system-system (step 1) and the user interface (step 2).
Agreed with @kraasch that you need to design the underlying system first and only then think about the UI.
I found the idea interesting, so I went ahead and created this little demo project that you can dissect.