Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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 lmarvelly · Apr 24, 2015 at 03:27 PM · boolpublic

Carry a boolean value from scene to scene?

Hi I'm making a text game in C# and I want certain Boolean variables to carry there values from one scene to another scene.

Say I have a scene with the variable

 public bool weapon = true;

and the next scene has this value by default

 public bool weapon = false;

How would would I get the first scenes value to carry over to the second scene?

Thanks

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

3 Replies

· Add your reply
  • Sort: 
avatar image
2

Answer by DoTA_KAMIKADzE · Apr 24, 2015 at 03:33 PM

If you want just few boolean values then I'd recommend just to set them as static variables, like this:

 public static bool weapon = true;

Though if you have plenty of them and want to keep them with whole class/object holder or you might happen to have few instances of that class and want to keep values independant you might want to use DontDestroyOnLoad.

Just read through both links that I've provided above^ and choose whichever suits you more.

Comment
Add comment · Show 1 · 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 lmarvelly · Apr 25, 2015 at 11:50 AM 0
Share

Cool thanks. This does the job as I only have a couple of boolean values :)

avatar image
1

Answer by Jessespike · Apr 24, 2015 at 03:33 PM

Add the static keyword:

   public static bool weapon;

Another option is to have some type of Manager behaviour that has DonDestroyOnLoad called.

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
avatar image
1

Answer by InfernoZYB · Apr 24, 2015 at 04:07 PM

I recommend you check out PlayerPrefs. "PlayerPrefs".

Here is you're script modified that should work. Also with this method you could add a "save" feature. Now since you did not provide me with a full code you will need to make modifcations but you should get a base idea. (If you want sent the full code in a comment and I will add this stuff)

 using UnityEngine;
 using System.Collections;
 
 public class KeepVar : MonoBehaviour {
 
     public bool weapon;
     int weaponInt = 0;
     public string Scene;
 
     // Use this for initialization
     void Start () {
         if (PlayerPrefs.GetInt ("pweapon") == 1) {
             weapon = true;
         } else {
             weapon = false;
         }
     }
     
     // Update is called once per frame
     void Update () {
         if (weapon == true) {
             weaponInt = 1;
         }
         if (weapon == false) {
             weaponInt = 0;
         }
 
         if (Input.GetKeyDown (KeyCode.W)) {
             PlayerPrefs.SetInt("pweapon", weaponInt);
             Application.LoadLevel(Scene);
         }
     }
 }
 


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 lmarvelly · Apr 25, 2015 at 11:53 AM 0
Share

Thanks for the comment. $$anonymous$$ay try that in the future when I've got more boolean values. At the moment I only have a couple so I'm using static booleans.

avatar image InfernoZYB · Apr 25, 2015 at 06:50 PM 0
Share

Yea I totally forgot about static variables xP. But with this way if you go onto the link I have in my answer you can make a save feature. Which is why this first came to $$anonymous$$d. And I use this a lot.

avatar image Erin abrams · May 30, 2015 at 03:07 PM 0
Share

Inferno Could I add a script I've been working on and could you see if you could make it work like you did that script you posted.

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

5 People are following this question.

avatar image avatar image avatar image avatar image avatar image

Related Questions

Problem with creating static bool... 1 Answer

is there a way to change the public inspector details at runtime 1 Answer

NullReferenceException (C#) 1 Answer

Instantiate an instance (clone) only copies public fields? 1 Answer

Use via Inspector to script assigned public texture as default 0 Answers


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