At what point after Application.LoadLevel(x) does Application.loadedLevelName or Application.loadedLevel actually bear any relation to the level that you’ve just loaded?
The following produces unexpected results:
Application.LoadLevel(currentLevelName);
print("Current = " + currentLevelName + " Application = " + Application.loadedLevelName);
In this test, Application.loadedLevelName does not match currentLevelName.
Do I need to wait in a coroutine or something to wait for the level to finish loading?