Many of us underestimate how early we should test our games. We are afraid to show an unpolished product to players or we think they wont understand the whole picture yet. But it is necessary! As soon you have cubes and squares on your screen you can show your game off.
Why so early? Reason number one is that you will get an unbiased opinion on your game. Secondly, the earlier you find issues with your game the cheaper the changes are to solve. I started working on a large adventure game and knowing there were more than 10 large story events to cover I needed a fast way to reach a specific event in each scene / chapter to test it. One easy solution I found was to create a drop down menu to select the specific scene and chapter.
Soon I found even with this feature it was very cumbersome to reach a specific event in a large scene with dozens of minutes of duration. So I implemented fast-forward feature since the scenes were composed by simple blocks of either dialog or action. This way we only had to create a flag in this unit block to skip or auto-execute. If the player needed to walk somewhere i could just teleport, if there is a fight scene I could just set the game state to won to move on to the next sequence.
So with just one shortcut on my keyboard I could enter the scene I wanted and skip to any point in my game I wanted to test in seconds. This feature helped me the entire project to rapidly find and reproduce bugs. I was able to help fix issues my players encountered through the production phase. Using the bug report with exclamation mark icon was nice addition too! The service is offered by unity and automatically catching fps, hardware info, screenshot and packing in nice report on unity developer website.
Of course as code lovers we are trained to engineer and think ahead of tools to solve possible problems but it is easy for one to lose himself on developing systems and spend too much time on that. The focus should always be on the game production quality, and meeting deadlines.