Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by vickyboo · Jun 21, 2018 at 07:07 PM · scripting problemerrorbeginnernoobbasic

BEGINNER: why is my main menu not loading level 1 when I press play?

Hello! need help my play button was working just fine and loading level 1 but now when I click it it does nothing please help :( :

 using UnityEngine.SceneManagement;
 using UnityEngine;
 using System.Collections;
 
 
 public class MainMenu : MonoBehaviour {
     public GUISkin skin;
 
     void OnGUI()
     {
         GUI.skin = skin;
         GUI.Label (new Rect (10,10, 400,45), "Go Home");
         if (PlayerPrefs.GetInt("Level Completed") > 0)
         {
             if (GUI.Button(new Rect(10, 60, 100, 45), "Play"))
             {
                 SceneManager.LoadScene(PlayerPrefs.GetInt("Level Completed"));
                 SceneManager.LoadScene(0);
             }
         }
         if (GUI.Button(new Rect(10, 60, 100, 45), "Play"))
             {
                 PlayerPrefs.SetInt("Level Completed", 0);
                 SceneManager.LoadScene(0);
             }
 
         if (GUI.Button (new Rect (10, 210, 100, 45), "Quit"))
             {
                 Application.Quit();
             }
     }
 }





and this is my GAME MANAGER:

 using UnityEngine;
 using System.Collections;
 using UnityEngine.SceneManagement;
 
 public class GameManager : MonoBehaviour
 {
     // Count
     public int currentScore;
     public int highscore;
     public int token;
     public int tokenCount;
     private int totalTokenCount;
     public int currentLevel = 0;
     public int unlockedLevel;
 
     //Timer Variables
     public Rect timerRect;
     public Color warningColorTimer;
     public Color defaultColorTimer;
     public float startTime;
     private string currentTime;
 
     //References
     public GameObject tokenParent;
 
     void Update()
     {
         startTime -= Time.deltaTime;
         currentTime = string.Format("{0:0.0}", startTime);
         if (startTime <= 0)
         {
             startTime = 0;
             Destroy(gameObject);
             SceneManager.LoadScene(0);
         }
 
     }
 
     void Start()
     {
         totalTokenCount = tokenParent.transform.childCount;
         if (PlayerPrefs.GetInt("Level Completed") > 0)
         {
             currentLevel = PlayerPrefs.GetInt("Level Completed");
         } else {
             currentLevel = 0;
         }
         //DontDestroyOnLoad(gameObject);
     }
 
 
     public void CompleteLevel()
     {
         if (currentLevel < 3)
 
         {
             currentLevel += 3;
             PlayerPrefs.SetInt("Level Completed", currentLevel);
             PlayerPrefs.SetInt("Level " + currentLevel.ToString() + " score ", currentScore);
             SceneManager.LoadScene(currentLevel);
         } else {
 
             print("You Win!");
         }
     }
 
     public void AddToken()
     {
         tokenCount += 1;
     }
     
     //GUI SKI
     public GUISkin skin;
 
     private void OnGUI()
     {
         GUI.skin = skin;
         if (startTime < 5f)
         {
             skin.GetStyle("Timer").normal.textColor = warningColorTimer;
         } else {
             skin.GetStyle("Timer").normal.textColor = defaultColorTimer;
         }
 
         GUI.Label(timerRect, currentTime, skin.GetStyle ("Timer"));
         GUI.Label(new Rect(45, 100, 200, 200), tokenCount.ToString() + "/" + totalTokenCount.ToString()); 
                  
     }
 }
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by Feelnside · Jun 21, 2018 at 07:25 PM

Feel free to use the following ScenesManager.cs To use it just call the following function: ScenesManager.Instance.loadScene("scene_name"); (also you can use an int number instead of string name)

Let me know if you have any problems with the script.

 using UnityEngine;
 using UnityEngine.SceneManagement;
 using System.Collections;
 
 /// <summary>
 /// Use it to load a new scene
 /// </summary>
 public class ScenesManager : MonoBehaviour
 {
     public static ScenesManager Instance { get; private set; }
     AsyncOperation ao;
     string scene_name;
 
     void Awake()
     {
         Instance = this;
     }
 
     void OnEnable()
     {
         SceneManager.sceneLoaded += OnSceneLoaded;
     }
 
     void OnDisable()
     {
         SceneManager.sceneLoaded -= OnSceneLoaded;
     }
 
     /// <summary>
     /// It's called each time once scene is loaded
     /// </summary>
     void OnSceneLoaded(Scene scene, LoadSceneMode mode)
     {
        //feel free to add here any logic once a scene is loaded
     }
 
     /// <summary>
     /// Current Scene. Use it to get the Scene Index
     /// </summary>
     public static int CurrentScene
     {
         get
         {
             return SceneManager.GetActiveScene().buildIndex;
         }
     }
 
     public static string CurrentSceneName
     {
         get
         {
             return SceneManager.GetActiveScene().name;
         }
     }

     /// <summary>
     /// Load a specific scene
     /// </summary>
     /// <param name="scene">A string name of the scene</param>
     public void loadScene(string scene)
     {
           SceneManager.LoadScene(scene, LoadSceneMode.Single);
     }

     /// <summary>
     /// Load a specific scene
     /// </summary>
     /// <param name="sceneIndex">A buildIndex of the scene</param>
     public void loadScene(int sceneIndex)
     {
           SceneManager.LoadScene(sceneIndex, LoadSceneMode.Single);
     }
 
     /// <summary>
     /// Load a specific scene in Async
     /// </summary>
     /// <param name="scene">A name of the scene</param>
     public void loadSceneAsync(string scene)
     {
         scene_name = scene;
         Invoke("StartLoad", 0.5f);
     }
 
     void StartLoad()
     {
         StartCoroutine(AsynchronousLoad());
         Invoke("ActivateScene", 1f);
     }
 
     IEnumerator AsynchronousLoad()
     {
         ao = SceneManager.LoadSceneAsync(scene_name);
         ao.allowSceneActivation = false;
         yield return ao;
     }
 
     void ActivateScene()
     {
         ao.allowSceneActivation = true;
     }
 }
Comment
Add comment · Show 3 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image vickyboo · Jun 21, 2018 at 07:42 PM 0
Share

sorry I am total noob so I am having trouble plugging things in without getting a bunch of errors on my other scripts :/ any way I can fix the ones I currently have?

avatar image Feelnside vickyboo · Jun 22, 2018 at 04:23 AM 0
Share

Just reviewed the code:

               if (PlayerPrefs.GetInt("Level Completed") > 0)
              {
                  if (GUI.Button(new Rect(10, 60, 100, 45), "Play"))
                  {
                      Scene$$anonymous$$anager.LoadScene(PlayerPrefs.GetInt("Level Completed"));
                      Scene$$anonymous$$anager.LoadScene(0);
                     //Looks like this line should be removed?!
                  }
              }

You are trying to load the Level Completed scene and at the same time you are loading the Scene with the zero index. In this way the Zero level will be loaded any time once the Play button is clicked. Review these lines. Probably you need to remove the second one.

avatar image vickyboo · Jun 21, 2018 at 07:43 PM 0
Share

also totally using this template in the future thank you!

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

181 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

main menu not loading level 1 please help beginner here 0 Answers

Greater than and less than syntax problem 1 Answer

Where to even begin? Character design, x-code integration, etc? 2 Answers

If statement being ignored (Apparently) 2 Answers

X is a variable but a type was expected 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges