Moved all the code to a plugin module
Removed superfluous icons from the toolbar
Added combo-box drop down menu options
Added dockable window support
Added icons to the starship style
Numerous UI layout tweaks
#rb lauren.barnes
#preflight 613126e44f2c7c000154ae65
[CL 17408889 by mark lintott in ue5-main branch]
This lets UTypedElementSelectionSet (which has minimal dependencies) to be used by the Engine and InteractiveToolsFramework modules
#rb Brooke.Hubert
[CL 15219316 by Jamie Dale in ue5-main branch]
- Refactored the MergeActors different panels to reuse the same code.
- Adapted quick merge actions (required some refactoring)
- Fixed some issues with the "replace source actors" feature vs. actual selection
- Fixed crash when using the instancing mode with "replace source actors" enabled.
#rb sebastien.lussier
#jira UETOOL-2808
[CL 15019677 by julien lheureux in ue5-main branch]
This phase focuses on the minimum set of changes needed to port the UnrealEd logic for handling the selection of actors and components within the Level Editor viewport to use typed element interfaces. There is still future work to be done to clean this up further.
This change adds a new framework type, UTypedElementSelectionSet, which manages the concept of "selection" for typed elements. Internally this owns its own UTypedElementList, and ensures that mutation of that list goes via the UTypedElementSelectionInterface implementations.
To allow specific asset editors to customize their selection behavior, UTypedElementSelectionSet may have "selection proxies" that implement UTypedElementAssetEditorSelectionProxy registered to it. This is what's used to allow the level editor to implement its type specific rules.
The core Level Editor selection implementation for actors and components now lives inside UActorElementLevelEditorSelectionProxy and UComponentElementLevelEditorSelectionProxy, and the existing UUnrealEdEngine functions that used to deal with this logic now proxy through to those implementations via UTypedElementSelectionSet. This means that the implementation has moved into the LevelEditor module without UnrealEd even knowing.
Future work will focus on:
- Cleaning up the legacy USelection bridge, so that all USelection instances are just a proxy around a UTypedElementSelectionSet.
- This will involve making a basic "Object" element type to handle the generic UObject based selection (for assets) that USelection also handles.
- This should allow GetMutableElementList to be removed from UTypedElementSelectionSet, to avoid potential abuse or misuse.
- Investigating the best way to integrate element based selection into the editor modes.
#rb Chris.Gagnon, Brooke.Hubert
#rnx
[CL 14470181 by Jamie Dale in ue5-main branch]
Moved functionality from the EditorLevelLibrary into the LevelEditorSubsystem, UnrealEditorSubsystem, EditorActorSubsystem and StaticMeshEditorSubsystem
#jira UE-77334
#rb lauren.barnes, francis.hurteau, brooke.hubert
#fyi chris.gagnon
[CL 13934034 by aditya ravichandran in ue5-main branch]
- Content browser drawer now working well with ctrl+space as the default keybinding. Summoning the drawer will immediately focus the search bar. Had to add some new hooks into the content browser api for that
- Moved status bar to a proper module
[CL 13470560 by Matt Kuhlenschmidt in ue5-main branch]
#rnx
#rb none
#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870586 by ryan durand in Main branch]
Allows fast iteration of C++ changes without restarting the application. To use, select the "Live Coding (Experimental)" mode from the drop down menu next to the editor's compile button, or type "LiveCoding" into the console for a monolithic build. Press Ctrl+Alt+F11 to find changes and compile.
Changes vs standalone Live++ version:
* UBT is used to execute builds. This allows standard UE4 adaptive unity mode, allows us to reuse object files when we do regular builds, supports using any build executor allowed by UBT (XGE, SNDBS, etc..).
* Adding new source files is supported.
* Custom visualizer for FNames is supported via a weakly linked symbol in a static library (Engine/Extras/NatvisHelpers).
* Settings are exposed in the editor's project settings dialog.
* Standalone application has been rewritten as a Slate app ("LiveCodingConsole"). There is an additional option to start the program as hidden, where it will not be visible until Ctrl+Alt+F11 is hit. Similarly, closing the window will hide it instead of closing the application.
* Does not require a standalone licensed version of Live++.
Known issues:
* Does not currently support class layout changes / object reinstancing
#rb none
[FYI] Marc.Audy, Stefan.Boberg, Nick.Penwarden
#jira
#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5304722 in //UE4/Release-4.22/... via CL 5309051
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)
[CL 5325549 by ben marsh in Dev-Anim branch]