-
-
Notifications
You must be signed in to change notification settings - Fork 910
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Scope based editor window system #2234
Comments
So, if you want to open a scene and a prefab alongside, you would have to lock your viewport, lock your outliner, then open a new viewport and outliner, and then open your asset ? |
I think I would agree on the UX part that if you have multiple asset windows and a single Properties pane, by selecting a different asset window we should update whose properties are shown. This is similar to how in VS clicking on the Solution Explorer shows properties of the files, clicking on an open App.xaml editor shows properties of the app and clicking on a C# file editor shows no properties. |
So @Eideren and @manio143 I used Figma to throw together this little mockup example of the sort of behaviour I am talking about. Clicking on the GraphicsCompositor in the Outliner makes it the active document and updates the windows. Then selecting the MainScene switch back to that one. stride-window-mockup.mp4This isn't the most compelx senario or UI layout, but I hope it demonstrates the workflow of being able to switch between editing different assets quickly while respecting screenspace usage and keeping window implementation to a minimum. |
Is your feature request related to a problem? Please describe.
In the editor, editing assets have a couple of workflow and implementation issues.
Describe the solution you'd like
Think of each asset type as a "document scope", when a asset is opened its scope is set as the active scope. All relevant windows change to show the data of the asset when its scope is active.
Windows are designed for specific data types and tasks, instead of for specific assets. Such as Outliner, Viewport, Properties, Preview, Blackboard, and so forth.
Windows can specify which scopes they do or don't listen to, or even specific entities (like a lock/freeze).
If a window is focused/selected that was set to a scope that is not the active scope, the active scope changes to that one. Updating all windows listening to that newly activated scope.
This allows for having multiple assets open and active at once and easily switch between editing them.
Describe alternatives you've considered
There is also the 'Unreal engine' way, where we have windows that are nested in 'main asset' windows, and opening a asset for editing opens its own window. But this duplicates a lot of windows and is not very screen real-estate friendly.
Additional context
Closing
Beyond the obvious issues this solution addresses, it also has the benefit of overall speeding up development and providing nicer UX by default as a whole because any improvement to one window benefits all assets. Such as improving drag and drop in the Outliner would benefit the Scene, UIPage, Skeleton and any other asset that uses it, without 'any' additional work.
With the editor rewrite underway it seemed like a good time to come back and 'formally' write up this proposal. Please give any thoughts on it or ask questions.
Thanks.
The text was updated successfully, but these errors were encountered: