* Moved workflow tracking of collection manipulations up one level to target user interaction only
* Added create/destroy collection workflows
* Remove hand-holding utilities aimed to ease verbosity of telemetry event generation
#rb wes.hunt
#jira UE-155132
#preflight 6463b34f063e77985c259c71
[CL 25492328 by logan buchy in ue5-main branch]
* Uses method of exposing a delegate for telemetry events to be registered by a StudioAnalytic provider implementation to avoid embedding schema in the engine
* Generic templates for RAII scoped timed telemetry events added to aid in generating timed events
#jira UE-155132
#rb Brooke.Hubert Wes.Hunt Ronald.Koppers
#preflight 645022cdee56ca4c247ef92a
[CL 25291458 by logan buchy in ue5-main branch]
Optimized Collection code invoked at each source control update to avoid comparing large set to detect if the in-memory collection is different from the collection on disk.
#rb Julien.StJean
#preflight 6346e2cf663dafe4162e8c9e
[CL 22505265 by patrick laflamme in ue5-main branch]
#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 18327503 via CL 18327514 via CL 18327529 via CL 18328464 via CL 18328574
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18328663 by bob tellez in ue5-release-engine-test branch]
- Parallelize collection loading in FCollectionManager::LoadCollections
- Parallelize FName registration to cut on hashing cost in Collection::Load
- Leverage FStringView where possible in Collection::Load
- 987ms -> 238ms for collection loading during editor startup
- 987ms -> 696ms with -onethread
#rnx
#tests generated md5 of all loaded collections content before and after the change
#rb Bob.Tellez
#ROBOMERGE-SOURCE: CL 13054205 via CL 13054206 via CL 13054211
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)
[CL 13054213 by danny couture in Main branch]
#rnx
#rb none
#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870584 by ryan durand in Main branch]
Some displayed error messages about paths being too long are more informatives and include full path and current/maximum length allowed.
#rb none
[CL 10119068 by Gines Hidalgo in Dev-Editor branch]
Revamped collection UI:
- Uses a more modern design.
- Adds the asset count to the collection view.
- Adds the collections more prominently in asset tooltips.
Revamped sources panel UI:
- Added a unified search for all aspects of the sources panel (paths, favorites, and collections).
- Added a switcher for the paths and collections views, which auto-switches as you browse to paths or collections.
- Collections are now visible by default, rather than hidden behind a View Option.
Improved Content Browser auto-complete:
- Now lists collection and meta-data tag names, as well as the old class names.
- Tokenizes the search terms to allow auto-complete on partial statements.
- Note: Involves some breaking API changes to SAssetSearchBox to allow more complex filtering and auto-complete rules.
Added scripting API support:
- Collections can now be created, destroyed, and manipulated via Python or Editor Utilities (editor-only, see the AssetTagsSubsystem API).
- Collections can be queried both in-editor and at runtime (if cooked).
Added support for optionally "cooking" collections for use at runtime:
- This only works for static collections, and adds their information to the asset registry meta-data.
- See the AssetRegistry settings in BaseEngine.ini (bTagAllCollections, CollectionsToIncludeAsTags, and CollectionsToExcludeAsTags).
- No collections are cooked by default.
#rb Chris.Gagnon
[CL 8847950 by Jamie Dale in Dev-Editor branch]
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3567301 by Arciel.Rekman
Linux: fix for importing failure when clicking shortcuts (UE-47932).
- Slate dialog would return incorrect relative paths (not matching CWD) if Engine or Project shortcuts were used.
#jira UE-47932
Change 3567687 by Arciel.Rekman
Minor fixes to gdb pretty printers by icculus.
Change 3568024 by Arciel.Rekman
Made SDL_SetWindowInputFocus() wait until window is viewable (UE-33369).
- Pull request #2608 contributed by Ereski.
- Updated x86_64 lib only (anticipating more changes to SDL).
#coderview Cengiz.Terzibas, Ryan.Gordon
Change 3568173 by Max.Chen
Movie Scene Capture: Delay on shot boundaries by setting the sequencer play rate to 0.
This allows particles, TAA, and other effects to settle on the shot cuts.
#jira UE-44598
Change 3568174 by Max.Chen
Sequencer: Added option to rerun construction scripts on bound actors in the sequence every frame.
#jira UE-31193
Change 3568331 by Matt.Kuhlenschmidt
PR #3850: Add extensible source navigation service (Contributed by mhutch)
Change 3568350 by Matt.Kuhlenschmidt
PR #3851: Add argument to pass params to standalone play session (Contributed by mhutch)
Change 3568387 by Matt.Kuhlenschmidt
PR #3852: Add FEditorDelegates::BeginLocalPlay event (Contributed by mhutch)
Change 3568541 by Arciel.Rekman
Merged Icculus' patch for copy-paste (UE-40071).
- Alas does not seem to fix inability to copy/paste between Output log and kate.
- Updated x86_64 lib only (anticipating more changes).
Change 3568547 by Arciel.Rekman
Fix OpenGL queries reused after deletion.
Change 3568790 by Matt.Kuhlenschmidt
PR #3857: Loading screen widgets not scaled correctly (Contributed by projectgheist)
Change 3568900 by Alexis.Matte
Fix the fbx re-import factory handler to say failed in case there was no geometry to import.
#jira UE-47506
Change 3568902 by Alexis.Matte
Reduce memory footprint when importing large FBX scene PR #3834
#jira UE-47833
Change 3569061 by Arciel.Rekman
Linux: remove unnecessary symbols for MSVC visualizers.
- Reported by ASan as collision because they exist in each DSO.
Change 3569782 by Cody.Albert
Updated ImportAssets Commandlet help text to properly reflect supported features.
Change 3569843 by Arciel.Rekman
SDL: add logic to select headless EGL device.
- SDL will try to guess which device is GPU using CUDA device id (can also be hinted explicitly).
- Also fixes the problem of engine not starting on some drivers that don't support the necessary EGL extensions.
Change 3570234 by Max.Chen
Sequencer: Import FBX settings. Added settings to toggle force front x axis and whether to create cameras that don't already exist in the level.
#jira UE-46754
Change 3570578 by Arciel.Rekman
Linux: make FAnsiMalloc compatible with malloc()/free().
- Prerequisite for ASan. Also helps fringe cases when we have to use FAnsiMalloc.
Change 3571015 by Alexis.Matte
Issue warning when we found zero normal, tangent or binormal
#jira UE-46419
Change 3571376 by Jamie.Dale
Force a unique package localization ID when loading packages for diffing
Change 3571412 by Jamie.Dale
Removed unused setting
Change 3571487 by Alexis.Matte
fix speed tree import cancel workflow
#jira UE-47482
Change 3571614 by Jamie.Dale
Games now use the native culture of any of the game targets as the fallback (rather than always using English)
This replaces the previously removed redundant setting from CL# 3571412
Change 3572649 by Jamie.Dale
SavePackageHelper now always honors KeepObjectFlags
Change 3572730 by Matt.Kuhlenschmidt
Guard against crash in the details panel when there is a message in the queue and something scrolls into view when the list has been invalidated
#jira UE-48037
Change 3572773 by Matt.Kuhlenschmidt
Guard against high res screenshot crashing if the requested image size doesnt match the image data size
#jira UE-47765
Change 3572813 by Michael.Trepka
Workaround for a mysterious issue in Xcode 9 beta 3 and 4 which makes it generate -Wnullability-inferred-on-nested-type warnings/errors in MetalDebugCommandEncoder.h even though we tell Clang to ignore them in MacPlatformCompilerPreSetup.h
Change 3573043 by Arciel.Rekman
FAnsiMalloc: fix compile issue (UE-48066).
#jira UE-48066
Change 3573236 by Arciel.Rekman
Linux: add UnrealLightmass to the installed build.
- Was also requested by a licensee on UDN.
Change 3573705 by Arciel.Rekman
SDL: update UE4 fork to the latest trunk (UETOOL-1242).
- Revision 11184 form 2017-08-04: http://hg.libsdl.org/SDL/rev/04063928c4a8
- Change by icculus (Ryan Gordon).
- Rebuilt x86_64 library only for now.
Change 3573741 by Arciel.Rekman
Fix crash when capturing a movie (UE-48093).
#jira UE-48093
Change 3574389 by Max.Chen
Sequencer: Array bounds check.
#jira UE-48095
Change 3574399 by Max.Chen
Sequencer: Fix crash in removing delegate
#jira UE-47461
Change 3574415 by Max.Chen
Sequencer: Put level visibility tracks in the SpawnObjects evaluation group to ensure levels are streamed before any possessable bindings are resolved
Change 3574416 by Max.Chen
Prevent slow task feedback from performing slow operations (flushing rendering commands, checking if shaders are initialized) when there are no modal dialogs open
Change 3574726 by Matt.Kuhlenschmidt
Focus the details view when actor selection changes if it is not focused
Change 3574922 by Michael.Trepka
Copy of CL 3574653 by Richard.Wallis
XCode Beta 4 Compile fixes. "Inferring '_Nonnull' for pointer type within array is deprecated "
Change 3576525 by Nick.Darnell
Editor - Data table rows names sort correctly in the property customization.
Blueprint - Fixing some crashes due to holding onto raw pointers instead of TWeakObjectPtrs.
UMG - SetWidgetClass now reinstances the widget if you change it at runtime.
Editor - Deleting actors that are still referenced now at least logs to the console what still references it.
Change 3576714 by Nick.Darnell
Editor - Build fix.
Change 3576770 by Jamie.Dale
Removed some dead code
It seems to be left over from the first attempt at stable localization keys
Change 3578433 by Matt.Kuhlenschmidt
Fix content browser settings being per project and having created a "Global" category for one setting
Change 3578556 by Max.Chen
Editor: Fix toolbar shared ref which was keeping the viewport toolbar around when switching between default and cinematic viewports.
#jira UE-48125
Change 3578561 by Matt.Kuhlenschmidt
Fix USD importing not respecting DestinationPath for automated import
Change 3580124 by Matt.Kuhlenschmidt
Fix bogus warning message when a property has an editcondition that is not marked edit aynwhere. This has always been supported and is the correct way to make an editcondition
Change 3581936 by Jamie.Dale
Restoring defaults for UContentBrowserSettings
Change 3582039 by Matt.Kuhlenschmidt
High DPI mode changes
- Editor viewport screen percentage is now adjusted automatically to account for DPI scaling. By default the scene will be rendered at a lower resolution based on screen percentage calculated based on 100/DPIScale. Users can override this automatic calcuation in the performance options if desired.
- DPI awareness is only set on windows in the editor now (still disabled by default)
- Fixed hit proxy calculation not working properly with screen percentage
- Developers can now register a delegate with SlateApplication to tell when a window's DPI changes
Change 3582049 by Matt.Kuhlenschmidt
Fix color picker not properly converting FColor properties back to gamma space
Change 3582054 by Matt.Kuhlenschmidt
Fix mac menus updating during unsafe times such as modal windows and slow tasks
#jira UE-47874
Change 3582084 by Jamie.Dale
Make sure to update the rendering resources for the active world if reloading its map build data
This prevents a crash in the renderer due to it holding onto stale data
Change 3582257 by Matt.Kuhlenschmidt
Fix widget component spawning widgets on cook
#jira UE-48201
Change 3582655 by Matt.Kuhlenschmidt
Fix DPI scale not being accounted for when entering immersive.
Change 3582706 by Matt.Kuhlenschmidt
Fix automation tests
Change 3582728 by Matt.Kuhlenschmidt
Turn on high dpi by default for windows editor
Change 3582732 by Matt.Kuhlenschmidt
Turn on high DPI by default for mac editor
Change 3583112 by Max.Chen
Sequencer: Add OnPlayReverse() event for when playback is in reverse
Change 3584130 by Matt.Kuhlenschmidt
PR #3897: Git plugin: fix action icon in history window (Contributed by SRombauts)
Change 3584237 by Matt.Kuhlenschmidt
Added the beginnings of a way to extend the usd importer with a custom resolver class that optionally handles prim identification and mesh and actor spawning.
Added a test resolver that handles prims based on usd "kind" metadata.
Change 3584535 by Matt.Kuhlenschmidt
Fix LOD identification in USD files
Change 3587703 by Matt.Kuhlenschmidt
Fix tooltip
Change 3587901 by Matt.Kuhlenschmidt
Fixed USD importing not finding and importing LODs properly
Change 3588380 by Matt.Kuhlenschmidt
Fix ctrl+w not duplicating on mac
#jira UE-46573
Change 3590435 by Jamie.Dale
Added support for in-editor previews of localized game text
This is configured by the "Preview Game Culture" setting, and will automatically be active when PIE is running (the preview language is also passed to any standalone games that are launched via the editor). This preview can also be used in the UMG editor to preview widgets in different languages.
While a preview is running, all editable FText fields are locked-down (read-only) to prevent accidentally clobbering source data with translation data. You can also use this new lock-down feature to prevent any localization changes in your project (set "LockLocalization" to "True" under the "Internationalization" section of either your DefaultGame or DefaultEngine INI).
In order to allow the game translations to be used in the editor, we now map the translation to any package localization ID variants when the LocRes data is loaded (or when looking up a specific piece of text). This is needed as the LocRes files only ever contain the "clean" versions of the IDs (without the package localization ID the editor uses), and also means that we no longer need to gather the "editor-only" variants of the text within assets.
Change 3592131 by Matt.Kuhlenschmidt
Log for newly converted actors being pending kill
#jira UE-47464
Change 3592200 by Matt.Kuhlenschmidt
Made the class viewer menu function properly on mac. Since it as a nomad tab it wasnt properly inserting itself into the top level menu on mac nor should it since it could be docked anywhere. The filters menu is now consistent with other filters menus
Change 3592227 by Matt.Kuhlenschmidt
Fix drag drop of actors being offset with high dpi monitors.
Change 3592719 by Bradut.Palas
#jira UE-45632 - dual key bindings feature
My approach was transforming the ActiveChord and DefaultChord into arrays and accessing them through an enum class called EMultipleKeyBindingIndex. A lot of connecting code, function prototypes, and data structures had to be changed to accomodate this. Most menus and tooltip texts are generated using the first valid active shortcut.
Change 3592793 by Bradut.Palas
Fix compile warnings for InputBindingManager (there were actually hidden bugs among them)
Change 3593128 by Matt.Kuhlenschmidt
Force low quality mode for background blurs by default on android
Change 3593579 by Michael.Dupuis
#jira UE-47223 :
If we have no world simply return null when GetLandscapeInfo is called
Handle the cases in PostEditChange to handle null returned from GetLandscapeInfo
Change 3593580 by Michael.Dupuis
Added missing shaders while generating thumbnails
Change 3593582 by Michael.Dupuis
#jira UE-47492 : Make sure LayerInfo is valid before accessing data
Change 3593584 by Michael.Dupuis
#jira UE-47253: Do not recreate the scene info in simulation mode
Change 3593585 by Michael.Dupuis
#jira UE-48484: no longer mark the package dirty while generating the GrassMap if they were not existing
Change 3593586 by Michael.Dupuis
#jira UE-48483 : hide the Rendering property group so user can't by mistake change the actor visibility
Change 3593593 by Michael.Dupuis
#jira UE-48327: Added guard to prevent crash when using CVarFoliageDiscardDataOnLoad and having invalid foliage in your map
Change 3593597 by Michael.Dupuis
#jira UE-48309: Do not build the tree if the static mesh is not even loaded yet
#jira UE-48340: Properly support the Random stream and partial buffer update
#jira UE-48228: Instance from blueprint are now visible in standalone game
#jira UE-45854: Crash probably linked to post load called on not loaded static mesh
#jira UE-48035: Properly init the per instance render data when creating a new component
Only update instance in non archetype or CDO.
Change 3594060 by Matt.Kuhlenschmidt
Fix high DPI mode being set for non-editor. Also prevent possible crashes due to dll handle for high DPI method being freed before called
Change 3594355 by Matt.Kuhlenschmidt
Change API help link to point to a website since offline CHM based docs are no longer used
#jira UE-48230
Change 3595358 by Matt.Kuhlenschmidt
Fixed bad initial window position and sizes for editor windows
By default SWindow.ClientSize will assume unscaled window size and will scale it based on DPI as needed. AdjustInitialSizeAndPositionForDPIScale argument can be used to disable this if needed
Fixed a dock tabs and the main frame not taking into account dpi scale when saving their layout. Now we always save window size at 1.0 scale and auto scale it based on DPI of the monitor it opens on.
#jira UE-48446
Change 3595590 by Matt.Kuhlenschmidt
Fix missing includes
Change 3595792 by Matt.Kuhlenschmidt
Fix style warnings
Change 3596418 by Bradut.Palas
fixing initial issue with dual keybinds (removed ensure macro to speedup first use of alternate key)
Change 3598679 by Max.Chen
PR #3872: Fix small typo in ImagePlate Plugin (Contributed by TheCodez)
#jira UE-48141
Change 3598720 by Max.Chen
Cine Camera: Add toggle to disable constraining the roll when look at tracking is enabled. This allows the user to animate the roll while tracking an object.
#jira UE-48316
Change 3600236 by Alexis.Matte
Create a LOD Custom Mode in the meshes editor UI. This allow user to compare details values between LODs
#jira UE-46822
Change 3600260 by Alexis.Matte
Make sure temporary rename do not create redirector
#jira UE-48364
Change 3600671 by Lauren.Ridge
PR #3913: Fixed 3D preview issue in the material editor (Contributed by YuchenMei)
#jira UE-48539
#jira UE-48180
#jira UE-48182
Change 3600812 by Jamie.Dale
We now defer the registration of IME contexts until an editable text first gains focus
Certain IMEs can have very high per-context costs, so this avoids that cost until we know that we definitely need to use the context
#jira UE-48100
Change 3601839 by Matt.Kuhlenschmidt
Fix USD import crash with "facevarying" normals
Change 3602434 by Jamie.Dale
Removing dead code
These flags were never being tested or used in any meaningul way
Change 3602611 by Jamie.Dale
Ensure PackageToReload is non-null
#jira UE-46655
Change 3602648 by Jamie.Dale
Fixed custom columns with the same name as fixed columns causing infinite duplications in the content browser
#jira UE-47392
Change 3602651 by Lauren.Ridge
Fix for parameter tooltips not being found
#jira UE-47417
Change 3604172 by Bradut.Palas
#jira UE-48449
#jira UE-48380
#jira UE-48381
#jira UE-48423
I moved the IsFilenameValidForSaving() function from FEditorFileUtils to FFileHelper so that it is accessible from CollectionManager.cpp in order to validate collection names as file names and no longer trigger any of the bugs.
Change 3604210 by Bradut.Palas
#jira UE-48718
Regression issue appeared from fixing a crash when using console command "open"
Reworked by only refusing to open local URLs in case of client mode and multiprocess being active simultaneously.
Change 3604258 by Jamie.Dale
IME contexts can now flag themselves as dead to avoid latent IME callbacks trying to access a deleted widget
#jira UE-46815
#jira UE-47295
Change 3604312 by Matt.Kuhlenschmidt
PR #3931: Fixing a few obvious copy & paste errors. (Contributed by DaveC79)
Change 3604352 by Matt.Kuhlenschmidt
Fix crash accessing potentially invalid parent layout from a detail category
#jira UE-48729
Change 3604402 by Lauren.Ridge
Epic Friday - array drag and drop
Change 3605228 by Cody.Albert
TSets and TMaps should now properly rehash if a key is modified in the details panel.
Change 3605275 by Alexis.Matte
Merge actor do not keep the material slot name
#jira UE-43246
Change 3605715 by Max.Chen
Sequencer: Fix cinematic mode getting activated on BeginPlay() instead of OnStartedPlaying().
#jira UE-48770
Change 3606411 by Max.Chen
Sequencer: Fix a few player state issues. When paused, calling stop now tears down properly (spawnables are removed, etc). When a level sequence is deleted, tears down properly as well.
#jira UE-42008
Change 3606440 by Max.Chen
Sequencer: Update spawanble name when the spawnable actor name is changed.
#jira UE-47815
Change 3606899 by Lauren.Ridge
Disabling enum-based arrays from reordering
Change 3606958 by Lauren.Ridge
Visual polish on array handles
Change 3607733 by Max.Chen
Sequencer: Check null in camera cut
Change 3607849 by Max.Chen
Sequencer: Clip transport controls.
#jira UE-48812
Change 3608181 by Max.Chen
#jira UE-48813 Correctly set GPlayInEditorID when initializing the PIE gameinstance, which does the initial tick. This fixes autoplay sequences
Copy from Dev-Framework
Change 3608361 by christopher.biancard
QAGame: Submitting test content for Array Element Reorder testing
Change 3608512 by Alexis.Matte
Add fbx exporter option dialog, support export all and cancel all functionality when doing bulk export.
#jira UE-48058
Change 3608629 by Max.Chen
Camera Rig: Fix crane and rail not being packaged properly.
#jira UE-48829
Change 3609217 by Matt.Kuhlenschmidt
Added a lock around access to slate active timers to protect it against race conditions when accessed on the slate movie thread and the game thread
Change 3609722 by Alexis.Matte
Make sure a warning is log when we cannot export an animation sequence.
#jira UE-48390
Change 3609774 by Alexis.Matte
Fix the merge actor build LOD scale again, a previous merge erase the fix
#jira UE-48156
Change 3609891 by christopher.biancard
QAGame: Minor additions for test coverage on Array Element Reorder
Change 3610171 by Lauren.Ridge
Fixes for reordering metadata, creating actual swap function out of three element functions
#jira UE-48823
Change 3610407 by Lauren.Ridge
Fixing highlighting and behavior to place dragged row in the spot you release (not below)
Change 3610472 by Lauren.Ridge
Moving final location logic
Change 3610797 by Lauren.Ridge
Disabling dragging handles during PIE
Change 3611089 by Lauren.Ridge
Disabling handles when overall tree is disabled
Change 3612479 by Lauren.Ridge
Fix for asset contex menu warning
#jira UE-46667
Change 3612791 by Michael.Dupuis
#jira UE-48914 : Add the possibility to specify if we need CPU access to the instance buffer depending on the usage.
Grass should always have CPU access.
Change 3612802 by Michael.Dupuis
missing file from checkin 3612791
Change 3612805 by Max.Chen
Sequencer: Fix crash with null GEditor
Copy from Release-4.17
#jira UE-48443
Change 3612806 by Max.Chen
Sequencer: Fix crash when capturing a movie with options enabling separate process and close editor.
Copy from Release-4.17
#jira UE-48487
Change 3612807 by Max.Chen
Sequencer: Fix crash upgrading the time range of a null track.
Copy from Release-4.17
#jira UE-48490
Change 3612808 by Max.Chen
Sequencer: Fixed dragging skeletal animations causing them to revert back to t-pose
Copy from Release-4.17
#jira UE-48367
Change 3612849 by Arciel.Rekman
Fix tesselation in packaged Linux projects (UE-24301).
- Change by Cengiz.Terzibas.
#jira UE-24301
Change 3613022 by Nick.Darnell
Editor - Fixing a crash on load with a null CoordIndex json node.
Change 3613030 by Matt.Kuhlenschmidt
PR #3932: UE-48693: if instead of while statement (Contributed by projectgheist)
#jira UE-48747
Change 3613047 by Matt.Kuhlenschmidt
PR #3933: Git plugin: add "branch source" in history window (Contributed by SRombauts)
Change 3613050 by Matt.Kuhlenschmidt
PR #3942: Sort Data Table Structures Alphabetically (Contributed by Nick-Pearson)
Change 3613062 by Matt.Kuhlenschmidt
PR #3939: Fix a typo in RecordQualityLevelsAnalytics(). (Contributed by samhocevar)
Change 3613241 by Nick.Darnell
Editor - Fixing the content browser's view settings to be project agnostic, and they will start saving again.
Change 3613329 by Lauren.Ridge
Moving favorite levels to a standard submenu so they also work on Mac
Change 3613344 by Nick.Darnell
Editor - Fixing the achorgrid show up as white in HDPI mode, seems because we were upsampling the image, the blend was between dark and a transparent white, so that caused everything to turn white in HDPI mode.
#jira UE-48921
Change 3613380 by Matt.Kuhlenschmidt
Fix FBX window being off the screen in high DPI
#jira UE-48872
Change 3614598 by Matt.Kuhlenschmidt
Fixed Sequencer Keyframes appearing out of place on High DPI Monitors
#jira UE-48915
Change 3614625 by Matt.Kuhlenschmidt
Fixed not being able to click on BSP correctly in high dpi
#jira UE-48947
Change 3614672 by Matt.Kuhlenschmidt
Fix combo box windows being larger than necessary on high dpi monitors
#jira UE-48908
Change 3614699 by Matt.Kuhlenschmidt
Fix typo
#jira UE-48941
Change 3615011 by Matt.Kuhlenschmidt
Fix color picker calculation appearing offscreen for high dpi
Change 3615013 by Michael.Dupuis
#jira UE-48897: Properly rebuild the tree when reapplying instance to the component
Change 3615014 by Colin.Benoit
Sequencer Recorder test content
Change 3615048 by Colin.Benoit
Sequencer Recorder: more test content
Change 3615118 by Lauren.Ridge
Updating realtime state of viewports to also change when settings toggled
#jira UE-48884
Change 3615127 by Lauren.Ridge
Remove delegate binding on viewport destruction
Change 3615180 by Bradut.Palas
#jira UE-48167 profiler crash
Don't duplicate the graph data when rebuilding because that completely voids the OneToOneMapping mechanism, resulting in the crash. Looking up objects in the mapping would always return null because the mapping contains the old addresses, before the rebuild.
One option would have been to completely rebuild the mapping according to the duplicate graph, which would be dubious because the duplicate method isn't specifically designed so that the result would replace the source.
But it looks like duplicating the data is not needed, it's safe to rebuild in-place, RebuildForFilter() doesn't do anything illegal with the objects. This is also the only purpose and the only reference of the function.
Change 3615232 by Lauren.Ridge
Adding input handling to the material editor viewport client
#jira UE-48909
Change 3615703 by Jamie.Dale
Fixed crash when fixing up references after a package rename failed
#jira UE-48856
Change 3615752 by Matt.Kuhlenschmidt
More generic fix for color picker and other windows that use CalculatePopupWindowPostion not accounting for DPI scale
Change 3615907 by Jamie.Dale
Fixed some crashes caused by CL# 3600812
Change 3616031 by Matt.Kuhlenschmidt
Added guard against invalid blueprints (ones without a generated class) being trying to be opened in the property matrix and failing
#jira UE-48986
Change 3616151 by Arciel.Rekman
Fixing adding array elements in config.
- "+Blah=Foo" will do Blah.AddUnique(Foo)
- ".Blah=Foo" will do Blah.Add(Foo)
- See JoshA re: why (also see: https://udn.unrealengine.com/questions/388157/incorrect-behavior-in-configcacheinicpp.html?childToView=389307)
Change 3616439 by Andrew.Porter
QAGame: Updating level visibility content in sequencer smoke map
Change 3616441 by Matt.Kuhlenschmidt
Fix more sequencer track offsetting with DPI scale
#jira UE-48981
Change 3617263 by Max.Chen
Sequencer: Fix crash in level visibility teardown. Null playback context.
#jira UE-49012
Change 3617316 by Max.Chen
Sequencer: Fixed a regression where the frame rate isn't getting initialized for a movie scene.
Change 3617648 by Matt.Kuhlenschmidt
Adding some windows specific logging around setting or failing to set process dpi awareness
Change 3617665 by Matt.Kuhlenschmidt
Guard against layers module not being loaded in keybinding automation test
Change 3617731 by Arciel.Rekman
Fix crashes on AMD Mesa drivers (UE-48374).
- Do not expose unnecessary symbols from libelf.a to avoid symbol collision with system library used by drivers.
Change 3617923 by Bradut.Palas
#jira UE-47072
Editor was crashing because deleted actor was not cleaned properly from asset editors. Changed IAssetEditorInstance to offer a function for deleting an object from the editor.
Change 3618088 by Matt.Kuhlenschmidt
Guard against crash with potentially invalid worlds in preview scenes
#jira UE-48997
Change 3618373 by Matt.Kuhlenschmidt
Force worldsettings to be hidden in editor so that it is not considered for selection
#jira UE-48996
Change 3618464 by Max.Chen
Sequencer: Fix regression where spawnables don't play because they're defined as temporary editor actors.
#jira UE-48923
Change 3619789 by Matt.Kuhlenschmidt
Fix DPI scale warnings in any kind of headless editor mode
Change 3619802 by Jamie.Dale
Fixed deprecation warning in malloc profiler
Change 3619841 by Matt.Kuhlenschmidt
Fix missing icons in the package project menu
#jira UE-48674
Change 3619991 by Lauren.Ridge
Fix typo in transaction message
#jira UE-48993
Change 3620086 by Lauren.Ridge
Moving realtime viewport logic to refresh instead of construct so it is always triggered upon opening a new material editor
#jira UE-48884
Change 3620616 by Matt.Kuhlenschmidt
Fix up file
Change 3621002 by Matt.Kuhlenschmidt
Back out change to apply scaling rules in loading screens since blueprint based DPI scaling rule classes will not have been created yet
#jira UE-49125
Change 3621049 by Arciel.Rekman
Fix a build error.
- Also make sure that we don't print confusing message when no messagebox can be shown
(this code changed during the merge).
Change 3621064 by Arciel.Rekman
Deleted too much in the previous changelist.
Change 3621369 by Matt.Kuhlenschmidt
Fix keybindings automation test failing due to multiple entries in the active choords array pointing to the same thing
#jira UE-49131
[CL 3621569 by Matt Kuhlenschmidt in Main branch]
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3494741 by Steve.Robb
Generated code size savings.
#jira UE-43048
Change 3495484 by Steve.Robb
Fix for generated indices of static arrays when saving configs.
Change 3497926 by Robert.Manuszewski
Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything.
Change 3498077 by Robert.Manuszewski
Only use the recursion guard in async loading code when the event driven loader is enabled.
Change 3498112 by Ben.Marsh
UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own.
Change 3500239 by Robert.Manuszewski
Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes.
Change 3500395 by Steve.Robb
Extra codegen savings when not in hot reload.
Change 3501004 by Steve.Robb
EObjectFlags now have constexpr operators.
Change 3502079 by Ben.Marsh
UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary.
Change 3502527 by Steve.Robb
Fix for zero-sized array compile error in generated code when all functions are editor-only.
Change 3502542 by Ben.Marsh
UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead.
Change 3502868 by Steve.Robb
Workaround for inefficient generated code with stateless lambdas on Clang.
Change 3503550 by Steve.Robb
Another generated code lambda optimization.
Change 3503582 by Ben.Marsh
BuildGraph: Add support for nullable parameter types.
Change 3504424 by Steve.Robb
New AllOf, AnyOf and NoneOf algorithms.
Change 3504712 by Ben.Marsh
UAT: Less spammy log and error output from UAT.
* Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception).
* Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information.
* AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log)
* Name of the calling function is not included in console output by default, but still included in the log.
Change 3504808 by Ben.Marsh
UAT: Suppress P4 output when running a recursive instance of UAT.
Change 3505044 by Steve.Robb
Code generation improved for TCppClassType code.
Change 3505485 by Ben.Marsh
Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module.
Change 3505699 by Ben.Marsh
Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins.
Change 3506055 by Ben.Marsh
UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output.
Change 3507745 by Robert.Manuszewski
Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses).
Change 3507911 by Ben.Marsh
Plugins: Minor changes to plugin descriptors.
* Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors.
* Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from.
Change 3508669 by Ben.Marsh
EC: Parse multi-line messages from UBT and UAT.
Change 3508691 by Ben.Marsh
Fix double-spacing of cook stats.
Change 3509245 by Steve.Robb
UHT makefiles removed.
Flag audit removed.
Change 3509275 by Steve.Robb
Fix for mismatched stat categories in AudioMixer.
#jira UE-46129
Change 3509289 by Robert.Manuszewski
Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably.
Change 3509294 by Robert.Manuszewski
UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it.
Change 3509312 by Steve.Robb
GitHub# 3679: Add TArray constructor that takes a raw pointer and a count
Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too.
#jira UE-46136
Change 3509396 by Steve.Robb
GitHub# 3676: Fix TUnion operator<< compile error
#jira UE-46099
Change 3509633 by Steve.Robb
Fix for line numbers on multiline macros.
Change 3509938 by Gil.Gribb
UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading.
Change 3510593 by Daniel.Lamb
Fixed up unsoilicited files getting populated with files which aren't finished being created yet.
#test None
Change 3510594 by Daniel.Lamb
Fixed up temp files directory for patching.
Thanks David Yerkess @ Milestone
#review@Ben.Marsh
Change 3511628 by Ben.Marsh
PR #3707: Fixed UBT stack size (Contributed by gildor2)
Change 3511808 by Ben.Marsh
Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git)
#jira UE-46540
Change 3512017 by Ben.Marsh
Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface.
Change 3513935 by Steve.Robb
Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477.
Change 3514142 by Steve.Robb
MemoryProfiler2 added to generated solution.
Change 3516463 by Ben.Marsh
Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user.
Change 3517860 by Ben.Marsh
PR #3727: FString Dereference Fixes (Contributed by jovisgCL)
Change 3517967 by Ben.Marsh
Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line.
Change 3518070 by Steve.Robb
Disable Binned2 stats in shipping non-editor builds.
Change 3520079 by Steve.Robb
Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions.
#jira UE-24034
Change 3520080 by Robert.Manuszewski
Made max package summary size to be configurable with ini setting
Change 3520083 by Steve.Robb
Force a GC after hot reload to clean up reinstanced objects which may still tick.
#jira UE-40421
Change 3520480 by Robert.Manuszewski
Improved assert message when the initial package read request was too small.
Change 3520590 by Graeme.Thornton
SignedArchiveReader optimizations
- Loads more stats
- Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader
- Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time
- Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries
Change 3521023 by Graeme.Thornton
Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing
Change 3521787 by Ben.Marsh
PR #3736: Small static code analysis fixes (Contributed by jovisgCL)
Change 3521789 by Ben.Marsh
PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar)
Change 3524721 by Ben.Marsh
Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core.
Change 3524741 by Ben.Marsh
Move PumpMessages() into FPlatformApplicationMisc.
Change 3525399 by Ben.Marsh
UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment.
Change 3525743 by Ben.Marsh
UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds.
Change 3525746 by Ben.Marsh
EC: Include the clobber option on new workspaces, to allow overriding version files when syncing.
Change 3526453 by Ben.Marsh
UGS: Do not generate project files when syncing precompiled binaries.
Change 3527045 by Ben.Marsh
Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting.
Change 3527420 by Ben.Marsh
UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing).
Config files are now read from:
Engine/Programs/UnrealGameSync/UnrealGameSync.ini
Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini
If a project is selected:
<ProjectDir>/Build/UnrealGameSync.ini
<ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini
If the .uprojectdirs file is selected:
Engine/Programs/UnrealGameSync/DefaultProject.ini
Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini
Change 3528063 by Ben.Marsh
Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse.
Change 3528415 by Ben.Marsh
UAT: Remove \r characters from the end of multiline log messages.
Change 3528427 by Ben.Marsh
EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent.
Change 3528485 by Ben.Marsh
EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places.
Change 3528505 by Steve.Robb
PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL)
#jira UE-46819
Change 3528772 by Robert.Manuszewski
Enabling actor and blueprint clustering in ShooterGame
Change 3528786 by Robert.Manuszewski
PR #3760: Fix typo (Contributed by jesseyeh)
Change 3528792 by Steve.Robb
PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL)
#jira UE-46962
Change 3528941 by Robert.Manuszewski
Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object.
#jira UE-44996
Change 3530241 by Ben.Marsh
UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value.
Change 3531377 by Ben.Marsh
Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it.
This has several advantages over the per-module platform whitelist/blacklist:
* Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore.
* References to dependent plugins from platform-specific plugins can now be eliminated.
* Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly).
* The editor can load any plugins without having to whitelist supported editor host platforms.
UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime.
Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary.
Change 3531502 by Jin.Zhang
Add support for GPUCrash #rb
Change 3531664 by Ben.Marsh
UBT: Change output format from C# JSON writer to match output by the engine.
Change 3531848 by Ben.Marsh
UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable.
Change 3531869 by Ben.Marsh
UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field.
Change 3532474 by Ben.Marsh
UBT: Use the same mechanism as UAT for logging exceptions.
Change 3532734 by Graeme.Thornton
Initial VSCode Support
- Tasks generated for building all game/engine/program targets
- Debugging support for targets on Win64
Change 3532789 by Steve.Robb
FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap.
Set_Add and Map_Add no longer have a return value.
FScriptSet::Find and FScriptMap::Find functions are now FindIndex.
FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash.
Change 3532845 by Steve.Robb
Obsolete UHT settings deleted.
Change 3532875 by Graeme.Thornton
VSCode
- Add debug targets for different target configurations
- Choose between VS debugger (windows) and GDB (mac/linux)
Change 3532906 by Graeme.Thornton
VSCode
- Point all builds directly at UBT rather than the batch files
- Adjust mac build tasks to run through mono
Change 3532924 by Ben.Marsh
UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root.
Change 3535234 by Graeme.Thornton
VSCode - Pass intellisense system a list of paths to use for header resolution
Change 3535247 by Graeme.Thornton
UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation
Change 3535376 by Graeme.Thornton
VSCode
- Added build jobs for C# projects
- Linked launch tasks to relevant build task
Change 3537083 by Ben.Marsh
EC: Change P4 swarm links to start at the changelist for a build.
Change 3537368 by Graeme.Thornton
Fix for crash in FSignedArchiveReader when multithreading is disabled
Change 3537550 by Graeme.Thornton
Fixed a crash in the taskgraph when running single threaded
Change 3537922 by Steve.Robb
Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT.
Change 3539691 by Graeme.Thornton
VSCode - Various updates to get PC and Mac C++ projects building and debugging.
- Some other changes to C# setup to allow compilation. Debugging doesn't work.
Change 3539775 by Ben.Marsh
Plugins: Various fixes to settings for enabling plugins.
* Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled).
* Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed.
* Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them.
Change 3540788 by Ben.Marsh
UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile).
Example usage:
public class UnrealPakTarget : TargetRules
{
public UnrealPakTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Program;
LinkType = TargetLinkType.Monolithic;
LaunchModuleName = "UnrealPak";
if(HostPlatform == UnrealTargetPlatform.Win64)
{
PreBuildSteps.Add("echo Before building:");
PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
PostBuildSteps.Add("echo After building!");
PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
}
}
}
Change 3541664 by Graeme.Thornton
VSCode - Add problemMatcher tag to cpp build targets
Change 3541732 by Graeme.Thornton
VSCode - Change UBT command line switch to "-vscode" for simplicity
Change 3541967 by Graeme.Thornton
VSCode - Fixes for Mac/Linux build steps
Change 3541968 by Ben.Marsh
CRP: Pass through the EnabledPlugins element in crash context XML files.
#jira UE-46912
Change 3542519 by Ben.Marsh
UBT: Add chain of references to error messages when configuring plugins.
Change 3542523 by Ben.Marsh
UBT: Add more useful error message when attempt to parse a JSON object fails.
Change 3542658 by Ben.Marsh
UBT: Include a chain of references when reporting errors instantiating modules.
Change 3543432 by Ben.Marsh
Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set.
Change 3543436 by Ben.Marsh
UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails.
Change 3543536 by Ben.Marsh
UBT: Downgrade message about redundant plugin references to a warning.
Change 3543871 by Gil.Gribb
UE4 - Fixed a critical crash bug with non-EDL loading from pak files.
Change 3543924 by Robert.Manuszewski
Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes.
+Small optimization to token stream generation code.
Change 3544469 by Jin.Zhang
Crashes page displays the list of plugins from the crash context #rb
Change 3544608 by Steve.Robb
Fix for nativized generated code.
#jira UE-47452
Change 3544612 by Ben.Marsh
Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages().
#jira UE-47449
Change 3545954 by Gil.Gribb
Fixed a critical crash bug relating to a race condition in async package summary reading.
Change 3545968 by Ben.Marsh
UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same.
#jira UE-47419
Change 3545976 by Ben.Marsh
EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch.
Change 3546185 by Ben.Marsh
Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped.
Change 3547084 by Gil.Gribb
Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms.
Change 3547968 by Gil.Gribb
Fixed critical race which potentially could cause a crash in the pak precacher.
Change 3504722 by Ben.Marsh
BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run.
For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as:
ERROR: Unable to write to foo.txt
while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" />
at Engine\Build\InstalledEngineBuild.xml(91)
(see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace)
Change 3512255 by Ben.Marsh
Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated.
Change 3512332 by Ben.Marsh
Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4.
Change 3512393 by Ben.Marsh
Rename FPaths::GameLogDir() to FPaths::ProjectLogDir().
Change 3513452 by Ben.Marsh
Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project.
Change 3516262 by Ben.Marsh
Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor.
* Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod.
* The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders).
Change 3517565 by Ben.Marsh
Remove fixed engine version numbers from OSS plugins.
Change 3518005 by Ben.Marsh
UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false.
Change 3518054 by Ben.Marsh
UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard.
Change 3524496 by Ben.Marsh
Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core.
Change 3524641 by Ben.Marsh
Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc.
Change 3528723 by Steve.Robb
MoveTemp now static asserts if passed a const reference or rvalue.
MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious.
Fixes to violations of these new rules.
Change 3528876 by Ben.Marsh
Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste.
Change 3529073 by Ben.Marsh
Add script to package ShooterGame for any platforms.
Change 3531493 by Ben.Marsh
Update platform-specific plugins to declare the target platforms they support.
Change 3531611 by Ben.Marsh
UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates.
Change 3531868 by Ben.Marsh
Resaving project descriptors to remove invalid fields.
Change 3531983 by Ben.Marsh
UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders.
* Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer.
* Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type)
* Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo"))
* An error is output if any restricted folder names other than the output platform are in the staged output.
Change 3540315 by Ben.Marsh
UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers.
Change 3542410 by Ben.Marsh
UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already.
Change 3543018 by Ben.Marsh
UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions.
Change 3544371 by Steve.Robb
Fixes to TSet_Add and TMap_Add BPs.
#jira UE-47441
[CL 3548391 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3284872 on 2017/02/03 by Graeme.Thornton
Seperate pak cache granularity from pak signing chunk size
Change 3285765 on 2017/02/03 by Graeme.Thornton
Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread
#jira UE-41478
Change 3286913 on 2017/02/04 by Ben.Marsh
IncludeTool: Merging fixes.
* Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead.
* Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation.
Change 3287100 on 2017/02/05 by Ben.Marsh
UBT: Move platform settings into platform-specific TargetRules objects.
Change 3287106 on 2017/02/05 by Ben.Marsh
Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information.
Change 3287398 on 2017/02/06 by Steve.Robb
Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together.
Change 3287399 on 2017/02/06 by Steve.Robb
Log verbosities made more readable in the debugger.
Change 3287410 on 2017/02/06 by Steve.Robb
Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all.
#fyi marc.audy
Change 3288020 on 2017/02/06 by Ben.Marsh
Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly.
Change 3291817 on 2017/02/08 by Steve.Robb
New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools.
Change 3292090 on 2017/02/08 by Graeme.Thornton
Crash fix - don't update font engine services if it was never created
#jira UE-33953
Change 3292993 on 2017/02/08 by Ben.Marsh
Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH)
Change 3293231 on 2017/02/08 by Ben.Marsh
BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed.
Change 3294213 on 2017/02/09 by Ben.Marsh
EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty.
Change 3294753 on 2017/02/09 by Ben.Zeigler
#jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated
Change 3296070 on 2017/02/09 by Ben.Zeigler
Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction.
Change 3296420 on 2017/02/10 by Graeme.Thornton
Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed
Refactored encryption and signing key access in unrealpak to make it easier to use
Change 3296609 on 2017/02/10 by Ben.Marsh
BuildGraph: Fix error running the <Copy> task with an empty "From" argument.
* FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator)
* FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory.
Change 3297440 on 2017/02/10 by Ben.Marsh
UBT: Move the FileFilter class into UnrealBuildTool.
Change 3297725 on 2017/02/10 by Ben.Zeigler
#jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both.
Clean up a lot of confusingly named and broken functions on UEnum:
#jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings
#jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment
Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup
Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name
While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions
Delete some now redundant enum editor code and pipe everything through UEnum
Change 3297979 on 2017/02/10 by Ben.Zeigler
Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior
Change 3298299 on 2017/02/10 by Steve.Robb
TTuple improvements:
- equality comparable
- serializable
- in the correct folder
2-tuples are specialized to be syntactically compatible with both TPair and TTuple.
TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer.
#fyi robert.manuszewski,ben.marsh
Change 3298460 on 2017/02/11 by Ben.Marsh
UGS: Set the correct result from running custom tasks.
Change 3298462 on 2017/02/11 by Ben.Marsh
UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated.
Change 3299447 on 2017/02/13 by Graeme.Thornton
Fix AES and pak signing key embedding for content only projects
- Force temp target when any keys are specified by project config
Change 3299649 on 2017/02/13 by Steve.Robb
PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
Other obsolete compiler switches removed.
Change 3299787 on 2017/02/13 by Steve.Robb
IsAbstract() for testing if a reflected native type contains pure virtual functions. Needed for BP nativization.
#fyi robert.manuszewski
Change 3300576 on 2017/02/13 by Ben.Marsh
EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter.
Change 3300600 on 2017/02/13 by Ben.Marsh
EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces.
Change 3300624 on 2017/02/13 by Ben.Marsh
Switch incremental builds for all streams to start up on the incremental agent.
Change 3302134 on 2017/02/14 by Steve.Robb
UnrealCodeAnalyzer removed.
#fyi ben.marsh,robert.manuszewski
Change 3302639 on 2017/02/14 by Ben.Zeigler
Fix crash cooking odin with default command line
#jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified
Change 3303002 on 2017/02/14 by Ben.Zeigler
#jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level
#jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports
Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects
Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker
Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway
Fix it so -cooksinglepackage works properly again and excludes localization and startup packages
Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate
Change 3303084 on 2017/02/14 by Ben.Zeigler
Attempt to get Nativization and EDL working without warnings
Change 3305153 on 2017/02/15 by Ben.Zeigler
Fix Fortnite and Orion cook, I don't understand why this passed my local testing
Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning
Change 3305959 on 2017/02/16 by Gil.Gribb
UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms.
Change 3306159 on 2017/02/16 by Ben.Marsh
Fix path to target binaries when building non-monolithic in a unique build environment.
Change 3306584 on 2017/02/16 by Steve.Robb
UEnum internal functions renamed from Index to Value.
GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values.
#fyi ben.zeigler
Change 3307836 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually
Fixes lighting in Infiltrator demo
Change 3307929 on 2017/02/16 by Ben.Zeigler
#jira UE-42055 Second half of matinee redirector fix
Change 3308840 on 2017/02/17 by Matthew.Griffin
Reimplementing CL#3305808 from 4.15
Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases)
Change 3309115 on 2017/02/17 by Ben.Marsh
Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on, before many of the game settings have been initialized, so just return the directory containing the Core module instead.
Change 3309120 on 2017/02/17 by Ben.Marsh
Fix support for creating modular builds which don't use the shared build environment.
Change 3309125 on 2017/02/17 by Ben.Marsh
Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator.
Change 3309128 on 2017/02/17 by Ben.Marsh
Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces.
Change 3309131 on 2017/02/17 by Ben.Marsh
Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again.
Change 3309140 on 2017/02/17 by Ben.Marsh
UAT: Fix exception moving a file from one location to another if the target directory does not exist.
Change 3309212 on 2017/02/17 by Ben.Marsh
Fixes/improvements for mod editor and code mods:
* A separate top-level project is generated for each code mod in the Visual Studio solution.
* Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods.
* Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds.
* Plugin browser now includes a separate category for mods.
* Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings.
Change 3309231 on 2017/02/17 by Steve.Robb
Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<.
#jira UE-42052
Change 3309248 on 2017/02/17 by Ben.Marsh
Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true.
Change 3309257 on 2017/02/17 by Ben.Marsh
Prevent game binaries from being renamed for hot reload when working with installed projects.
Change 3309355 on 2017/02/17 by Steven.Hutton
Changes to make the website compatible with the new database changes.
Change 3309371 on 2017/02/17 by Ben.Marsh
Fix exception on shutdown when running asset registry with threads disabled.
#jira UE-41951
Change 3309389 on 2017/02/17 by Ben.Zeigler
#jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node
Change 3309570 on 2017/02/17 by Gil.Gribb
UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4.
Change 3310039 on 2017/02/17 by Ben.Marsh
BuildGraph: Prevent exception when trying to delete a file that does not exist.
Change 3311484 on 2017/02/20 by Chris.Wood
CrashReportProcess crash add retry logic improvements (CRP v1.2.16)
Change 3311600 on 2017/02/20 by Matthew.Griffin
Updated StripSymbols functions so that all platforms can deal with the source and target file being the same
Change 3311675 on 2017/02/20 by Steve.Robb
FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack.
Change 3311893 on 2017/02/20 by Ben.Marsh
UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines.
Change 3313966 on 2017/02/21 by Ben.Marsh
Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too.
Change 3314398 on 2017/02/21 by Ben.Zeigler
#jira UE-42212 Fix shutdown of AnimGraph module to be safer
[CL 3315211 by Ben Marsh in Main branch]