Newly installed versions of the engine will now attempt to copy the project-agnostic config settings from a previous engine installation. This happens by way of a versioned manifest that copies old versions when the manifest does not exist, or is a different version. This code path is benign for non-installed versions of the engine (or FPaths::ShouldSaveToUserDir() is false).
EditorGameAgnosticSettings and EditorUserSettings ini paths have been renamed to EditorSettings and EditorPerProjectUserSettings respectively to better convey their purpose. In general, most settings should be saved in EditorSettings (project-agnostic) so that they apply regardless of which project is open. We have some way to go migrating existing settings for this to be the case, however.
Some previously per-project configuration files are now project-agnostic (such as Editor.ini, EditorKeyBindings.ini, and EditorLayout.ini)
GEditor->Access...Settings and GEditor->Get...Settings have been removed in favor of direct access of the CDO through GetMutableDefault<> and GetDefault<> respectively. Global config ini filenames that are not set up are now neither loaded nor saved on build machines, to handle the problem of indeterminate state more generically.
This addresses UETOOL-270 (Most editor preferences should be project-agnostic)
[CL 2517558 by Andrew Rodham in Main branch]
When a selected actor is reinstanced, a details view (displaying details of the actor) needs to be refreshed.
An alternative solution: don't check SDetailsView::ShouldSetNewObjects (refresh always )
OR store an object's hash in SDetailsView (and compare it in the ShouldSetNewObjects)
#codereview Matt.Kuhlenschmidt, Nick.Whiting
[CL 2455053 by Maciej Mroz in Main branch]
- Removed the actor context menu options from the actor root in the components tree; can now only paste a component onto it
-> Necessary because multiple details panels can be open and locked to different actors, so the context menu options would not necessarily pertain to the right-clicked actor root
- Fixed ProcesFCustomizableTextObjectFactory::ProcessBuffer attempting to load an archetype when none had been parsed from T3D
[CL 2453563 by Dan Hertzka in Main branch]
Editor: Add/clarify make Blueprint actions to the Blueprints toolbar button
- Expose 'Blueprint from selected actor' (single actor; identical to invoking it from the details panel)
- Expose 'Blueprint from selected components' (harvests components from mutliple actors, ignoring the actor classes themselves)
- Rename 'New Blueprint Class' to 'New Empty Blueprint Class'
- Move the make blueprint options to the top of the menu and push level script to be the second category
[CL 2446921 by Matthew Griffin in Main branch]
Make right-click on the root node in SCSEditor show Actor actions in LevelEditor and just the Component paste option in BlueprintEditor
[CL 2425968 by Ben Marsh in Main branch]
Component Editor: Removed a number of invalid assumptions about ActorContext being non-null if ever set
- Moved SCS editor mode enum to be a separate namespace to prevent mistakes (found a couple of ActorInstance ? X : Y instances that should have been (Actor != null) ? X : Y but were always using X since ActorInstance = 1)
#codereview Phillip.Kavan
[UE-8368]
[CL 2425707 by Ben Marsh in Main branch]