I never know how much code is ok to post, but here's my whole PreloadBattle block
public static void PreloadBattle(float warmTimer) {
if (UFE.config.preloadHitEffects) {
SearchAndCastGameObject(UFE.config.hitOptions, warmTimer);
if (UFE.config.debugOptions.preloadedObjects) Debug.Log("Hit Effects Loaded");
}
if (UFE.config.preloadStage) {
//#if !UNITY_EDITOR
print(UFE.config.selectedStage.stageName + " STAGE");
Material newSkybox = UFE.config.selectedStage.stageSkybox;
RenderSettings.skybox = newSkybox;
Color newAmbientColor = UFE.config.selectedStage.stageColor;
RenderSettings.ambientSkyColor = newAmbientColor;
switch (UFE.config.selectedStage.stageName) {
case "Titan's Alley Clear Day":
print ("switch for Titan's Alley Clear Day");
stageScene = "TitanClearDay";
break;
default:
break;
}
UnityEngine.SceneManagement.SceneManager.LoadSceneAsync (stageScene, UnityEngine.SceneManagement.LoadSceneMode.Additive);
//#endif
//#if UNITY_EDITOR
//SearchAndCastGameObject(UFE.config.selectedStage, warmTimer);
//#endif
if (UFE.config.debugOptions.preloadedObjects) Debug.Log("Stage Loaded");
}
string p1Char = UFE.config.player1Character.name;
string p2Char = UFE.config.player2Character.name;
instance.StartCoroutine (instance._PreloadCharactersAsync (warmTimer));
if (UFE.config.warmAllShaders) Shader.WarmupAllShaders();
memoryDump.Clear();
}
You can ignore the end, where I butcher the character loading. We have to handle characters differently so that's all changed. I also don't remember what the original code looks like, which is part of why I asked you to send me yours, but that's ok we'll work with what we have.
The important stuff is everything in the preload stage block. You can also ignore the skybox and color settings -unless- you want to set those through the editor per stage, but we can deal with that later. I used to, but don't anymore and haven't taken it out.
Abuse print statements. It will at least help me figure out where the code is getting to before doing nothing. You should probably put one in the default section of the switch, too, so you know if that's getting called ie nothing is getting called. Since I don't know where your code is not working, I'll run through the obvious fixes and we'll go from there.
Make sure your switch case is named properly in the code, or nothing will happen
Make sure your stageScene is named properly in the code, also.
Last, make sure the scene is included in your build list. Order doesn't matter, and you don't have to build, just has to be in the list
If it's still not working, try to give me a detailed post like this with some screenshots of your stage settings and the print results of your console so we can see where it's stopping, otherwise I'm just guessing.