I've been looking into UIElements recently and I'm a bit concerned with all the hard-coded paths in the templates and documentation I've seen so far. When I create a UIElements Editor Window, the uxml file contains hard coded references to the schema files that are placed in the project root. The C# code contains hard coded references to the uxml and uss files. Code (csharp): var visualTree = AssetDatabase.LoadAssetAtPath<VisualTreeAsset> ("Assets/Editor/MyEditor.uxml"); Moving either the uxml or uss file to a different location results in a broken UI. Most third party editor extensions and tools these days can handle being moved around in the project e.g. into a ThirdParty folder. It would be a pity if UIElements would cause newer editor extensions to rely on a fixed path within the project. One workaround for the hard coded paths in the C# file would be to put the uxml and uss files in the special Editor Default Resources folder and using EditorGUIUtility.Load. Code (csharp): var visualTree = EditorGUIUtility.Load("MyEditor/MyEditor.uxml") as VisualTreeAsset; However, this is not ideal, since it prevents self-contained editor tools that live in a single moveable folder. It would be nice to have a suggested and documented way to build custom editor tools that can easily be shared and moved around in the project.