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]
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]
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]
Generalized "Add Code to Project" dialog to allow creation of both c++ and blueprint class types.
The add component option when blueprintable components is enabled, now opens up this dialog rather than the parent class picker.
UE-8491 - IWCE: New C++ Component and New Blueprint Component should prompt you for a component type to subclass
[CL 2446735 by Matthew Griffin in Main branch]
Improvements to naming of newly-created C++ and BP components through SCS tree
- Strip off "_C" suffix on newly created Blueprint classes
- Don't strip "Component" from Blueprint class names unless it is the suffix
- Changed prefix for newly-created C++ components from "My" to "New"
- New Blueprint components default to the name of the class unless they are Blueprints of UActorComponent, in which case the name is just "NewComponent"
- New C++ components default to the name of the class unless they inherit from UActorComponent, in which case the name is just "NewComponent"
#codereview matt.kuhlenschmidt
[CL 2425794 by Ben Marsh in Main branch]
Added an experimental method to add a new C++ class derived from ActorComponent to an actor. The purpose of this is to add scripting support directly on an actor without subclassing the actor.
[CL 2419710 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]
* Categorized templates into Blueprint/C++ templates and organized them into tabs
* New categories can be specified in the templatedefs.ini file of a template project using a Category tag:
Category=NewCategory
* New category types can be registered with a proper description and icon in code through FGameProjectGenerationModule::RegisterTemplateCategory.
* Added preview images to templates
* Generally tidied the UI
This addresses TTP#321302 - EDITOR: Project Browser: Reduce Thumbnail size of Templates
Reviewed by Matt.Kuhlenschmidt
[CL 2260660 by Andrew Rodham in Main branch]
TTP# 337136 - SETTINGS: Target Platform settings polish
TTP# 337652 - EDITOR: Limit Project supported Android icons down to 1
TTP# 337650 - EDITOR: There is only 1 icon for Apple for Project Supported Platforms
DesktopPlatform now contains a static array of FPlatformInfo. This can be used to query UE4 about its available platforms, even when they're not available as a target platform.
FPlatformInfo contains the information required by the editor (such as a localized display name and icon), as well as whether a platform is a variation ("flavor") of another, and if so, whether the flavor affects the build output (eg, Win32 or Win64), or the cook output (eg, Android_XYZ). This lets the editor build up nested menus for the "Package Project" and "Cook Project" options, rather than just showing everything as a flat list.
ReviewedBy Thomas.Sarkanen, Max.Preussner
[CL 2095796 by Jamie Dale in Main branch]
TTP# 332489 - TOOLS FEATURE: Editor: Allow user to designate which platforms a project is designed for; warn user when deploying to platforms that will result in a bad time
There is now a "Target Platforms" tab in the project settings which allows you to choose which platforms your project will target. This information is stored inside the .uproject file.
If you try and launch, cook, or package for a project that isn't on the supported list, then you'll see a suppressible warning notifying you that the project may not run as expected. This is also conveyed to you via a warning icon next to platforms which aren't set as a target.
Additionally the target platform icons are shown in the tooltip on the "Open Project" dialog, as well as in the tab area of the level editor.
ReviewedBy Thomas.Sarkanen, Max.Preussner
[CL 2088161 by Jamie Dale in Main branch]