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]
Some dialogs, e.g. from save menu actions, don't need the two options.
#jira UE-10400 - Clicking on Save All brings up same window as when closing the editor
[CL 2463740 by Richard TalbotWatkin in Main branch]
UE-8574 - Sync to content browser does not work for C++ classes
Two issues:
1) The Content Browser wasn't enabling the Engine or Plugin view filters if you synced to a class in those categories - this meant that you couldn't see the synced class as its parent folder was still hidden.
2) FNativeClassHierarchy::GetClassPath was returning a path with a trailing / if the class was in the module root folder - this never matched anything so nothing was synced.
[CL 2423895 by Jamie Dale in Main branch]
Sorted content before classes, and modules in the order game -> engine -> plugins
UE-7184 - Show game c++ classes and engine c++ classes in the content browser
Also renamed "Game C++ Classes" to just "C++ Classes", and "Game Content" to just "Content" based on previous feedback.
[CL 2419539 by Ben Marsh in Main branch]
UE-7184 - Show game c++ classes and engine c++ classes in the content browser
The Content Browser now has extra entries for "Game C++ Classes" and "Engine C++ Classes" (with "Game" and "Engine" being renamed to "Game Content" and "Engine Content" respectively). These new folders serve as hosts for the list of available C++ modules, with each module internally mirroring the folder structure on disk.
For example:
- Game C++ Classes
- ShooterGame
- Classes
- Bots
- ShooterBot
- ShooterAIController
- [...]
- [...]
The Content Browser allows you to navigate and search these classes like you can with assets, and provides convenient access to either edit an existing class, or create a new class (either within a selected folder, or derived from a selected class).
As the Content Browser only shows you known UClass types, any new classes need to be compiled into a loaded module before they will appear. This means that adding a new class will now automatically hot-reload your target module. Should you prefer to handle building and loading your modules manually, you can disable the automatic hot-reload via "Editor Settings" -> "Miscellaneous" -> "Hot Reload" -> "Automatically Hot Reload New Classes" (see UEditorUserSettings::bAutomaticallyHotReloadNewClasses).
[CL 2409386 by Jamie Dale in Main branch]
* Moved Slate.h into SlateBasics.h and began shifting less commonly used headers into SlateExtras.h.
* Slate.h now simply includes SlateBasics.h and SlateExtras.h.
* Slate.h includes a deprecated warning now to indicate that SlateBasics.h + specific includes should be used instead.
* Moved dozens of inlined functions using Slate widgets into .cpp files to avoid header dependencies.
* All code samples now include SlateBasics.h and SlateExtras.h so future shifts will not break most those projects, but not trigger the deprecation warning of including Slate.h.
#BUN
[CL 2329610 by Wes Hunt in Main branch]
#ttp 348063 - Crash moving files in Content Browser
#branch UE4
#proj Developer.AssetTools, Editor.ContentBrowser, Editor.PackagesDialog, Editor.UnrealEd
[CL 2328547 by Richard TalbotWatkin in Main branch]
#UE4 You can now use the level "Save As..." dialog to overwrite existing levels. If they are in memory, they will be unloaded before proceeding.
--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2280588 by Bob.Tellez on 2014/09/01 13:20:53.
[CL 2280595 by Bob Tellez in Main branch]
TTP# 332328 - Content Browser: Need new warnings about long relative path lengths for assets.
https://answers.unrealengine.com/questions/60187/the-path-to-the-asset-is-too-long-for-cooking-im-l.html
The previous logic assumed that the project would always be in the same source tree as UE4, which isn't the case for content creation and Rocket projects.
In the case where the project was outside the UE4 source tree, the validation often failed as the path was never trimmed to remove the relative part of it (between the project and the UE4 binary).
This change gracefully handles both cases, and now performs two sets of validation:
1) It checks that the content can be cooked based on where the project actually is (for local cooking)
2) If it's an internal build, it also checks that the content will be cookable via our build machines (forthe build farm cooking)
ReviewedBy Andrew.Rodham
#codereview Max.Preussner
[CL 2272171 by Jamie Dale in Main branch]
#UE4 Moved rename verification logic to ContentBrowserUtils to be used by other Content Browser code.
--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2258236 by Bob.Tellez on 2014/08/15 14:41:11.
[CL 2258262 by Bob Tellez in Main branch]
Branching of files needed to be removed (by Bob Tellez) as it was causing crashes and mutiple duplicate files to show up in the content browser. This fix re-instates working branches in the Editor.
The idea is that we now do the copy/duplicate/rename operations first, then perform the 'branch' once the files are finished with by the Editor. This keeps the asset registry & directory watcher systems happy & leaves the issue of branching to source control alone.
Because of the way SVN copy works, the SVN verison of this is slightly icky. SVN copy does not allow a branch-copy over an existing file in the workspace (even if not under source control), so we have to move the file into a temp directory, do the copy, then re-move the file back over the top of its old location.
TTP# 334923 - EDITOR: Perforce Integration (Move -> Delete + Add instead of Integrate)
reviewed by Max.Preussner,Bob.Tellez,Matt.Kuhlenschmidt
[CL 2180124 by Thomas Sarkanen in Main branch]
#ttp 338544 - EDITOR: Update Notifications "Show Log" to "Show Output Log"
#branch UE4
#change Changed hyperlink text to be more specific in individual instances of FNotificationInfo objects.
#reviewedby Chris.Wood
[CL 2108221 by Richard TalbotWatkin in Main branch]
#proj UE4
#branch UE4
#summary Collections now store and display a custom colour based on the local user settings
#extra This works the same was as it does for folders.
#reviewedby Thomas.Sarkanen, Max.Preussner
[CL 2043079 by Jamie Dale in Main branch]