Weekly Progress Report #14
This week was mostly more menu improvements and bug fixes. The menus work pretty well now, but there are still some things to fix with the graphics settings (namely, making them appropriate for the user's machine).
This weeks bug is a strange Unity issue. Using Unity's built in navigation allows you to move between UI elements with a controller or keyboard. This works pretty well for the options menu:

The options menu is a Prefab, so that it can be used in several different places. Interestingly, if you open the prefab in Unity's Hierarchy view:
and then try to use controller navigation, the following happens:

You can see that the selection disappears as I try to navigate from Resolution to Frame Rate. I think that Unity is trying to jump to the prefab's version of the resolution item, instead of the one that actually exists in the game view. It's a very strange and highly specific bug, that doesn't actually matter when the game is being played. I just thought it was interesting. It also might be fixed in new version of Unity, but I haven't checked.
Bug of the Week
This weeks bug is a strange Unity issue. Using Unity's built in navigation allows you to move between UI elements with a controller or keyboard. This works pretty well for the options menu:

The options menu is a Prefab, so that it can be used in several different places. Interestingly, if you open the prefab in Unity's Hierarchy view:

and then try to use controller navigation, the following happens:

You can see that the selection disappears as I try to navigate from Resolution to Frame Rate. I think that Unity is trying to jump to the prefab's version of the resolution item, instead of the one that actually exists in the game view. It's a very strange and highly specific bug, that doesn't actually matter when the game is being played. I just thought it was interesting. It also might be fixed in new version of Unity, but I haven't checked.
Changelog
- Improved menu code organization.
- Menus now return to the previously selected button when closing nested menus.
- Ported several old menus to the new menu system.
- Replaced the old Main Menu scene with the new one.
- Deleted several outdated menus.
- Fix a bunch of C# warnings.
- Prevent clicking "Play" in the main menu from instantly loading you into a level (instead of level select).
- Speed up various menu animations.
- Fix options menu buttons looking bad when animating in.
- Disable exiting replay list after clicking on a replay while it is still loading.
- Fix close buttons for stats and replay list menus not working.
- Camera settings changes now work and allow changing FOV.
- Pausing inside levels works again.
- Pause menu is fully featured again.
- Changed all options menu sliders to pickers for simplicity of implementation.
- High Scores Only mode now properly connected to the options menu option.
- Fix bug where the player could no longer pause after crashing.
- Fix various circumstances where inputs could pass through the pause / options menus (you could blow up or restart the level while paused).
- When a replay restarts after beating a level, the camera not teleports to the start location instead of interpolating there.
- Fixed incorrect right wall size in "Get Me Down" level.
- Clicking on / near Options Picker arrows not changes the value of the picker.