Paper2D: Defined a "Paper2D" category and moved existing asset type actions over
New methods on IAssetTools:
- RegisterAdvancedAssetCategory
- FindAdvancedAssetCategory
- GetAllAdvancedAssetCategories
Upgrade Note: This gets rid of the named extension sections in the filter menu, which should instead be extended via registering a new category.
[UE-13646]
#codereview bob.tellez
[CL 2525743 by Michael Noland in Main branch]
I have reviewed each change carefully, but it is a large change and I could have missed something! Here is a summary of the types of changes in this CL:
* Made nullptr checks consistent (the plurality of the changes are of this type)
* Completed switch statements (IE, switch did not explicitly handle default case, but had unhandled enum entries - this is the second most popular type of fix)
* Removed unused variables
* Removed redundant initializations
* WidgetNavigationCustomization.cpp was fixed by the owner
* integers converted to floats where result was stored in a float
* Removed redundent null checks (e.g. before delete statements)
* Renamed variables to prevent non-obvious shadowing
* Fixed use of bitwise & when checking for equality to an enum entry (which is often 0)
* Fixes for some copy paste errors (e.g. FoliageEdMode.cpp)
[CL 2498053 by Dan Oconnor in Main branch]
Added the concept of "ClassTypeActions" for class asset types (C++ classes and Blueprints)
UE-7970 - Add small 'play' button to EditorTutorial asset thumbnail
Class asset types (C++ classes and Blueprints) are now able to provide actions that should be performed based upon the type of class the asset contains, rather than the asset class itself (which is always "Class" or "Blueprint").
This will allow the editor tutorials to provide class type actions for Blueprints that derive from "EditorTutorial" without requiring this information to be put into the asset type actions for Blueprint assets.
ReviewedBy Thomas.Sarkanen
[CL 2419736 by Ben Marsh in Main branch]
API break: added new pure virtual ISourceControlProvider::UsesChangelists()
API break: added new pure virtual ISourceControlState::FindHistoryRevision(const FString&)
API break: added new pure virtual ISourceControlRevision::GetRevision()
Implementing a Git provider requires us to be able to display revisions that are not indices as Git revisions are hashes. This updates the relvant code to allow us to display these revisions correctly.
[CL 2411986 by Thomas Sarkanen 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]
#jira UE-7384 - Using "Create New Asset" twice in a row causes an ensure generating the error message
[CL 2403504 by Richard TalbotWatkin 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]
FScopedSlowTask has been refactored to better allow for nesting of slow operations. This allows us to cascade nested scopes and provide accurate feedback on slow tasks. FScopedSlowTasks now work together when nested inside sub functions. Break up long functions that contain calls to multiple nested FScopedSlowTasks with FScopedSlowTask::EnterProgressFrame().
Example Usage:
void DoSlowWork()
{
FScopedSlowTask Progress(2.f, LOCTEXT("DoingSlowWork", "Doing Slow Work..."));
// Optionally make this show a dialog if not already shown
Progress.MakeDialog();
// Indicate that we are entering a frame representing 1 unit of work
Progress.EnterProgressFrame(1.f);
// DoFirstThing() can follow a similar pattern of creating a scope divided into frames. These contribute to their parent's progress frame proportionately.
DoFirstThing();
Progress.EnterProgressFrame(1.f);
DoSecondThing();
}
This addresses TTP#338602 - NEEDS REVIEW: Editor progress bars nearly always just show 100%, don't offer useful indication of progress
[CL 2322391 by Andrew Rodham in Main branch]
#ttp 344941 - Record Import failed events when users drag unsupported formats into the content browser
#branch UE4
reviewed by Thomas.Sarkanen
[CL 2305533 by Andrew Brown in Main branch]
UE4: Consolidated worldassets command line checks to a static function in editorengine and one in the asset registry. This will make it easier to enable
--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2255048 by Bob.Tellez on 2014/08/13 15:19:54.
[CL 2255061 by Bob Tellez in Main branch]
343098 EDITOR: FBX: CRASH: Editor will crash when trying to import a skeletal mesh with multiple root bones a second time
- It was due to package is deleted, but access it again after.
[CL 2245031 by Lina Halper in Main branch]