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
1
Question by Taigaa · Apr 19, 2017 at 10:02 AM · inspectorruntimepublic variable

Can you make changes to exposed public variables persist in inspector ?

Hello,

I am trying to create system where I need to do the following:

I have public variable exposed to inspector and I want to change it via script during runtime. I want the change to persist, like it would if you changed the value manually.

I have few pictures which explain my intentions.

How my Gameobject currently looks like in the editor

alt text

Current script

 public class DemoScript : MonoBehaviour
 {
 
     public List<int> List = new List<int>();
 
     void Start()
     {
         // This is not persistent
         List.Add(1);
     }
 }

Once I press play, List will update correctly on the inspector but once I stop executing ,the value will reset back to its original state.

What I am hoping to do, is to run the script and have the inspector look like this:

alt text

Is there any way to achieve this? I have googled around and browsed a lot but couldn't find any possible solution for my problem.

inspector.png (53.1 kB)
howiwantit.png (53.9 kB)
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
2

Answer by SohailBukhari · Apr 19, 2017 at 12:32 PM

Here your need the scriptable object For you data. First of all make a class and inherit with ScriptableObject as in the code.

 using System.Collections.Generic;
 using UnityEngine;
 [CreateAssetMenu(fileName = "Data", menuName = "Inventory/integerList")]
 public class MakeScritableObject : ScriptableObject {
     public List<int> IntegerList = new List<int>();
 }

Now you will see that in your assets menu -> create->Inventory/integerList menu created. Click on the integerList.

ScriptableObject Path in the assets menu

Now you will see that ScriptableObject is created in your project , rename as you want.When You click on the ScriptableObject then you will see the IntegerList which we declared in the MakeScritableObject class.

integerList Data

Now,make a class and access scriptable object data. Make MakeScritableObject instance and pass scriptableObject in hierarchy which you created from the menu.

 using UnityEngine;
 
 public class ScriptableDemo : MonoBehaviour
 {
     public MakeScritableObject MyListClass;
 
     void Start()
     {
         MyListClass.IntegerList.Add(1);
         MyListClass.IntegerList.Add(2);
         MyListClass.IntegerList.Add(3);
     }
 }

Now Attach ScriptableDemo to any active gameObject and when you run values will be stored in your ScriptableObject.When you exit from play mode then your values will never replace.


1.png (117.3 kB)
2.png (2.2 kB)
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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

Adding in other variables through the inspector in a public string 1 Answer

object can't be null when highlighted in the inspector? 1 Answer

Public variables are not showing in the inspector 1 Answer

Changing material during runtime 1 Answer

Public and SerializedField's not showing in inspector 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