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]
- Marked some overrides properly, then gave up and added -Wno-inconsistent-missing-override)
- Improved Xcode selection process for Mac and iOS (no more hardcoding Xcode path - it uses the currently running Xcode, or xcode-select when using commandline)
- Added AppleToolchain.cs, to start sharing code between Mac and IOS Toolchains (Compile functionality and params to clang could be shared pretty easily)
-
- Some Utility functions:
- Added UBT utility to run a commandline and get its output, self-contained (Utils.RunLocalProcessAndReturnStdOut)
- Added Log.TraceInformationOnce (and Error, Warning, etc) to print out a message only one time, without a bunch of static bools everywhere
#codereview michael.trepka,peter.sauerbrei,mark.satterthwaite
[CL 2586000 by Josh Adams in Main branch]
Removed Custom file writing code from Plugin Creator plugin as it hadn't been kept up to date with normal methods and did not write all properties
Also noticed two strings in plugin tile used the same key, allowed documentation and support to preview URL as well
UE-16203
[CL 2579743 by Matthew Griffin 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]
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]