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 fusecore · Mar 18, 2015 at 02:27 AM · editorwindoweventkeypress

EditorWindow.focusedWindow.SendEvent crashes Unity.

 void OnDrawGizmosSelected(){
     var e = new Event { keyCode = KeyCode.RightArrow, type = EventType.keyDown };
     EditorWindow.focusedWindow.SendEvent(e);
 }

This code crashes my Unity client. I wish to simulate a right arrow press on a the hierarchy window.

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
0

Answer by Bunny83 · Mar 18, 2015 at 04:03 AM

OnDrawGizmosSelected is always called when the sceneview is updated. Since every time OnDrawGizmosSelected is called you send a manual event to the GUI system you probably caused that in response to that event OnDrawGizmosSelected is called again. So you probably have an infinite recursion.

What's the point of this actually? OnDrawGizmosSelected is not just called once when you select a gizmo, but it's called to actually draw the gizmo only when the gameobject is selected.

OnDrawGizmosSelected is a callback that is bound to the sceneview. You can also select objects in the sceneview so "EditorWindow.focusedWindow" wouldn't be the hierarchy window. I guess you just want to "autoexpand" the object when it's selected? Sending "RightArrow" isn't a good solution in general since it'S possible that a parent object has been selected (in which case OnDrawGizmosSelected is also called).

If you want to expand the selected item, it's better to dig into that directly and change the expanded state directly. Those things are actually quite hidden in the editor code so you have to figure it out yourself.

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 fusecore · Mar 18, 2015 at 11:39 AM 0
Share

Actually I've removed some code for simplicity's sake. I check if this is the actual object selected, change the Selection.activegameobject to 2 parents up, then select the Hierarchy window and send the right arrow event to collapse, then reselect the previously selected window.

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

21 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

Related Questions

Sending a "Rename" CommandEvent to the Hiearchy window, almost there... 3 Answers

Is it possible to render a UnityAction field in a custom editor window? 0 Answers

How can I hide function in Animation Event Window? 0 Answers

EditorWindow not properly drawing 1 Answer

Detect Enter Key Event with GUILayout.TextField Focused 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