Real Good.
Today's lesson is one that I hopefully will not repeat again.
It all started with some code cleanup. (I know, right?)
Adding debug messages are a normal part of writing code, at least for me it is. In some of the scripts I had print statements just to confirm I was getting what I expected and getting it in the correct part of the process. It started as a simple search and replace-all to change from a simple print(blah) to a method like msg(string msg). This allowed me to add a few more handlers, such as the script calling it, yet still do it easily.
Where I went wrong
Part 1 (heh)
My first mistake was in the search/replace. As would be expected, it replaced the print(msg) statement within the method.
Well, there you go, to infinity and beyond.
After disabling just about every game object, every start and update in the scripts, and even more cuss words, I found it.
It made sense, it was stupid and nobody but me to blame.
It was akin to:
void Msg(string msg)
{
string r=mName+msg;
Msg(r+"\n"); // <--- this is where search/replace changed my print(
// it was previously: print(r+"\n");
}
**Warning: This type of loop will kill unity, your machine and possibly a few stray animals in the neighborhood!
Your only recourse at that point is a hard machine power recycle.
Part 2
Through my frenzied state to regain order, I also changed some project settings. This was a far-reaching attempt to have Unity give me a clue to where I went wrong.
Yeah..., no, that taint gonna' happen.
So now the app would run locally in the editor but when I pushed it out to the Quest 2, it launched the splash and just sat at the 3 loading polka dots. Back I went to unchecking every game object, removing starts and updates from scripts, etc. After I disabled every added object in the game and remarked out the one script I thought might be causing a problem, something clicked in my brain. (Chances are it was a blood vessel)
Somewhere down the line, I had changed the game build settings (File/Build Settings) to Development Build.
As it turns out, I believe I read somewhere that if you turn on development build it will only play in the editor.
Of course, an upgrade came at the same time, which I clicked to install, which prompted me to restart unity, which means I lost the ability to ctrl-z until all of the game objects were re-enabled.
It took quite some time, but I got all of the game objects reset and the scripts reset back to where I was at before Part 1 took place.
At this rate, a kings randsom would not offset the development effort.