So since I last updated I have spent almost another 30 days trying to get Chocolate Pants repaired and perhaps back in a state where I can add a new feature.
Unfortunately what I found is that the rabbit hole of repairs was rather deeper than I suspected.
Two of the largest categories of problems came from prefabs that had lost their link to some other object or script and Unity 3D breaking changes where something is either removed or changed entirely in its implementation enough to be a breaking change for me.
One great example of broken items was the Unity swap from TextMeshPro being an external library to an internal one. All of my UI was severely broken and no longer worked. Somewhere in the low hundreds of text objects were now invalid scripts.
So when 1 broken item results in 200 or so fixes needing to be done in a complex object hierarchy and each time I fix something it unveiled another layer of items needing fixing...
Going through this exercise I realized one of the problems was my design was too tightly coupled - creating a cascade of breakages.
One example is references to my PlayerBehavior script lived in dozens of places it should not. Also the PlayerInventory lived in dozens of places it should not.
Eventually I came to the conclusion that if I were to move forward repairing Choclate Pants that it would need massive refactors.
So that really gave me pause that I need to think about do I want to crawl through this level of code writing should I do a fresh project, or do it in Chocolate Pants and deal with all the continued technical debt of hundreds of broken items.
So at least for now - I have started a fresh Rogue-like Unity 3D project where I am attempting to create a very clean architecture.
We'll see how things look next month!