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 /
  • Help Room /
avatar image
0
Question by shepsaus000 · May 10, 2016 at 04:04 PM · scripting problemvariablemultiplesceneswrong

Complicated level change problem

So I have a script that uses a variety of variables to figure out what scene should be switched to in Unity. However, I am having a problem:

 if (houseProgress == 0 && inHouse == true) {
                                 houseProgress += 1;
                                 stopChecking = false;
                                 GameControl.control.Save ();
                                 SceneManager.LoadScene ("Scene1");
                             }
                             if (houseProgress == 1 && inHouse == true){
                                 houseProgress += 1;
                                 GameControl.control.Save ();
                                 SceneManager.LoadScene ("Scene2");
                             }


As you can see, there are two variables that determine what scene unity should switch to. First off, the game checks how much "house progress" the player has gone through to determine what scene they should go to. After that, it also checks to determine if they are in the house scene (basically, there's a bit of code that I'm not showing that determines what the boolean is based on the scene name; if the scene name is "house," the boolean is true, and if the scene name is anything else, it's false).

My problem arises from the following: when the code is executed with the houseProgress variable being 0 and the inHouse variable being true, the scene that shows up is Scene2. Now, I do know that Scene1 is in fact loaded, but for only a split second. I know this to be true because I put a debug in the code for the first scene.

Strangely enough, it doesn't even stop with loading Scene2. You see, I have more scenes (Scene3, Scene4, etc.) that are set up, but they aren't in the build settings yet. However, the code attempts to load each of these levels until the last one I indicate is attempted. Basically, despite my houseProgress variable being 0, the code runs right through all of the scenes until the last one I indicate.

So what is happening here!? I have a strong feeling it is because I used "=" incorrectly somewhere because this tends to be the case for me with these kinds of things. However, I am uncertain, so I am hoping you guys could help me out!

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
1
Best Answer

Answer by e4lime · May 10, 2016 at 04:18 PM

You are increasing houseProgress inside the first statement so when it checks the second if condition it sees that houseProgress is 1.

Change the ifs to if else, or use a switch or abort with a "return;" just after you call SceneManagar.LoadScene()

Comment
Add comment · 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

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

49 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

Related Questions

How to assign slider to float: Spin, on a gameobject 1 Answer

How to access to a variable in shader from a script ? 1 Answer

Change in Editor via Script Values of another Script 2 Answers

Getting wrong value of variable 1 Answer

Unknown Identifier : Hunger? 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