- Includes PR #1378 and #1379 (both contributed by yaakuro)
* Adds CodeLite project generator to UBT (can be invoked on all platforms).
* Adds CodeLite source accessor plugin (whitelisted for Linux only).
* Desktop platform/game project generation switched to use .workspace on Linux.
- Minor cleanup (do not recompile UAT and its modules when generating Linux projects).
#codereview Josh.Adams, Robert.Manuszewski, Mike.Fricker
[CL 2621060 by Dmitry Rekman in Main branch]
UE-18319 - Collections reset when the engine upgrades project
GameProjectUtils::DuplicateProjectForUpgrade used to wholesale skip the Saved directory, which meant that copying your project could appear to lose your local collections, as well as any saved user-settings.
This change allows it to copy the parts of the Saved directory that we know aren't transient. The RelativeDirectoriesToSkip array may need updating as new Saved content is added in order to keep the copy as fast as possible.
#codereview Ben.Marsh
[CL 2618570 by Jamie Dale in Main branch]
Additional files can now be specified in feature pack manifest.
Feature packs can now be parsed/installed feature pack without the need for a .upack file
Removed feature packs for shared template resources
Moved shared template resource manifests into a FeaturePack folder and revised so they will work sans .upack
Removed shared feature packs from list of .upacks rocket builds.
[CL 2617901 by bruce nesbit in Main branch]
Removed Saving from the Project Manager's SetPluginEnabled function, setting a dirty flag instead, as it won't be able to check source control
Added a new function to save the current project from the Project Manager and clear the dirty flag on success
[CL 2588323 by Matthew Griffin in Main branch]
Added 'Minimum OS Version' as a build condition of content projects for windows.
Fixed a small issue in GameProjectUtils that meant the Default(Engine) configs were not being checked against the project correctly.
UE-15605
#lockdown Josh.Adams
#platformnotify Josh.Adams
[CL 2575452 by Matthew Griffin in Main branch]
UE-14158 - Description of Parent Object Class
Fixed some issues where getting a localized string for a class tooltip would fail, and updated the class wizard to use FText so it can display localized descriptions.
[CL 2554964 by Jamie Dale in Main branch]
- Contributed by salamanderrake.
- Cosmetic differences from the PR.
- Also removed filtering out Windows/Mac/etc directories when generating a qmake project since it makes code navigation worse.
[CL 2532165 by Dmitry Rekman in Main branch]
Note: This plugin is currently disabled by default.
When enabled:
- It can be summoned from the main frame File menu as "Add Plugin...", and includes three templates currently:
- Blank: Creates a minimal plugin with no functionality
- Basic: Creates a plugin that adds a button to the main frame toolbar
- Advanced: Creates a standalone tab window, summoned via a button on the main frame toolbar
PR #865: Plugin creator 4.7 (Contributed by karolz)
[CL 2521691 by Michael Noland in Main branch]
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]
The fact that the error message said "failed to add class" despite the class itself being added was causing confusion.
In the case where adding a new class fails to hot-reload (probably due a compiler error) we now state that the class itself has been added, but that you'll need to recompile the module before it will appear in the editor, and offer an easy way to open the output log to see more detailed compiler output. We also automatically close the class wizard so that you're not left looking at an error message saying that "the class name is already in use".
[CL 2515833 by Jamie Dale in Main branch]
Slate Widget was failing, because of missing Slate dependencies. Testing introduced a couple of problems which all was fixed by this CL:
1. I introduced AdditionalDependencies in .uproject file and change "Add Code To Project..." procedure to fill this array if needed. UBT reads this field and builds the project with required modules. Needed for Slate classes.
2. Changed UHT to #include missing headers in generated.h files if it was missing an include for it's super class. It was causing problems if we were trying to add a subclass of BrushShape -- BrushShape.h didn't have #include "Brush.h" and UBrushShape was inheriting from UBrush.
3. Above problems also occured for Slate classes, but not all of them was UCLASSes, so I had to fixed that manually.
4. "Add Code To Project..." functionality was not invalidating UBT makefiles, which lead to omitting new source files during hot-reloading (even thought it was reporting a success). This change also should improve a bit performance, cause right now there is no "gathering" step -- there is only invalidate step which is a lot quicker.
5. Fixed "Selected Class Source" link to source class in Slate Widget and Slate Widget Style class.
#codereview Robert.Manuszewski
[CL 2481488 by Jaroslaw Palczynski in Main branch]