Added console command for enabling/disabling the HLOD system
Changed/removed HLOD behaviour from build menu
Removed context menu from HLOD level treeview item
Double clicking a (build) LODActor or StaticMeshActor item in the HLOD outliner will now move the editor camera to the actor (just like the scene outliner)
[CL 2678787 by Jurre deBaare in Main branch]
#jira UE-18353 - SaveBrushAsCollison keybind makes no sense because the builder brush is no longer a user-facing concept
[CL 2619945 by Richard TalbotWatkin in Main branch]
ADDED UE-14356 HLOD: Print user friendly message if you try build and meshes don't have have LODs
ADDED MergeStaticMeshComponets to MeshUtilities needed for next CHANGE
ADDED HLOD preview build step for maps, this only builds the clusters for previewing the settings
ADDED SphereComponent now takes into account min and max drawing distances
ADDED Global forward declares and removed local ones from HierarchicalLOD.h
ADDED Visualization to LODActor class, uses USphereComponent to render its bounds
ADDED IsPreviewActor flag to LODActor class, if true during cluster generation DrawSphereComponents bounds will be used instead of LODActor's
ADDED vertex duplication removal on import
ADDED vertex/index buffer cache optimization on import
CHANGED World.h now forward declares HierarchicalLODBuilder to minimize (re)compile time
CHANGED While building/merging actors HLOD system now takes the orginal staticmesh from previously merged LODActors, this to enable retrieving the correct LOD per mesh (related to UE-15398)
CHANGED HLOD Cluster generation process, now takes into account HierarchicalLODVolumes to exclude actors from cluster generation
CHANGED Renamed CalculateRawMeshTangents to ExtractMeshDataForGeometryCache
FIXED Crash where a nullptr actor was added to actors list for > LOD0 clusters
FIXED Bound creation for actor within a cluster used FVector.Size(), now used FVector.AbsMax()
MOVED FLODCLuster structure into seperate header and cpp file
[CL 2617884 by Jurre DeBaare in Main branch]
- PreUnloadCallback() was not called in all cases a module could be unloaded (Buggy!)
- PostLoadCallback() was never called for modules unless the module happened to be loaded with LoadModuleWithCallback(). (Very confusing!)
- These functions were really just called when dynamically unloading and loading modules (not hot reload, and not when starting up or shutting down.) This was very confusing. For the most part you can achieve the same result by overriding StartupModule() and ShutdownModule().
- Additional context: CL 1607584 and https://udn.unrealengine.com/questions/246629/why-is-preunloadcallback-not-called-in-unloadmodul.html
[CL 2562810 by Mike Fricker in Main branch]
Added several additional layer action commands:
- Move selection up a layer (Ctrl+PageUp, also changes active layer)
- Move selection down a layer (Ctrl+PageDown, also changes active layer)
- Move selection to top layer (Shift+Ctrl+PageUp, also changes active layer)
- Move selection to bottom layer (Shift+Ctrl+PageDown, also changes active layer)
- Cycle active snap layer forwards (Alt+PageUp)
- Cycle active snap layer backwards (Alt+PageDown)
Changed the snap layer viewport toolbar button to be a reasonable minimum width, reducing horizontal bounciness when switching layers
Snap layers in the project settings are now automatically sorted by depth when they are edited
[CL 2554371 by Michael Noland in Main branch]
Editor : Editor puts the project watermark as a badge in the TabWell background.
Project name prefix, badge color and text color can be controlled via:
EditorPerProjectUserSettings.ini:
---------------------------------
[LevelEditor]
ProjectNameWatermarkPrefix=DEV
ProjectBadgeBackgroundColor=(R=237,G=25,B=104,A=255)
ProjectBadgeTextColor=(R=0,G=0,B=0,A=255)
[CL 2533841 by Nick Atamas in Main branch]
- New "Size Map" feature that shows the resource size for selected assets in Content Browser
- Select assets in Content Browser, right click and choose "Size Map..." to show sizes for those assets
- Select actors and press Alt+Shift+M to show sizes of assets used by those actors
- Select assets in Reference Viewer, right click and choose "Size Map..." to show sizes for those assets
- Also added a new "Tree Map" general purpose Slate widget (STreeMap)
[CL 2521609 by Mike Fricker 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]
This allows you to align your view in the editor, select an actor in the
world outliner or in scene, right-click and select "Snap Actor to
Camera". Actor will then set its location and rotation to match the
view. This is super handy for quickly finding an awesome camera view in
the editor and then making your CameraActors match that view.
[CL 2501200 by Matt Kuhlenschmidt in Main branch]
When a selected actor is reinstanced, a details view (displaying details of the actor) needs to be refreshed.
An alternative solution: don't check SDetailsView::ShouldSetNewObjects (refresh always )
OR store an object's hash in SDetailsView (and compare it in the ShouldSetNewObjects)
#codereview Matt.Kuhlenschmidt, Nick.Whiting
[CL 2455053 by Maciej Mroz in Main branch]
[UE-8712] - Right-clicking a component in the world brings up a context menu with basic options
- Fixed issue where duplicated components retained incorrect AttachChildren
[CL 2447004 by Matthew Griffin in Main branch]
[UE-8315] - Duplicated components appear in the proper location in BP editor
[UE-8617] - Alt+LMB drag to duplicate component in world works
[UE-8802] - Fixed issues with location of duplicated component
[UE-9193] - Substantially reorganized cut, copy, paste, duplicate, and delete to work in the world. Moved most of the implementations to FComponentEditorUtils so it could be shared by the SCSEditor (in ActorInstance mode) and the level editor
Checking in to keep from getting too unwieldly/large.
Known issues:
- Paste doesn't always show up in the right place
- Paste always attaches to root in world
- Can crash when undoing transform manipulation with multiple duplicated components selected
[CL 2441362 by Matthew Griffin in Main branch]