UI Code Spaghetti

I second the use of Roact. It let’s you focus on creating smaller components of your UI, that you can use together to build full interfaces. It’s a lot easier to build complex things if you can break it down. Make sure to try to keep the code that changes visual aspects of your UI separate from code the that handles game logic. This is best achieved by following OOP principles and using module scripts.