Scene Loading from Main Menu Player Transform not moving
Hi, I'm new to unity so please forgive if a noob question
I have a main menu with a character prefab (with dont destroy), on New game i'd like the player to be moved to the correct location on scene start.
The scene has a terrain navmesh on but regardless to code below the player always appears with the same position as it was on the main menu. Even though on code step through its position is correctly updated....
This is what i have (Unity Version 2018.3.6f1)
namespace RPG.UI
{
public class MainMenuUIScript : MonoBehaviour
{
public Vector3 newGamePosition = new Vector3(461f, 0f, 475f);
public GameObject player;
// Start is called before the first frame update
void Start()
{
player = GameObject.FindGameObjectWithTag("Player");
}
public void NewGame()
{
player.transform.position = newGamePosition;
PlayerPrefs.SetFloat("PlayerX", player.transform.position.x);
PlayerPrefs.SetFloat("PlayerY", player.transform.position.y);
PlayerPrefs.SetFloat("PlayerZ", player.transform.position.z);
SceneManager.LoadScene(1);
}
}
}
namespace RPG.Scenes
{
public class SceneName : MonoBehaviour
{
void Start()
{
GameObject player = GameObject.FindGameObjectWithTag("Player");
player.GetComponent<PlayerController>().isInGame = true;
if (player != null)
{
float newX = PlayerPrefs.GetFloat("PlayerX");
float newY = PlayerPrefs.GetFloat("PlayerY");
float newZ = PlayerPrefs.GetFloat("PlayerZ");
player.transform.position = new Vector3(newX, newY, newZ);
}
}
}
}
Not sure if this has anything to do with it but when first setup i couldn't get the player to connect to the scene navmesh on load.... the way i got it to work was to add a terrain with baked navmesh on the main menu (hidden from user)
Any help would be appreciated, also i dont like the idea of having a hidden terrain on the main menu (feels like a sticky plaster solution) so if anyone has a solution to this issue as well i'd be most gratified.