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
1
Question by user-12539 (google) · May 10, 2011 at 08:17 PM · editorvariablechangeserializable

"When a value is changed..."

I want my script to do something when one of its Serializable varabies has been changed through the editor. (IE: Can't rely on a Setter function.)

Is there a simple way to do this?

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

2 Replies

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by Dave 11 · May 10, 2011 at 08:37 PM

I'd set another variable with the same value and check if they're equal constantly. If not, make your action happen and set the variable to the new value.

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 user-12539 (google) · May 10, 2011 at 08:50 PM 0
Share

Now that I think about it, my scripts already inherit from $$anonymous$$onobehaviour. I hate to constantly call Updates while in Edit $$anonymous$$ode, especially since the value is a fairly bulky class. I already have the ability to update it when the value is changed through the Setter, but while Serializing it, the update seems like the only solution.

$$anonymous$$aybe I'll make it conditional or somethin'. That shouldn't be too big a problem.

avatar image
1

Answer by yoyo · May 10, 2011 at 09:39 PM

You could create a custom editor for the type. The editor would be active any time the properties of your object are being changed, so your editor code could check for changes, rather than putting it in the runtime Update. You can use Editor.DrawDefaultInspector to avoid re-implementing the editor functionality.

Alternatively you could tag your script to ExecuteInEditMode, but and use the C# pre-processor to remove the editor update code from your final build, like so ...

void Update()
{
    #if UNITY_EDITOR
    if (val != savedVal)
    {
        DoEditorStuff();
    }
    #endif
}

(Nope, doesn't work in javascript, sorry ...)

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 RealSoftGames · Jul 25, 2015 at 02:52 PM 0
Share

is there a way to do this without having to heck if a value has changed in update, kinda seems like a waste.

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

No one has followed this question yet.

Related Questions

Declaring animations on a script in the editor 1 Answer

Prefab not changing variable's values 2 Answers

layout serializable objects in unity 1 Answer

How to add objects in Inspector 1 Answer

How to find a variable with a string? 2 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