This bug has been popping up seemingly randomly recently, but I think I have narrowed down what is triggering it, even if I can't really see why since it doesn't seem to be connected.
I have an array list proxy on a child object of my character. Objects the character can pick up in the world add and remove themselves to/from the list when in/out of range, then the character can pick up the thing at the top of the list. Simple enough and works perfectly.
The problem is that whenever I touch anything in the character's Animator (adding a state, or changing the blend between two states for e.g.) the array list breaks somehow and will no longer run in the game, it just freezes and I have to stop the game and restart Unity to do anything. And then as soon as I touch the animator again it breaks again. The array list script is still in place on the gameobject, and it worked perfectly before touching the Animator (which is on a different object) so I can't see why it's having this effect.
The error says "ArrayListAdd : ArrayList proxy not found"
This is a massive, game breaking problem now, since it means I can't touch the character animator without the game breaking.