• 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 /
This question was closed Sep 01, 2018 at 02:22 PM by drearyplane for the following reason:

The question is answered, right answer was accepted

avatar image
0
Question by drearyplane · Sep 01, 2018 at 11:26 AM · c#editorvariableinspectorscenes

Public Scene Variables not appearing in the inspector

I am aware that this question has been asked before but I have searched for the answer and none of the proposed solutions have worked for me. I have checked both of the scripts in my project currently for errors and have found none. My variable is public.

Script the variable is in:

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.SceneManagement;
 
 public class doorEnterController : MonoBehaviour {
 
     public Scene toLoad;
 
     // Use this for initialization
     void Start () {
         
     }
     
     // Update is called once per frame
     void Update () {
         
     }
 }

The other script in my project:

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class playerController : MonoBehaviour {
 
 
     // Use this for initialization
     void Start () {
 
     }
     
     // Update is called once per frame
     void Update () {
         
     }
 
     void FixedUpdate()
     {
         if (Input.GetKey(KeyCode.W))
         {
             gameObject.transform.Translate(new Vector3(0, 0.1f, 0));
         }
         if (Input.GetKey(KeyCode.S))
         {
             gameObject.transform.Translate(new Vector3(0, -0.1f, 0));
         }
         if (Input.GetKey(KeyCode.A))
         {
             gameObject.transform.Translate(new Vector3(-0.1f, 0, 0));
         }
         if (Input.GetKey(KeyCode.D))
         {
             gameObject.transform.Translate(new Vector3(0.1f, 0, 0));
         }
 
     }
 }
 


Comment
Add comment · Show 1
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 FlairBot · Feb 14, 2020 at 12:57 AM 0
Share

Hi @drearyplane ,

Scene$$anonymous$$anager.LoadScene(); This can load scenes with either the name or build index (Found in Build Settings). ~Check overloads for extra functionality~ e.g. Scene$$anonymous$$anager.LoadScene(1); Scene$$anonymous$$anager.LoadScene("Scene2");

So, you could make a script like this, with the name, or index, exposed to the editor, you can put the name, or index, in the field in inspector that you would like to load.

 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.Scene$$anonymous$$anagement;
 
 public class SceneChanger : $$anonymous$$onoBehaviour
 {
     [SerializeField] private int SceneIndex;
     [SerializeField] private string SceneName;
 
     public void ChangeScene()
     {
         List<Scene> allScenes = new List<Scene>();
         for (int i = 0; i < Scene$$anonymous$$anager.sceneCount; i++)
         {
             allScenes.Add(Scene$$anonymous$$anager.GetSceneAt(i));
         }
 
         //Use one of these options     vvvvvvvvvvvvvvvvvvvvvvvvv
 
         // 1. Use this if you're using the Scene Name. (CASE SENSITIVE... I think)
         foreach (Scene scene in allScenes)
         {
             if(scene.name == SceneName)
             {
                 Scene$$anonymous$$anager.LoadScene(SceneName);
             }
         }
 
         // 2. Can also use the scene index (probably best practice)
         foreach (Scene scene in allScenes)
         {
             if (scene.buildIndex == SceneIndex)
             {
                 Scene$$anonymous$$anager.LoadScene(SceneName);
             }
         }
     }
 }

2 Replies

  • Sort: 
avatar image
2
Best Answer

Answer by eses · Sep 01, 2018 at 11:49 AM

Hi @drearyplane
Unity editor doesn't serialize that many types, and Scene is not derived from those that are serializable... (UnityEngine.Object, GameObject, ScriptableObject, primitive data types etc).

So having a public in front of field doesn't automatically make something serializable in Unity inspector, if at all. If you are expecting similar behavior like you'd get with TextAsset (being able to drag'n'drop text file to inspector field) you are not going to get it I guess...

Someone more skilled can probably give you more technical answer, but hope this helps.

See:
https://docs.unity3d.com/Manual/script-Serialization.html
https://docs.unity3d.com/ScriptReference/SceneManagement.Scene.html

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 drearyplane · Sep 01, 2018 at 02:21 PM 0
Share

Thanks for the help, I've just decided to store a string to hold the scene name, it was nothing too critical. I'm working in a game jam so the quick answer was appreciated, thank you

avatar image
1

Answer by Ermiq · Sep 01, 2018 at 11:49 AM

Look here: https://forum.unity.com/threads/how-to-link-scenes-in-the-inspector.383140/ - a custom script for the editor to be able to reference scenes in the inspector;
and here: https://docs.unity3d.com/ScriptReference/SceneAsset.html - official Unity documentation about referencing scenes in the Editor.
So, you can't just make a scene variable visible in the Inspector as you do with other variables.

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 drearyplane · Sep 01, 2018 at 02:22 PM 0
Share

Thanks for the help, I've just decided to store a string to hold the scene name, it was nothing too critical. I'm working in a game jam so the quick answer was appreciated, thank you - yes that was the same as what I commented on the other guy, not much else to say

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

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

Related Questions

Unity Editor - Class variable value contrain 4 Answers

Custom Inspector - How to add functionality? 1 Answer

Custom Inspector: Targets & GameObjects 1 Answer

Insert new custom class element with _default_ values to a SerializedProperty array? 1 Answer

How do you clear a variable in the inspector? 4 Answers

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges