My current workaround is to keep all global gameobj variable in one FSM. Originally, I designed this logic to only set the gameobj values once during runtime, but now I've made it so if some of these gameobjects value change to null, it just sets the value back again instantly. Though, It'd be nice to find some sort of explaination of why this is happening.