Problem:
I’ve seen a lot of forums about this similar problem and have tried many out to no avail. Here is my current situation and some of the tricks I’ve tried, I have a player that reads input through getaxis raw in an update function, when colliding with a 2D box collider it loads a new scene, sometimes it will allow for the player to continue walking when the button is held down in one direction. However, when I sprint (which basically adds +2 to the speed float) it will always return 0 or if I’m moving into a new scene I hadn’t gone into it usually does as well. I know none of my other scripts are messing with the players input vector so it’s the scene changing that resets it to 0.
Attempted Solutions:
- Input.ResetInputAxes(): This was called in a coroutine and told to wait varying amounts of time to no avail. I called it out of a routine too and nothing changed.
- Additive Scene Loading: I saw this was a lot of people’s solutions so I spent a while getting it to work. It would keep the scene loaded and then reload a new one… just as I had feared the input would reset to 0 still.
Conclusion:
There’s one other possible solution I know of where each scene is turned into a prefab and deactivated/activated when need be… I really don’t want to have to turn each scene into a prefab and build a script to load them it seems a bit too excessive considering everything else is ironed out except this one problem, especially since the pieces are somewhat already there, the input does sometimes work which makes me a little hesitant to completely give up on this just yet.
Any help would be appreciated!