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
2
Question by Eagle32 · Sep 07, 2010 at 05:21 AM · inspectoreditor-scriptingdebug

Custom inspector debug display or prevent SerializeField editing

Is there anyway to change how a custom inspector displays when in debug mode? Or to prevent a field tagged SerializeField from being editable when the inspectors in debug mode? Or another solution to the following problem?

I have a component with a custom inspector that allows changes to several properties of the component. An example property looks like this

[SerializeField] private bool internalMaintainViewportFieldofView = false; public bool MaintainViewportFieldofView { get { return internalMaintainViewportFieldofView; } set { bool changed = internalMaintainViewportFieldofView != value; if (changed) { if (Transitioning) throw new TransitionInProgressException("Can't change properties while a transition is inprogress");

         internalMaintainViewportFieldofView = value;
         // A bunch of other things that need doing
     }
 }

}

This all works fine and my custom inspector works and correctly uses the public property.

The problem, is that when the inspector is in debug mode, the private variable is visible (fine) and editable (not fine).

Removing the SerializeField attribute stops it being editable but then the value doesn't get serialized, so that's no solution.

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 Eagle32 · Sep 07, 2010 at 06:25 AM

Well I found an acceptable solution. Adding the [HideInInspector] attribute along with the [SerializeField] attribute gets me an acceptable result. That being that the private variable is saved and not visible when in the debug inspector.

A better solution would have it visible but not editable.

The optimum solution would be a custom gui for the debug inspector.

Can anyone provide a better solution?

Comment
Add comment · Show 2 · 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 yoyo · Nov 16, 2010 at 12:10 AM 0
Share

If you have a custom inspector you could use EditorGUILayout.LabelField to display the value of your read-only property.

http://unity3d.com/support/documentation/ScriptReference/EditorGUILayout.LabelField.html

avatar image Antony-Blackett · May 04, 2011 at 04:41 AM 0
Share

Doing that would not solve this problem. In the debug inspector it would still be visible and editable or invisible. I too think you should be able to view but not edit in the debug inspector.

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

Is it possible to extend the playing and debugging process? 0 Answers

Playable Director in Debug inspector mode 1 Answer

How to create an inspector settings window? 3 Answers

TexturePropertySingleLine in Editor class 0 Answers

Draw specific Object Inspector into Rect 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