By default, UI Builder assumes UI is being created for use at runtime in a Player build. As such, all new UI Documents (UXML) created in the UI Builder have a setting saved within the UXML that marks them as runtime-only UI. The main effect this has in the UI Builder is that the Library pane’s Standard tab will be filtered to only contain elements that work best at runtime.
To create UI for the Unity Editor, like custom Editor Windows or custom Inspectors, you must enable Editor Extension Authoring on your UI Document (UXML). You can enable extension authoring in two ways:
Unlike the other Canvas settings, this setting will be saved as part of the UI Document (UXML) using a <UXML>
root tag attribute called editor-extension-mode
.
With Editor Extension Authoring enabled, you should have additional elements in the Library pane Standard tab. Editor-only elements are marked with an Editor Only
pill.
To set the default setting for Editor Extension Authoring on new UI Documents (UXML):
Every UI Document (UXML) opened in UI Builder has an Editor Extension Authoring attribute. The UI Builder adds the attribute to the UI Document root tag, like the following example:
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" editor-extension-mode="False">
ノート |
---|
Because the Editor extension authoring attribute is saved in the UI Document (UXML) file, it’s version controlled. When you create a new UI Document (UXML), the UI Builder sets its Editor Extension Authoring attribute according to the default specified in the UI Builder project settings. |
UI Documents (UXML) that you create outside of the UI Builder (for example, in a text editor or IDE) don’t have an Editor Extension Authoring attribute until you open them in the UI Builder. When you open an externally created UI Document (UXML) in the UI Builder for the first time, the Editor Extension Authoring attribute is set according to the default specified in the UI Builder project settings.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.