Merge conflict.
jason.bestimt, please merge this change by hand.
More info at https://robomerge.epicgames.net#DEVVR
--------------------------------------
Copying //UE4/Release-Staging-4.21 to //UE4/Dev-Main (Source: //UE4/Release-4.21 [at] 4447256)
============================
MAJOR FEATURES & CHANGES
============================
Change 4447256 by Joe.Graf
Added a video settings field to the debug menu so you can see your choice
#jira: UE-65026, UE-65017
Change 4446451 by Matt.Kuhlenschmidt
Fix inline edit conditions not supporting undo
PR #4854: UE-61432: Add FScopedTransaction to SetEditConditionState (Contributed by projectgheist)
#jira UE-61432
Change 4446389 by Mieszko.Zielinski
Fixed navmesh tiles AABB being calculated wrong for large agents #UE4
#jira UE-65038
Change 4446171 by Matt.Kuhlenschmidt
Fix crash resetting cascade distributions to default
#jira UE-64458
Change 4446143 by Uriel.Doyon
Re-worked fix from CL 4442729 to handle !SUPPORTS_INDEPENDENT_SAMPLERS
#jira UE-64695
Change 4446071 by Jeff.Fisher
Duplicating for 4.21 Change: 4446057 UE-64942 Material Switching in MRMesh
-Fixed run time material switching on MRMesh
#jira UE-64942
Files:
//UE4/Dev-VR/Engine/Source/Runtime/MRMesh/Private/MRMeshComponent.cpp#24
//UE4/Dev-VR/Engine/Source/Runtime/MRMesh/Public/MRMeshComponent.h#16
Change 4445939 by Joe.Conley
#jira UE-54503 - Transparency for textures applied to the spectator screen for VR
Added a flag bUseAlpha that is checked in FDefaultSpectatorScreenController::RenderSpectatorModeMirrorAndTexture(), if (SpectatorScreenModeTexturePlusEyeLayout_RenderThread.bDrawEyeFirst). It can be set with the SetSpectatorScreenModeTexturePlusEyeLayout Blueprint node.
Change 4445917 by Matt.Kuhlenschmidt
Guarad against crash when destroying asset view items
#jira UE-61108
Change 4445911 by Matt.Kuhlenschmidt
Guard against null objects in asset editors
#jira UE-64499
Change 4445574 by Wyeth.Johnson
Kill volume cleanup, helper function for cone, edge case on pendulum
#jira none
Change 4445472 by Matt.Collins
UE-64680
The new depth bounds optimization in PostAO doesn't work with MSAA. The AO target and depth buffer are different sample counts. Forcing this feature off for now.
In the future if we want to turn it back on we will either have to resolve the depth buffer or increase the AO target sample count.
#jira UE-64680
Change 4444917 by Bogdan.Vasilache
UE-63963 - Fix FSystemTextures.InitializeTextures initialization ordering
#jira UE-63963
Change 4444779 by andrew.porter
QAGane: Updating focus so we can select UMG test button in TM-PlaybackControls
#jira UE-29618
Change 4444678 by Richard.Wallis
Clone of Dev-Rendering CL 4444343:
Fix for eyedropper in the Color Picker window not grabbing any color values on Mac. Bug also says Linux - unable to verify if its the same issue so kept change to Mac specific code.
#jira UE-53789
Change 4444677 by Lauren.Ridge
Context menu opening cancels a rename
#jira UE-64525
Change 4444321 by Michael.Dupuis
#jira none: uncomment the lazy obj ptr warning as the integration is completed
Change 4444288 by Simon.Tourangeau
BP_SunPosition now has a soft ref to BP_SkySphere to prevent cross level referencing
#jira UE-64607
Change 4444287 by JeanMichel.Dignard
Copied 4442004 Daniel.Coelho
Fix for being unable to trigger on variants from UMG blueprints
#jira UE-64948
Change 4444105 by Mitchell.Wilson
Saving assets to resolve UMeshDescription warnings
#jira UE-64022
Change 4444080 by Ben.Marsh
Fix path to Win64 DLLs when building DDC on Linux.
#jira
Change 4444036 by Patrick.Boutot
Fix crash when there are too many pending task in ImageWriteQueue.
#jira UE-64991
Change 4443920 by Ben.Marsh
Fix runtime dependencies not being enumerated for modules that aren't linked into a binary.
#jira UE-65024
Change 4443889 by Ben.Marsh
Copy Windows DDCUtils DLLs when building DDC for Linux on the Win64 host platform.
#jira UE-64975
Change 4443882 by Ben.Marsh
Fix CIS compile error in UE4Game HTML5.
#jira
Change 4443531 by Nick.Shin
#jira UE-65015 HTML5: Project Crashes During Launching Engine due to "Texture format 'R8G8B8A8_UINT' not supported"
this solution was based on: UE-48208
Change 4443358 by Joe.Graf
Changed the world mapping state conversion in ARKit to return NotAvailable, Mapping, Mapped
#jira: UE-65023
Change 4443217 by Dan.Oconnor
Fixed crash after hitting stop when in-stack-debugging
Clear GPlayInEditorID when stopping PIE at a blueprint exception/breakpoint
#jira UE-64895, UE-65005, UE-65008
Change 4443200 by Max.Chen
Sequencer: Now accouting for frame rate when copying key tangents when converting from matinee to level sequence.
#jira UE-65020
Change 4443062 by Dan.Oconnor
Fixed crash when undoing after deleting a function graph that has a math expression node
#jira UE-62134
Change 4442903 by Lauren.Ridge
Allowing material graph nodes to have duplicate names in all cases except creating a new parameter from a constant
#jira UE-64421
Change 4442878 by Joe.Graf
Disabled the clion ignore file generation on Windows since it isn't supported correctly there
#jira: UE-64871
Change 4442840 by Max.Chen
Control Rig: Fix crash tearing down sequencer object spawner
#jira UE-65013
Change 4442810 by Ethan.Geller
Fix build for SoundVisualizations plugin: add const qualifiers for WaveInfo. #jira none #rb none #fyi aaron.mcleran
Change 4442769 by Brandon.Schaefer
Linux: Use the size of our In Rect which is the size of our buffer rather then the size of the Texture which is not always the same size as the buffer
#jira UE-64785
[at]Rolando.Caloca, [at]Arciel.Rekman
Change 4442758 by Dan.Oconnor
"Assign [Delegate Name]" blueprint context menu entries now properly create a custom event node again
#jira UE-65000
Change 4442729 by Uriel.Doyon
Changed GetForwardDynamicShadowFactors implementation to use Texture2DSampleLevel instead of Load.
This is because we sometime bind the GWhiteDummy when the light attenuation buffer is not required, which is a 1x1 texture.
#jira UE-64695
Change 4442724 by Max.Chen
Sequencer: Added back in ScrubHandleUp/Down for the VisualLoggerTimeSliderController to fix missing brush warning
#jira UE-64994
Change 4442519 by Marc.Audy
Avoid broadcasting events that could result in invalidating the array we're iterating.
#jira UE-64959
Change 4442460 by JeanMichel.Dignard
Fixed crash with VRED importer
- DataTable wasn't counting its changes properly resulting in a failed check.
#jira UE-64982
Change 4442216 by Ethan.Geller
Unshelved from pending changelist '4438353':
Ensure const correctness in USoundWave cook processing.
Change 4442191 by Mitchell.Wilson
Updating min ios version to resolve warnings.
#jira UE-64815
Change 4442124 by Arciel.Rekman
Another fix for lock up on starting without audio devices (UE-64506).
#jira UE-64506
Change 4442006 by Ben.Marsh
Fix debug info being included for Lumin binaries on Mac.
#jira UE-65002
Change 4441939 by Ben.Marsh
Fix inability to package Mac targets from Windows.
#jira UE-64148
Change 4441374 by tim.gautier
QAGame: Resaved Niagara assets.
Rebuilt lighting / resaved TM-ShaderModels
#jira UE-29618
Change 4441369 by Rolando.Caloca
UE4.21 - hlslcc - Fix UAV getting removed
#jira
Change 4441347 by Michael.Dupuis
#jira UE-63631: LOD Distribution settings, must be > 1.01 as otherwise 1/1 will not give correct result.
Change 4441132 by Dan.Oconnor
Remove unused dtor
#jira None
Change 4441108 by Dan.Oconnor
Fix leaking entries for PLACEHOLDER classes in the new ClassToPlaceholderMap
#jira UE-64971
Change 4441096 by tim.gautier
Adding the VRMode_Ball asset for VRMode testing.
#jira UE-29618
Change 4441093 by Ryan.Gerleve
Fix the writer's size issue in the auth handler when requesting resends. This fixes packet over/underflows. Also make it so that dropall drops all of auth's packets as well.
#Jira UE-63796, UE-64156
#AUTOMERGE using branch //UE4/Dev-Networking_to_//UE4/Release-4.21 of change#4374419 by Jake.Leonard on 2018/09/18 15:41:48.
Change 4441065 by Ryan.Gerleve
Fix using SetIp(uint) on an IPv6 only platform so that both cases are handled properly. Should contain the same flow as the IPv6 framework.
#Jira UE-64129
#AUTOMERGE using branch //UE4/Dev-Networking_to_//UE4/Release-4.21 of change#4374299 by Jake.Leonard on 2018/09/18 15:23:37.
Change 4441052 by Ben.Zeigler
#jira UE-64446 Fix crash on cooked devices when using GameplayCues but not explicitly setting a manager
It is unsafe to reference dynamic objects from a CDO so spawn an instance of the default class
Change 4441042 by Ryan.Gerleve
Remove the bForceUDP from the new CreateSocket signature. This is an argument that came in from UE3 and is not supported. It should not continue to exist anymore.
#Jira: UE-63879
#AUTOMERGE using branch //UE4/Dev-Networking_to_//UE4/Release-4.21 of change#4356623 by Jake.Leonard on 2018/09/10 20:35:09.
Change 4441005 by Ben.Zeigler
#jira UE-64446 Call InitGlobalData from ActionRPG sample and set up path for cue notifies. All projects using abilities should do this
Change 4440944 by Ryan.Gerleve
Because addrconfig is not supported on HTML5. This is not documented anywhere, so any query with the flag will just be removed from any queries.
#Jira UE-63791
#AUTOMERGE using branch //UE4/Dev-Networking_to_//UE4/Release-4.21 of change#4356538 by Jake.Leonard on 2018/09/10 19:35:29.
Change 4440912 by Ryan.Gerleve
Skip lobbies we are already a part of when generating matchmaking results. This allows us to not try to fetch data on ourselves.
#Jira UE-63543
#AUTOMERGE using branch //UE4/Dev-Networking_to_//UE4/Release-4.21 of change#4356532 by Jake.Leonard on 2018/09/10 19:34:39.
Change 4440861 by Ben.Zeigler
#jira UE-61890 Fix XGE shader compilation on newer incredibuilds by checking registry for path
Change 4440850 by Michael.Dupuis
#jira UE-62426: Reset InstanceCountToRender if the static mesh is valid or we have no instances
Change 4440514 by Ben.Marsh
Add additional info to comment around optimization being disabled due to codegen bug.
#jira
Change 4440501 by Ben.Zeigler
#jira UE-64971 Fix resolving export tracker to clean itself up after resolving. This fixes the immediate crash, but there may be another way it can end up crashing so this needs further investigation as the structure is unsafe
Change 4440479 by Rex.Hill
Fix debug hud not rendering when swapping between PIE/SIE modes
#jira UE-64704
Change 4440447 by Joe.Graf
Rename/move AR samples
#jira: UE-64944
Change 4440338 by Joe.Graf
Cleaned up leftover files from the bad 4.20->Dev-VR merge
#jira: UE-64957
Change 4440318 by Joe.Graf
Fixed the bad asset merge that happened from 4.20 back to Dev-VR
#jira: UE-64957
Change 4440237 by Ben.Zeigler
#jira UE-64960 Disable validating data dialog when saving, and ony show if > 0.1 seconds
Change 4440157 by Mieszko.Zielinski
Fixed a bug in how UNavModifierComponent handles FKConvexElems #UE4
#jira UE-60987
Change 4440017 by Mitchell.Wilson
Saving SunlightColorLUT in KiteDemo to resolve warnings.
#jira UE-64744
Change 4439856 by Jurre.deBaare
Crash when trying to "Update Mesh Section" on any procedural mesh just after "Clear Mesh Section" and "Create Mesh Section" for different vertices and triangles.
#fix Ensure that we recreate the scene proxy whener a mesh section is updated with a larger amount of vertices than original, this will reinit the vertex buffers to the correct sizes
#jira UE-60607
Change 4439831 by Ben.Marsh
Fix ClangEditor CIS warning.
Change MSVC_PRAGMA to not be defined when compiling using Clang on Windows. Also add a link to bad codegen report on Microsoft's developer forum for an instance of optimization being disabled.
#jira
Change 4439828 by mason.seay
Added variable to blueprint
#jira UE-29618
Change 4439763 by Jurre.deBaare
#jira UE-62048
PR #4892: HLOD System: Fix crash when static mesh has no valid material (Contributed by user37337)
#fix slightly modifier fix
Change 4439731 by Joe.Graf
Rename/move AR samples
#jira: UE-64944
Change 4439715 by Cosmin.Sulea
UE-64937 - IphonePackager cannot verify UDID on new devices (XS or newer)
#jira UE-64937
Change 4439697 by Wyeth.Johnson
Metadata errors and fixes
#jira none
Change 4439658 by Michael.Dupuis
#jira UE-63831: Added some guard to prevent the crash
Change 4439605 by Michael.Dupuis
#jira UE-53944: Added some asserto help track what could be happening in this case
Change 4439516 by Ben.Marsh
UBT: Set the permissions on directories containing scripts to be executed as part of remote builds.
#jira UE-64860
Change 4439395 by Michael.Dupuis
#jira UE-63637: When doing migration from 4.18, if the data was in a BP, use a Reset instead of a Reserve, as otherwise we will end up with twice the amounf of instances.
Change 4439197 by Michael.Dupuis
#jira UE-63242
#jira UE-63123:
Integrate from Dev-Editor branch
Change 4439162 by Mieszko.Zielinski
Made sure NavigationSystemConfig respects GEngine->NavigationSystemClassName #UE4
#jira UE-62991
Change 4439106 by Cosmin.Sulea
UE-64603 - Android Devices do not show up in device list for Device Output Log
#jira UE-64603
Change 4438283 by Ben.Zeigler
#jira UE-63825 Integrate pull request:
PR #5073: Implement LoadGameFromMemory function. (Contributed by KelbyG)
Change 4438242 by Ben.Zeigler
Test case for #jira UE-63705. To verify, open WeakReferencedPrimaryAsset and note that the UntrackedMeshPtr is set to AT_StaticMesh.
Then, right click and show references, that mesh should NOT show up, as it is marked as Untracked via metadata
Change 4438238 by Ben.Zeigler
#jira UE-63843 Temporary fix for Visual Studio 2017 compile bug causing crashes in Audio Mixer code
Change 4438237 by Ben.Zeigler
#jira UE-64770 Fix bug where AssetManager could fail to call delegates in sync load mode
Change 4438236 by Ben.Zeigler
#jira UE-64466 Fix issues with debug builds with ENABLE_NAN_DIAGNOSTIC and TransformNonVectorized, it's not safe to use the FVector constructor as it will always ensure. Also unified checks with the vectorized version to be consistent
Change 4438234 by Ben.Zeigler
#jira UE-63705 Add full support for Untracked soft object references, enable by adding that tag to the metadata for a property or using FSoftObjectPathSerializationScope with NeverCollect
If set the references will not be automatically cooked, reported to the asset registry, or cause warnings when deleting a referenced actor
They are meant to be used for cases where they are just used as a lazy cache, such as things converted from FLazyObjectPtr
The reference from Foliage to it's base actor is now an Untracked SoftObjectPtr instead of a LazyPtr
Change 4437969 by Michael.Lentine
Fix gpu skin cache with multiple cloth sections.
#jira ue-62951
Change 4437907 by Joe.Graf
Rename/move AR samples
#jira: UE-64944
Change 4437901 by Mikey.Boyd
Resaved QA-Promotion and TM-ShaderModels to clear up warnings for Linear Color Curves in UE-64949.
#jira UE-29618
Change 4437877 by Dan.Oconnor
Guard against double-queuing in Macro BP gather phase
#jira None
Change 4437615 by Sorin.Gradinaru
UE-64624 App fails to open when packaged for Distribution - Android
#jira UE-64624
#Android
#4.21
As Chris.Babcock mentioned, this is caused by an app pause event triggered when the obb downloader starts and puts the activity in background. Adding a flag to ignore the first app pause in this situation.
Change 4437541 by Andrew.Porter
QAGame: Updating location of an animation so it can be visiblty in the sequence
#jira UE-29618
Change 4437078 by Mitchell.Wilson
Updating lerp tooltip based on updates by Sam Deiter.
#jira UEDOC-8219
Change 4436943 by Bogdan.Vasilache
UE-61698 - Android + Mouse: Hover events and Get Mouse Position on Viewport not working
#jira UE-61698
Change 4436915 by Dan.Oconnor
Remove debugging hook accidentally added in 4235135
#jira None
Change 4436204 by Joe.Graf
Switched the AREnvProbe sample to Metal 2.1 to fix the z-fighting that happens in 2.0 and below
#jira: UE-64932
Change 4435856 by Arciel.Rekman
Fix CIS (UE-64925).
#jira UE-64925
Change 4435811 by Mark.Satterthwaite
Sort out the way we report R11G11B10 support for Metal so that it should work correctly on iOS & tvOS.
#jira UE-64905
Change 4435783 by Brandon.Schaefer
libvpx: Rebuild on centos7
#jira UE-64887
Change 4435710 by Thomas.Sarkanen
Fixed crash drag-dropping a variable onto a state machine
#jira UE-64539 - [CrashReport] UE4Editor-CoreUObject.dylib!CastLogError()
Change 4435694 by Andrew.Grant
Removed some stale Orion tests
#jira UE-64857
Change 4435662 by Ben.Marsh
Rework the way that custom icons are used on Windows.
* For code projects, the custom icon is embedded into the resource when compiled from UBT. This ensures the custom icon is set even before packaging, and removes the need for a deployment step.
* For content projects, the custom icon is set after packaging using the previous method.
#jira UE-64527
Change 4435599 by Michael.Lentine
Avoid crash with null materials
#jira ue-64819
Change 4435596 by Michael.Lentine
Account for the case where skeletal mesh doesn't exsit in the component body setup.
#jira ue-63104
Change 4435563 by Brandon.Schaefer
SDL2: Fix pointer barriers on resize/move and multimonitor
Part of this change is from PR 5041 (thanks yaakuro)
#jira UE-60461, UE-63372
Change 4435557 by Michael.Lentine
Allow for non uniform scaling in some of the capsule functions.
#jira ue-59651
Change 4435518 by Mitchell.Wilson
Saving two assets to resolve empty engine version warnings in RemoteSessionApp
#jira UE-64747
Change 4435416 by Robert.Manuszewski
Fixing a Cook On The Fly server crash when an asset that has been requested by the client is missing from the server
#jira UE-64616
Change 4434780 by Uriel.Doyon
Fixed Niagara proxy rendering in ES2 while the shaders are not available.
#jira UE-64666
Change 4434758 by Joe.Graf
Fixed the use of deprecated NSKeyedArchiver and NSKeyedUnarchiver methods
#jira: UE-64913
Change 4434757 by Joe.Graf
Removed invalid plugins that were specified for the AR samples
#jira: UE-64914
Change 4434497 by Joe.Graf
Fixed incomplete merge of ARSharedWorld sample
#jira: UE-64673
Change 4434281 by Joe.Conley
#jira UE-63793 - ARKit Crash with Session Type: Image
Removing error logging since it's also getting logged higher up in the callstack.
Change 4434250 by Joe.Conley
#jira UE-63793 - ARKit Crash with Session Type: Image
Instead of an assert (and thus crash) if Session Configuration is null (which happens if device/os doesn't support ARKit 2.0), just print out an error to the log and keep running.
Change 4434173 by Aaron.McLeran
Fix for audio device shutdown
-- Actually, need to make sure the flush code doesn't execute on platforms without threads. This will still fail on HTML5
#jira UE-64619
Change 4434112 by Aaron.McLeran
Bug fix pausability
- Pausing sound while stopping can cause a crash when updating the sound
#jira none
Change 4433986 by Michael.Lentine
Avoid dereferencing null.
#jira ue-63593
Change 4433954 by Michael.Lentine
Use correct enable flag.
#jira ue-64801
Change 4433867 by Uriel.Doyon
Fixed integration issue from Niagara with "Collision Query" module
#jira UE-64906
Change 4433779 by Dan.Oconnor
Mirror 4379405 from Dev-Framework
Add flags to track bMarkedObjectsPendingKill and bCleanedUpWorld to ensure that sublevels are cleaned up properly
#jira UE-64227
Change 4433771 by Dan.Oconnor
Mirror 4365800 from Dev-Framework
Avoid marking a blueprint as modified when the compiler renames a graph
#jira UE-63942
Change 4433763 by Dan.Oconnor
Mirror 4363197 from Dev-Framework
Perform a placeholder resolve pass immediately after the CDO has been serialized
#jira UE-62928
Change 4433716 by Chris.Bunner
#author Bogdan.Vasilache
Comitting shelf 4433043 for UE-64237.
#jira UE-64237
Change 4433609 by Uriel.Doyon
Fixed how UNiagaraDataInterfaceCurlNoise release its render resource by adding a release command in BeginDestroy.
#jira UE-64898
Change 4433524 by zak.parrish
Final functionality for AR SaveLoad now in place. Just needs cleanup/commenting and About screen
#JIRA UE-64681
Change 4433512 by Christina.TempelaarL
Mirror 4373989 from Dev-Editor.
Cascade: Copy particle emitter properties when invoking Duplicate Emitter or Export Emitter in the Cascade editor.
#jira UE-63856
Change 4433328 by Chris.Babcock
Fix ConfigRules.jar parsing for Linux line endings
#jira UE-64892
#ue4
#android
Change 4433279 by Zachary.Wilson
Switching DoF methods for PostProcess volumes in QA_PostProcessing and TM_Showflags_LightingFeatures.
#jira UE-64659
Change 4433092 by Dan.Oconnor
Fix missing include
#jira None
Change 4433046 by Michael.Lentine
Renamed command to relfect actual behavior.
#jira ue-55368
Change 4433024 by Ben.Marsh
PR #5154: Prevent crunch_x64.exe from showing in Git commit changes (Contributed by projectgheist)
#jira
Change 4432990 by Wyeth.Johnson
Fixing issues related to particle mass and gravity
#jira none
Change 4432979 by Uriel.Doyon
Fixed DOF when enabling Pre-Exposure
Added units to the intensity property of point, spot, rect, directional and sky lights.
Refactored the VisualizeHDR so that it shows the HDR view is a PIP on top of the main render.
Fixed PixelInspector results being affected by pre-exposure.
Added a pre-exposure output value to the PixelInspector.
Moved ExposureCompensation to the Exposure tab in post-process settings.
Changed max slider intensity for directional light to be in 120 000 lux
Changed max slider intensity for sky light to be in 50 000 cd/m2
Non bUseInverseSquaredFalloff point lights now have their units forced to ELightUnits::Unitless
Moved light units to advanced display, now that the unit is embeded in the Intensity property
Added Candela, Lux and CandelaPerMeterSquared units to the engine units
Fixed meta data properties to support the "Units" keyword.
#jira UE-64881
Change 4432953 by Chris.Gagnon
CL 4356067 copied to Release-4.21
#jira UE-63861
Change 4432934 by Chris.Gagnon
CL 4399650 copied to Release-4.21
#jira UE-64070
Change 4432913 by Dan.Oconnor
Mirror 4363175 from Dev-Framework
Reuse subobjects during archetype reinstancing path
#jira UE-59135
Change 4432901 by Michael.Lentine
Adding missing counter.
#jira ue-59969
Change 4432895 by Dan.Oconnor
Mirror 4344890 from Dev-Framework
Make FObjectFinder visibile to reference collectors and properly replace subobjects on the CDO. This fixes instability after reloading the FirstPersonCharacter blueprint
#jira UE-54419, UE-63061
Change 4432805 by Uriel.Doyon
Fixed error when compiling some Niagara GPU particles
#jira UE-64885
Change 4432789 by Michael.Lentine
Fix comments.
#jira 58064
Change 4432766 by Ben.Marsh
Fix issues with mismatched solution/project configurations.
* Every C++ project now has an "invalid" configuration. Trying to build any solution configuration which does not apply to the project will now build that, which prints an error rather than building a completely different configuration.
* Available configurations are now parsed from C# files, so the "Release" configuration will now be used if "Development" is not available, and platforms are supported correctly.
* Programs are now built in game and editor configurations.
#jira UE-59288
Change 4432649 by Michael.Lentine
Resize Temp instead of Out.
#jira ue-62919
Change 4432540 by Chris.Bunner
[Duplicating 4432262] - HLOD visibility state is now cleared when not in use.
#jira UE-64432
Change 4431926 by Chad.Garyet
Integrating changes from dev-build over to release-4.21
- Add win64 host support to DDC Group Linux
- Change project params split to remove empty entries
- Change BuildDerivedDataCache to skip building a feature pack if there are no project specific platforms for it out of the available targetplatforms
#jira UE-62311
Change 4431602 by Simon.Therriault
Merging MediaBundle fix
#jira UE-64853
Change 4431481 by Brandon.Schaefer
Linux: Break grabs and bring down pointer barreirs when we have crashed
#jira UE-63981
[at]Arciel.Rekman
Change 4431456 by Jules.Blok
Merging CL 4428447 from Dev-VR - Update the WMR plugin for Dev-Rendering changes.
#jira UE-64507
Change 4431310 by Robert.Manuszewski
Fixed a crash when setting the initial size of the disregard for Garbage Collection pool to a value greater than 66560.
#jira UE-64844
Change 4431307 by Sorin.Gradinaru
UE-64749 App crashes on device when a Widget Blueprint in use contains a Web Browser widget
#jira UE-64749
#Android
#iOS
#4.21
Moving SharedThis(this) out of the WB Window's constructor
Change 4431161 by Robert.Manuszewski
Fixing CIS
#jira none
Change 4431153 by Sorin.Gradinaru
UE-63263 Startup movies are not playing on tvOS
#jira UE-63263
#4.21
#tvOS
Startup movies need AppleMoviePlayer.uplugin, which was never enabled for tvOS.
Same behavior as an iPhone/iPad, slightly stuttering at first run, plays fine afterwards
Change 4430958 by Matt.Collins
Returns the default context from GetCurrentContext if none is set. Fixes crash in UE-64369. This is probably not 100% correct - we should fix all the cases where GetCurrentContext is called and a context is not set.
#jira UE-64369
Change 4430862 by Matt.Collins
Turning GPU Command Buffer timing back on. Enables correct profiling.
#jira UE-64841
Change 4430813 by Marcin.Undak
Linux: fixed editor launch with no audio device
#jira UE-64506
Change 4430783 by Ben.Marsh
Include Mac build files on Windows (eg. shell scripts, mono) to support remote compilation.
#jira UE-64684
Change 4430761 by Ben.Marsh
Fix issues with running DsymExporter remotely from a PC, and reorder engine filters to reduce the amount of junk which has to be re-transferred every time.
#jira UE-63883
Change 4430445 by Chris.Gagnon
Copy of CL 4416373
Extend GCompilingBlueprint lifetime to include BroadcastBlueprintReinstanced when compiling synchronously
#jira None
Change 4430103 by Ben.Marsh
Make sure Newtonsoft is included in the installed engine build. (Also ignore *.build.cs that aren't enumerated from the targets we build; they won't be usable)
#jira UE-64777
Change 4430050 by Ben.Marsh
PR #5151: Fix BuildPlugin automation command to include Shaders folder (Contributed by pluranium)
#jira UE-64781
Change 4430037 by Ben.Marsh
UBT: Fix generating and checking for UHT manifest in the wrong location. If a target does not have a script plugin, the manifest should not be stored in the project binaries directory.
#jira
Change 4430035 by Alexis.Matte
Port a fix from cl: 4366690
Fix the material ID when creating generating reduce LODs from a mesh where the materials was re-order to the FBX order.
#jira UE-64028
Change 4429730 by Ryan.Vance
#jira UEVR-1322
Instead of tearing down and spinning up the render thread / rhi thread pipeline on pause, simply disable and enable rendering.
This leaves the rendering infrastructure intact, but with no work to do.
Change 4429709 by Ryan.Vance
#jira UE-64289
Distortion correct mesh generation needs to happen on the render thread.
Change 4429690 by Ryan.Vance
#jira UE-63538
From 4.20.3 hotfix: 4333358
Test render target texture size if available to ensure we don't do an extra upscale when not needed.
The render target size is not updated when the backing render target texture is reallocated.
Change 4429671 by Ryan.Vance
#jira UE-63333
Lumin needs task threads to avoid saturating a single core. Reverting to previous task thread behavior for lumin.
Change 4429489 by Mitchell.Wilson
Saving curve assets to resolve warnings.
#jira UE-64744
Change 4429160 by Wyeth.Johnson
First pass at integrating mass as a first class citizen. This includes solver changes, a new gravity force, and updates to a number of other force modules and templates
#jira none
Change 4429064 by Mitchell.Wilson
Updating default iOS version to 10 in samples and templates
#jira UE-64815
Change 4428944 by Michael.Trepka
Fixed issues with cursor locking on window activation on Mac
#jira UE-13768
Change 4428879 by Ben.Marsh
Fix error generating dsyms on Mac through the remote toolchain.
#jira UE-63883
Change 4428729 by Ben.Marsh
Fix warning about missing expat libs when generating projects from installed build on Mac.
#jira UE-64740
Change 4428710 by Dan.Oconnor
When recompiling a blueprint macro library we now do a full compile of all dependent blueprints
#jira UE-63284
Change 4428331 by frankie.dipietro
Update TM-FocusPriority to utilize a looping Music file
#jira UE-29618
Change 4428295 by Rex.Hill
Fixed debug hud not drawing during simulate in editor
#jira UE-64704
Change 4428255 by Zachary.Wilson
Removing Bokeh and Gaussian DoF tests that were displaying a warning
#jira UE-64659
Change 4428236 by Andrew.Rodham
Sequencer: Fixed edge case where equvalent range bounds were not considered equal
#jira UE-64742
Change 4428210 by zak.parrish
#JIRA UE-64681
Getting proper save reporting in place on AR Save Load
Change 4428146 by Ben.Marsh
Fix CIS error.
#jira
Change 4428046 by Chris.Babcock
Fix bad merge
#jira UE-64784
#ue4
#android
Change 4427865 by Ben.Marsh
Add missing include causing CIS error.
#jira
Change 4427846 by Ben.Marsh
When we detect a hang and send an ensure crash report, include the callstack of the thread that hung.
#jira UE-63982
Change 4427716 by Peter.Sauerbrei
deprecate IOS 9
#jira UE-64018
Change 4427575 by Cody.Albert
Fixed ShooterGame best score logic
#jira UE-64514
Change 4427537 by Frank.Fella
Niagara - Disable the houdini plugin in engine test since we're not actively testing it and it's causing lots of cooking problems.
#jira UE-64736
Change 4427273 by Stefan.Boberg
PR #5123: Small typo in Engine.h (Contributed by Vatyx)
#jira UE-64496
Change 4427126 by Simon.Tovey
Merging from Dev-Niagara 4427076
Fix for static analysis warnings.
#jira UE-64717
Change 4427014 by Simon.Therriault
Fix for MediaFrameworkUtilities plugin
#jira UE-64774
Change 4426983 by Ben.Marsh
Remove natvis file from UE4 project.
#jira
Change 4426920 by Sorin.Gradinaru
Unshelved from pending changelist '4398174':
UE-54804 Graphical stuttering for weapon model on Lenovo S939 in First Person Template Project
#jira UE-54804
#Android
#4.21
The bug was generated by CL3840215 - the fix for UE-53592: Assertion right after rendering scene on Lenovo S939. I've retested UE-53592 on my side and it's OK.
Also, when building a sample (eg. First Person) on //Dev-Main, the game crashed at start with:
D/UE4 (22619): Assertion failed: glProgramParameteri [File:C:/Work/UE4_Main/Engine/Source/Runtime/OpenGLDrv/Private\Android/AndroidOpenGL.h] [Line: 479]
Change 4426571 by Ben.Marsh
Fix UAT compile error.
#jira
Change 4426569 by Ben.Marsh
UnrealVS: Fix single-file compile not working for foreign projects where the engine folder contains a space.
#jira UE-64752
Change 4426529 by Ben.Marsh
Various fixes/improvements to program plugins.
* Runtime plugins are no longer loaded for every program (as was the case in 4.20)
* If a module is whitelisted for a specific program, it will be enabled regardless of whether the Type is "Program" or not.
* The bCanBeUsedWithUnrealHeaderTool flag in the plugin descriptor is now translated into support for the "UnrealHeaderTool" program on load.
* Restored support for the RuntimeAndProgram module type.
* Plugins are now enabled in UHT by passing the project on the command line, rather than passing explicit plugins to enable.
#jira UE-64247, UE-64595
Change 4426481 by Jeff.Fisher
UE-64597 //UE4/Release-4.21 - Build DDC Win64 - BP_DebugMenu has been saved with empty engine version
-resaved
#jira UE-64597
Change 4426400 by Ben.Marsh
Fix extra blank line at the end of ManagedProcess output.
#jira UE-64780
Change 4426398 by Arciel.Rekman
Linux: fix ARM server build (UE-64775).
#jira UE-64775
Change 4426126 by Dan.Oconnor
Harden EdGraphPin serialization
#jira UE-64500
Change 4426071 by Dan.Oconnor
Added logging to Blueprint merge operation
#jira UE-58891
Change 4426061 by Phillip.Kavan
Fix for an EDL runtime assertion on load when constructing the CDO for a nativized Blueprint class that contains an instanced object reference of another nativized Blueprint class type that references an instance of a non-nativized Blueprint class as a nested, class-owned subobject.
- Mirrored from //UE4/Dev-Framework (4413311).
#jira UE-62514
Change 4426031 by Phillip.Kavan
Fix potential data loss in inherited SCS component default value overrides at runtime in a cooked build for an instance of a non-nativized child Blueprint class that inherits from a nativized parent Blueprint class.
- Mirrored from //UE4/Dev-Framework (4365827).
#jira UE-63757
Change 4425975 by Phillip.Kavan
Fix potential CDO validation failures at cook time during the C++ code generation pass when Blueprint nativization is enabled.
- Mirrored from 4371073.
#jira UE-63647
Change 4425952 by Chris.Babcock
Add notification channel for Android 26 compatibility
#jira UE-62741
#ue4
#android
Change 4425916 by Dan.Oconnor
Added logging to package reloading
#jira UE-63834
Change 4425857 by Rolando.Caloca
UE4.21 - FIx crash on html5
#jira UE-64690
Change 4425808 by Jeff.Fisher
Merging using Dev-VR_to_Release-4.21 Change: 4425273 UEVR-1333 MRMesh normals problems
-Normals should not be world scaled.
#jira UEVR-1333
Files:
//UE4/Dev-VR/Engine/Plugins/Lumin/MagicLeap/Source/MagicLeap/Private/MeshTrackerComponent.cpp#13
Change 4425722 by Rolando.Caloca
UE4.21 - Android compile fix
#jira
Change 4425408 by Phillip.Kavan
Fix UBT warnings when building/packaging with Blueprint nativization enabled.
- Mirrored from //UE4/Dev-Framework (4352144).
#jira UE-62946, UE-63311
Change 4425238 by frankie.dipietro
Update TM-FocusPriority so that tests may utilize 8 audio channels
#jira UE-29618
Change 4425232 by Jamie.Dale
Fixed crash when re-pointing an object referenced in Python
#jira UE-64363
Change 4425194 by Phillip.Kavan
Support a proper fallback to construct any native 'noexport' struct-typed literal term in a nativized Blueprint class.
- Mirrored from //UE4/Dev-Framework (4347635).
#jira UE-63364
Change 4424786 by Brian.Zaugg
Add support for new iOS UserNotifications framework, enabled if min iOS version is set >= 10.
#jira UE-51041, UE-59178
Change 4424584 by Ben.Marsh
Include the Visual Studio .natvis file as a solution item, to fix problems with VS2017 15.8.5 not finding it in a makefile project.
#jira UE-64733
Change 4424410 by Max.Chen
Sequencer: Fix deprecation
#jira UE-48190
Change 4424364 by Frank.Fella
Niagara - Fix static analysis for SItemSelector.h - Preflight passed.
#jira UE-64719
Change 4424291 by Shaun.Kime
Volume texture work should not be pulled over from Dev-Niagara yet
#jira UE-64756
Change 4424021 by Jason.Bestimt
Merging CL 4401151 from Dev-VR - Adding destructor to SoundPresets
#JIRA:none
Change 4423955 by Brandon.Schaefer
Linux: Add a timer when we lose focus to check if we have lost application focus
#jira UE-63931
Change 4422974 by Robert.Manuszewski
Fixing CIS
#jira UE-64741
Change 4422709 by Jason.Bestimt
Merging CL# 4419752 from Dev-VR - Fixes to prevent audio from crashing on exit
#JIRA: none
Change 4422691 by Jamie.Dale
Fixing localization warnings
Added support for gathering from the newly added UI_COMMAND_EXT macro
#jira
Change 4422394 by Sorin.Gradinaru
UE-64066 TM-Gameplay Load Game does not work on TVOS
#jira UE-64066 TM-Gameplay Load Game does not work on TVOS
#tvOS
#4.21
Blocker: GRHIHDRDisplayOutputFormat must have a default value for tvOS (PF_B8G8R8A8, just like mac or ios for non-hdr). The issue appeared at CL4092793 [at] //UE4/Dev-Rendering, 5/24/2018
Change 4422285 by Jamie.Dale
Fixing localization warnings
#jira
Change 4421911 by Chris.Babcock
Fix issues with LLDB data formatters with 2 byte characters
#jira UE-64737
#ue4
Change 4421833 by Wyeth.Johnson
#jira 64735
Sample Skel Mesh refactor to fix it not initializing, still bugged for vertex colors
Change 4421316 by Jamie.Dale
Fixing localization warnings
#jira
Change 4421223 by Ben.Marsh
Add an experimental setting to enable support for long paths in the content browser.
#jira
Change 4421197 by Jamie.Dale
Fixing localization warnings
#jira
Change 4421191 by Jamie.Dale
Fixing localization warnings
#jira
Change 4421179 by Rolando.Caloca
UE4.21 - Vulkan - Add missing viewport resize function
- Separate num buffers per usage
#jira
Change 4420955 by Michael.Trepka
Ignore tooltips and cursor decorator windows when determining the window under cursor on Mac
#jira UE-64645
Change 4420323 by Robert.Manuszewski
Reimplementing CL #4402016 from Dev-Core:
Fixed cooked materials not working in the editor
#jira UE-64389
Change 4420227 by Rex.Hill
Fix USD Linux compiler warning
#jira UE-63658
Change 4420198 by Ben.Marsh
UBT: Detect changes to source directories and invalidate the makefile if they are newer. Forces the makefile to be rebuilt when files are added or removed.
#jira UE-42601
Change 4420194 by Mitchell.Wilson
Saving color curve assets to resolve warnings.
#jira UE-64724
Change 4419740 by Jamie.Dale
Don't force LocRes files to always use Unicode strings
The automatic Unicode detection works just fine for them, and changing this can produce considerably smaller (up-to 50% smaller!) LocRes files
#jira
Change 4419728 by Mikey.Boyd
Updating TM-MaterialAttributes map and MaterialAttributes_Widget for cleaner testing of UEQATC-3497. Set the level to the default GameMode, updated the level blueprint, and disabled interaction with the widget bp.
#jira UE-29618
Change 4419646 by Ben.Marsh
UBT: Determine the correct user directory when remote compiling on Mac, rather than inferring it from the user name. The user name can be changed after an account is created.
#jira UE-64071
Change 4419529 by Jules.Blok
Merging CL 4323685 from Dev-VR - Fix GLES occlusion queries when HDR is disabled.
Add occlusion query support for Multi-View.
Add ShowFlag to visualize occlusion query bounding meshes.
#jira UE-62347
Change 4419528 by Jules.Blok
Merging CL 4323400 from Dev-VR - Remove StereoPair in favor of visibility map merging introduced in CL 4036044
#jira UE-62738
Change 4419525 by Stefan.Boberg
Reduce CPU usage for Cook-on-the-fly server by not busy-waiting for assets to cook.
Added an event which is signaled when a network request has been received. The main COTF loop blocks on this event when the cook request queue is empty. This reduces CPU usage while keeping the request latency low.
#jira UE-51348
graeme.thornton, martin.ridgers
Change 4419034 by Ben.Marsh
Allow plugins specified on the command line to override engine plugins.
#jira UE-64685
Change 4419015 by Frank.Fella
Niagara - Fix linux compile error from CL 4418815.
#jira UE-63379
Change 4418931 by Frank.Fella
Niagara - Fix Win32 compile issue caused by cl 4418639
#jira UE-61823
Change 4418887 by Frank.Fella
Merging from Dev-Niagara all plugin content updates.
#jira UE-64711
Change 4418883 by Uriel.Doyon
Fixed GPU emitters not being ticked correctly on the renderthread.
#jira UE-64710
Change 4418817 by Chris.Babcock
Fix for x86 and x86_64 Android architectures with NDK14b
#jira UE-64708
#ue4
#android
Change 4418815 by Frank.Fella
Merging from Dev-Niagara 4399353 for nicholas.goldstein
Improve discoverability of and navigability to parent Emitters in Systems
#jira UE-63379
Change 4418709 by Frank.Fella
Merging from Dev-Niagara 4397394 for nicholas.goldstein
Add missing entries and param creation subcategory to Set Variables module.
#jira UE-63373
Change 4418639 by Frank.Fella
Merging from Dev-Niagara 4360525, 4360676, 4364096 for Simon.Tovey
Some compile time optimizations
- Moved large map of hlsl keyword replacements from C++ to ini file to improve compile times.
- Now not using templates to handle input parameters to data interface. Now taking a bit from the bytecode offset to denote constant vs register.
- As well as improving compile times, this also makes DIs far easier to write and maintain so I've rolled out to all DIs. Has no affect on perf.
- Moved some things into the VectorVM namesspace.
#jira UE-61823
Change 4418333 by Mark.Satterthwaite
Fix incorrect usage of a CFDictionary passed into IOServiceGetMatchingServices which releases it for us. #rb none #jira UE-62569
Change 4418323 by zak.parrish
Checking in files for SaveLoad - almost done. Need to update save status and do the helpAbout screen
#JIRA UE-64681
Change 4418307 by Frank.Fella
Merging from Dev-Niagara 4357655 for nicholas.goldstein
Fix various capitalization inconsistencies in niagara stack menus
#jira UE-63371
#jira UE-63446
Change 4418242 by Frank.Fella
Merging from Dev-Niagara 4356331 for nicholas.goldstein
Add Spacer between Event Handler header row and added Event Handler properties
#jira UE-63390
Change 4418222 by Dan.Oconnor
Close blueprint editor when replacing a blueprint, avoiding crash when using the merge tool to reload a blueprint
#jira UE-64435
Change 4418217 by Frank.Fella
Merging from Dev-Niagara 4356318 for nicholas.goldstein
Adjust DisplayName generation of linked inputs in Niagara Stack input options to show the entire namespace and to not pass through FName::NameToDisplayString
#jira UE-63387
#jira UE-60349
Change 4418163 by Frank.Fella
Merging from Dev-Niagara 4346597, 4346602, 4346709, 4353333, 4353344, 4353346, 4353355, 4355466, 4355948, 4356192
Niagara - New emitter and new system dialogs
#jira UE-63765
Change 4418114 by Mark.Satterthwaite
Assert that Metal heaps and sub-allocated buffers are actually created properly to catch OoM errors. #rb none #jira UE-62235
Change 4417947 by Ben.Marsh
Compile DebugGame version of the launch module for installed builds.
#jira UE-64604
Change 4417554 by Joe.Conley
Merging using Dev-VR_to_Release-4.21
#jira UE-63210 - "Stereo layers persist in HMD after VR Preview"
#jira UE-54565 - "Packaged game/Editor with Stereo Layers crashes when exiting game through steam VR overlay"
Remove check(VROverlay) in FSteamVRHMD::GetStereoLayers() and just return nullptr if it is null.
Revert previous fix for UE-54565 that caused UE-63210
Change 4417553 by Joe.Conley
Merging using Dev-VR_to_Release-4.21
#jira UE-64054 MRC - Mixed Reality Calibration app does not let users toggle between attachment devices.
Enumerate Motion Sources was getting called before the Motion Controller modular features were being added.
Added a delay before calling Enumerate Motion Sources.
Change 4417552 by Joe.Conley
Merging to Release-4.21 (//UE4/Release-4.21)
#jira UE-63579 Assert when having too many VR devices
Increase max controllers to support more.
Change 4417533 by Ben.Marsh
Fix IPhonePackager not being included in installed builds created on a Mac.
#jira UE-58493
Change 4417495 by Joe.Conley
Back out changelist 4417484
Integrate automatically submitted this before I could convert it to an edit, back out.
#jira UE-63579 Assert when having too many VR devices
Change 4417484 by Joe.Conley
Merging using Dev-VR_to_Release-4.21
#jira UE-63579 Assert when having too many VR devices
Increase max controllers to support more.
Change 4417438 by Ben.Marsh
Prevent unzipped frameworks from being removed every time a remote IOS compile is started, preventing iterative builds.
#jira
Change 4417422 by Ben.Marsh
PR #4937: UE-62508: Add option to project launcher to include prerequisites com. (Contributed by projectgheist)
#jira UE-62508
Change 4417362 by Ben.Marsh
Fix compile warning when converting a blueprint project to native.
#jira UE-63802
Change 4417357 by Jerome.Delattre
Copying from Dev-Enterprise CL 4364256
Fix typo in FGenericPlatformMemory::DumpStats to properly report the free virtual memory.
#author Martin.Sevigny
#jira
Change 4417350 by Jerome.Delattre
Copying from Dev-Enterprise CL 4364260
SceneCapture: Don't CaptureOnMovement if CaptureEveryFrame is enabled. This prevent the capture from happening twice in 1 frame.
#author Martin.Sevigny
#jira UE-64686
Change 4417333 by Uriel.Doyon
Reduced the amount of interpolants in FVertexFactoryInterpolantsVSToPS by the Niagara when using DynamicParameters.
Now only the param required are used where as before the count was defined by the max index.
#jira UE-63712
Change 4417318 by Dan.Oconnor
Improve error messaging when a class creates its CDO while the class layout is being created
#jira UE-64534
Change 4417276 by Frank.Fella
Merging 4340773 from Dev-Niagara for nicholas.goldstein
Add UProperty Specifiers to PropertyMetaData to fix displayed name and tooltip
#jira UE-63233
Change 4417226 by Frank.Fella
Merging 4340719 from Dev-Niagara for nicholas.goldstein
Disable Widget focus of expander arrows and pulldown arrows in Niagara Stack to prevent unexpected tab selection
#jira UE-63380
Change 4417196 by Patrick.Boutot
Create a 10bit media texture for CharBGR10A2 media format.
#jira UE-64682
Change 4417193 by Patrick.Boutot
Keep a reference to the current MediaProfile's proxy to prevent GC
Move MediaProfileSettings to default config.
#jira UE-64475
Change 4417192 by Patrick.Boutot
Deprecate ABGR16 and Float RGB from EDefaultBackBufferPixelFormat. They are not supported by D3DX SwapChain. The jira has more info on which formats are supported.
#jira UE-63090
Change 4416191 by zak.parrish
Resaving Debug menu for TP_ARBP template
#JIRA UE-64678
Change 4416030 by Marc.Audy
Remove broken test (as best it can be told it could never have worked)
#jira UE-64547
Change 4415784 by Marc.Audy
PR #5133: UE-64479 Fix the icon display for the Timeline node replication status (Contributed by mamoniem)
PR #5132: UE-64479: Replicated icon shows up for timelines in BP (Contributed by projectgheist)
#jira UE-64479
#jira UE-64596
#jira UE-64606
Change 4415763 by Steve.Robb
Fixes for improperly initialized USTRUCT() members.
#jira UE-64551
#jira UE-64546
Change 4415723 by Rolando.Caloca
UE4.21 - Remove Linux hack for Vulkan
#jira
Change 4415679 by Rolando.Caloca
UE4.21 - Copy fix from 4415584 and 4401641
- Added support for -vulkanpresentmode=N where N is a VkPresentModeKHR
- This prevents the CPU from getting more than one frame ahead of the GPU. In addition to making the Vulkan RHI more consistent with the DX RHIs and reducing game input latency, this also fixes the issue where memory for volatile uniform buffers could be overwritten by the CPU before the GPU was done with it. This could happen when running in immediate present mode with frame pacing and smoothing disabled, as the CPU could get several frames ahead of the GPU.
#jira
Change 4415654 by Jamie.Dale
Fixed the editor failing to load the native game localization data during init
#jira UE-64097
Change 4415635 by Jamie.Dale
Fixed null pointer access in setting helpers
#jira
Change 4415630 by Jamie.Dale
Ensure we GC at various points that could have left lingering references to items being content hot-reloaded
#jira
Change 4415624 by Jamie.Dale
Ensure that the transient instance created by the material editor is marked pending-kill once the material editor is closed
This fixes an issue where a lingering material editor instance would re-apply old material constant values after a content hot-reload, as the content hot-reload would call PostEditChange on the lingering instance.
#jira
Change 4415620 by Jamie.Dale
Fixed type validation of objects within containers
#jira UE-64151
Change 4415613 by Jamie.Dale
Fixed crash when deleting a package without an SSC state
#jira
Change 4415592 by Marcin.Undak
UAT: Aways create directory before saving encryption parameters
#jira none
Change 4415590 by Jamie.Dale
Merging CL# 4357533, CL# 4366557 and CL# 4374101
#jira
Change 4415577 by Marcin.Undak
Linux: fixed WebM crash
#jira UE-64157
Change 4415340 by frankie.dipietro
Empty M_VolumeSampler for testing
#jira UE-29618
Change 4415334 by frankie.dipietro
Adjust M_VolumeSample test material to use Emissive
#jira UE-29618
Change 4415085 by Ben.Marsh
Restore const signature for FApplePlatformCrashContext::ReportCrash() for compatibility with callbacks.
#jira
Change 4415032 by Ben.Marsh
Fix Mac compile error due to calling non-const function.
#jira
Change 4415005 by frankie.dipietro
Add M_VolumeSample to QAGame to aid Volume Texture testing
#jira UE-29618
Change 4414930 by Ben.Marsh
Include portable callstacks in ensures.
#jira UE-64574
Change 4414631 by Graeme.Thornton
Fix for crash when running automation tests
#jira UE-64652
Change 4414055 by Dan.Oconnor
Remove use of FAssetData to avoid side effects that can result in CDO creation
#jira UE-64534
Change 4413933 by Jeff.Fisher
Merging using Dev-VR_to_Release-4.21
4374589 UE-57680 [CrashReport] UE4Editor_SteamVR!FSteamVRModel::GetRawMeshData() [steamvrassetmanager.cpp:307]
-Added some more logging to try to figure out why this is crashing. Logs the resourceID of the steamVRMesh which might tell us if this is happening with some specific hardware. Also logs index and vertex counts and pointers to see if the data is somewhat malformed or just completely invalid.
4380355 UE-57680 [CrashReport] UE4Editor_SteamVR!FSteamVRModel::GetRawMeshData() [steamvrassetmanager.cpp:307]
-Two more log lines for steamvr shutdown. Maybe we are trying to get the models after shutdown and get bad data?
#jira UE-57680
Change 4413599 by Mitchell.Wilson
Saving SunlightColorLUT to resolve warning.
#jira UE-64648
Change 4413343 by Ben.Marsh
Add Rsync filters to installed build on Windows.
#jira UE-64623
Change 4413276 by Ben.Marsh
Remove logic that prevents UHT compiling on Mac during a remote build.
#jira UE-64493
Change 4413205 by Ben.Marsh
Fix missing dependencies from installed build on Mac and Linux.
#jira UE-64629
Change 4413154 by Jason.Bestimt
Merging CL 4379292 from Dev-VR - Fixes for mobile static draw list using incorrect material render proxy
#JIRA: UEVR-1321
Change 4413148 by Jason.Bestimt
Merging CL 4373138 from Dev-VR - Fix for media texture crash on Lumin
#JIRA: UEVR-1319
Change 4413142 by Jason.Bestimt
Merging CL 4347297 from Dev-VR - Swapping double to single quote to fix Mac Editor packaging for Lumin
#JIRA: UE-63556
Change 4412619 by Jason.Bestimt
Merging CL 4331753 from Dev-VR - Allowing output log to capture warning and error verbosity from commandline output it receives (like launch on Lumin)
#JIRA: UE-62981
Change 4412526 by Jason.Bestimt
Merging CL 4311018 from Dev-VR - Preventing multiple lumin frame timing hints while the graphics context isn't valid
#JIRA: UE-62031
Change 4412517 by Jason.Bestimt
Merging CL 4304939 from Dev-VR - Commenting out Eye Tracker init log until the feature is complete.
#JIRA: UE-61413
Change 4412515 by Jason.Bestimt
Merging CL 4304711 from Dev-VR - Downgrading sandbox jail warning to log, as it is expected output
#JIRA: UE-62992
Change 4412508 by Jason.Bestimt
Merging CL 4303846 from Dev-VR - Fix for fully qualified name in header
#JIRA: UE-62068
Change 4412496 by Jason.Bestimt
Merging CL 4303647 from Dev-VR - Fixing synth style warnings in Lumin Sample
#JIRA: UE-62068
Change 4412491 by Jason.Bestimt
Integrating CL 4303618 from Dev-VR to remove Lumin Emulator plugins
Change 4412425 by Mitchell.Wilson
Updating GetLinearColor nodes in BP_Sky_Sphere to GetClampedLinearColor nodes. Saving curves due to the change to resolve warnings.
#jira UE-64228
Change 4412349 by Lauren.Ridge
Adding custom version to linear color curve assets
#jira UE-64228
Change 4412302 by Ben.Marsh
Include the full filename of the config file if we can't save a backup. Attempt to track down UE-64554.
#jira UE-64554
Change 4412161 by frankie.dipietro
Adding bUsedWithStaticLighting flag to M_Roughness_0 to fix RectLight test
#jira UE-29618
Change 4411692 by tim.gautier
Minor adjustment to M_Tree_FallTreeMerged_01 - added a StaticSwitchParam
#jira UE-29618
Change 4411522 by Lauren.Ridge
PostLoad check and additional GetClampedColorValue BP function for linear color curves
#jira UE-64228
Change 4411494 by Francis.Hurteau
Copied 4359025 Francis.Hurteau
Test if have a valid continuation before running it when setting continuation on a ready future
#jira UE-64567
Change 4411151 by Jeff.Fisher
Merging using Dev-VR_to_Release-4.21
4345353 UE-62255 Google 6DOF Motion Controller Support
-Added support for 6DOF controller tracking on daydream.
-Project Settings->Android->Advanced APK Packaging->Configure GoogleVR to support specific hardware configurations-> Set to Daydream(6.6 DoF) to enable support for two 6dof controllers. A single 3dof controller is also supported by this configuration, as is a single 6dof controller.
-Currently the 3dof controller is detected only by noticing that the positions returned for all controllers are exactly 0,0,0 per Google reccomendation. A future API should make it explicit when a controller is 3dof or 6dof.
-Currently we arbitrarily make the controller at index 0 the right and the one at 1 the left. A future api should let us query for controller handedness.
4346387 Fixing build break in GoogleVRControllerFunctionLibrary.h
4349142 Fixing GoogleVRController build warning
4349742 Fixing AndroidRuntimeSettings build errors.
4350977 Fix for static analysis warning
4351170 Build fix for bad assert
#jira UE-62255
Change 4410947 by Lina.Halper
#DUPEMERGE
Fixes many reference pose issues, where they want to add node, and how it updates, and how they could move
- mainly execution can be disabled by button, and we will mark to compile when it needs recompile due to hierarchy change
- added quick warning to log when hierarchy is missing
- still lots of things need more iteration
- fixed assets
#jira: UE-63136
Change 4410550 by Lauren.Ridge
Fix for ListView not propagating selection change events
#jira UE-64118
Change 4410527 by Lauren.Ridge
Adding condition to guard against crash when pasting comments
#jira UE-63214
Change 4410512 by Marcin.Undak
UAT: Create manifest directory, before writing to it
#jira none
Change 4410511 by Lauren.Ridge
Fix for crash on spamming trigger presses in VR mode
#jira UE-63608
Change 4410489 by Lauren.Ridge
Fix for disappearing UI handle in VR mode
#jira UE-63622
Change 4410364 by Ben.Marsh
PR #5138: Fix bForceBuildShaderFormats not being read correctly in TargetRules (Contributed by rlabrecque)
#jira UE-64611
Change 4410086 by Ben.Marsh
UAT: Show timing/agent info in UAT the same way as in UBT, to make it easier to track down badly configured agents.
(Originallly CL 4343393 in Dev-Build)
#jira
Change 4410018 by Lina.Halper
#DUPE MERGe
Merging using Dev-Anim<->Release4.21
fix motion blur issue on poseable mesh component
#jira: UE-62296
Change 4409981 by Simon.Tourangeau
SunPosition plugin
#jira UE-64075
Change 4409913 by Michael.Kirzinger
Fix FUniqueNetIdRepl serialization for out of engine OSSs. Use FNetBitReader/Writer in the serialization test so it properly tests network replication
#jira UE-63326
[at]josh.markiewicz
Change 4409838 by Simon.Tourangeau
Integrate misc nDisplay fixes from Dev-Enterprise
- nDisplayLauncher: Removed useless no-val command line arguments
- Fixed Editor crash when translation direction is set in BP_DemoWand_Blueprint
- Use quotation marks for paths
- A lot of nDisplay warings "wand not found"
- nDisplayLauncher passes custom arguments at beginning
- Update blueprints (resubmit + comments)
- Single view for monoscipic devices
- Move swap eye attribute to [cluster_node]
- Removed viewport flip feature
- Disable input on slave nodes
- Fix for GL3/4 monoscopic device. Missed changes for 'Viewport positioning fix'.
- Removed custom swap_int
- Fixed demo blueprints
- Fixed crash in DC components when the DC is not initialized
- Fixed visibility of some inherited members
- Fixed Editor crash on second PIE session start
- Fix for viewport positioning
- BP API docs (comments)
- Turn off some screen effects in the nDisplay template project
#jira UE-64170
Change 4409812 by Simon.Tourangeau
USD SDK updated to v18.09
Merged from Dev-Enterprise
#author Rex.Hill
#jira UE-64140
Change 4409754 by Graeme.Thornton
Copy of CL 4385549 from Dev-Core
Try and detect a serialize function inside arbitrary preprocessor blocks and throw an error
Make a couple of other "can't have things inside preprocessor blocks" messages consistent with this one
#jira none
Change 4409671 by Jeff.Fisher
Merging using Dev-VR_to_Release-4.21
4392743 UE-63646 MagicLeap 4.21 redirects need updating
-Made redirectors more specific, found a way to do the updates without the MatchSubstring package update flag, to avoid a warning about how it is very slow.
#jira UE-63647
Change 4409395 by Ben.Marsh
Fix Python.build.cs adding locally generated *.pyc files as runtime dependencies. Since these files are not tracked as build products, they will not exist on other build machines, causing warnings when building DDC.
#jira
Change 4408881 by Max.Chen
Sequencer: Added missing ini change for 4395032
#jira UE-64258
Change 4408670 by Max.Chen
Sequencer: Step to next/prev key no longer uses ExclusiveEndFrame - 1. This fixes cases where you want to step to the last key of a section and add another animation clip that doesn't overlap.
#jira none
Change 4408662 by Max.Chen
Sequencer: Removed derived blueprint type for level sequence director blueprints
#jira UE-64258
Change 4408661 by Max.Chen
Sequencer: When evaluating a range of a sequence, all overlapping segments of that range are now guaranteed to be up-to-date and compiled.
This is a newer version of 4280319 which was backed out in 4317353, with the TRange::Overlaps issues addressed.
#jira UE-63336
#jira UE-62873
Change 4408660 by Max.Chen
Sequencer: Fix crash when converting matinee assets to sequences due to changes in events. Event keys will now have blueprint event endpoints created in the level sequence blueprint when converting.
#jira none
Change 4408354 by Marc.Audy
Fix additional cases where GetBlueprint could get called without a valid blueprint, thus checking
#jira UE-62444
Change 4408286 by Joe.Conley
#jira UE-64552 [CrashReport] UE4Editor_MagicLeap!UImageTrackerComponent::TickComponent() [imagetrackercomponent.cpp:391]
MagicLeap ImageTrackerComponent: Adding check for PLATFORM_LUMIN to prevent PIE crash running code that was designed to only run on device.
This had been fixed previously but somehow the fix got lost merging between streams.
Change 4408252 by Brandon.Schaefer
Doubles in the form of 1e+9999 can be larger then 30 chars, set aside more room
#jira UE-64582
Change 4408076 by Mike.Erwin
UAT: fix Iterative Deploy leaving behind old files on Android
(copy 4369737 from Dev-Build)
For iterative deploy on Android, files & directories not in staging will be zapped from the device.
The following directories are spared, to maintain config & logs on device:
Engine/Saved
Engine/Config
ProjectName/Saved
ProjectName/Config
Tested with Samsung Galaxy S6+ (Android 6.0) and Google Pixel 2 (Android 9.0)
#android
#jira UE-61686
Change 4408070 by Mike.Erwin
UAT: iterative deploy no longer prevents cleaning of staging directory
(copy 4369732 from Dev-Build)
Partial fix for
#jira UE-58838 UE-61686 UE-62879
Might need additional work to reduce file copies from Build to Stage.
Change 4407741 by Ben.Marsh
UBT: Avoid trying to figure out which mobile provision to use for a project when we already know the path to the provision we want. Also fix certificate not being updated if mobile provision changes.
#jira
Change 4407632 by Jamie.Dale
Removed pyc files from Python SDK
#jira UE-64531
Change 4407622 by Jamie.Dale
Updated Python SDK copy script to exclude pyc files
#jira UE-64531
Change 4407431 by Anousack.Kitisa
Copied 4392037 Anousack.Kitisa
Modified API for UV map generation.
#jira UE-63814
Change 4407427 by Ben.Marsh
Suppress warning for missing DebugNonUFS files when staging installed build.
#jira UE-64579
Change 4407401 by Anousack.Kitisa
Copied 4383601 Anousack.Kitisa
[StaticMeshEditor]:
* Fixed material assignment issue when re-importing Datasmith static mesh after deleting a section from the mesh.
* Fixed material issue when deleting a section from a mesh and undoing and chaging material on the mesh.
#jira UE-62480
Change 4407274 by Joe.Graf
Over merge reverted
#jira: fix
Change 4407268 by Anousack.Kitisa
Copied 4369800 Anousack.Kitisa
Import/export FBX metadata on SkeletalMesh and Skeleton assets.
#jira UEENT-1881
Change 4407220 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - AR samples updated
#jira: UE-64673
Change 4407213 by Rolando.Caloca
UE4.21 - Copy 4403346
DR - Fix post opaque extension running before lights
#jira
Change 4407208 by Anousack.Kitisa
Copied 4369604 JeanLuc.Corenthin
- Fixed indexing issue with FOverlappingCorners object created using a FmeshDescription object:
- Changed logic in building of FOverlappingCorners to be based on index of wedge, number of wedges equal 3 times the number of triangles like in FRawMesh, instead of index of vertex instances.
- Updated BuildVertexBuffer to take this new logic in account.
- Fixed crash in FMeshDescriptionOperations::CreateMikktTangents:
- MikkTSpace sdk does not handle properly faces with 0 vertices which occur with mesh description with invalid polygons.
#jira UE-62478, UE-63758
Change 4407188 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Fixed missing include when not using unity builds
#jira: UE-64673
Change 4407179 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Added a way to see the ARKit CPU consumption across all of its threads
#jira: UE-64673
Change 4407178 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Bug fix for landscape image detection being at the wrong distance
#jira: UE-64673
Change 4407174 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Improved debug rendering of AR tracked images
#jira: UE-64673
Change 4407165 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Added post edit change to force correct aspect ratios when editing physical size for detected images
#jira: UE-64673
Change 4407162 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Reverted premature merge
#jira: merge
Change 4407156 by Joe.Graf
Merging using Dev-VR_to_Release-4.21
#jira: merge
Change 4407146 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Point cloud rendering additions
#jira: UE-64673
Change 4407134 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Added some config properties to box component for debug rendering
#jira: UE-64673
Change 4407128 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Added missing #ifdef
#jira: UE-64673
Change 4407127 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - AR point cloud debug rendering support added
#jira: UE-64673
Change 4407119 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - ARVideoSettings sample
#jira: UE-64673
Change 4407113 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Added a device orientation query in addition to the event that is present
#jira: UE-64673
Change 4407109 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Fixed a missing nullptr check that was causing AR apps to crash
#jira: UE-64673
Change 4407105 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Added support for rotating an image while generating a jpeg for ARSharedWorld sample
#jira: UE-64673
Change 4407101 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Added a set of properties to override thread priorities when using ARKit and UE4 is causing ARKit to starve
#jira: UE-64673
Change 4407098 by Joe.Graf
Merging using Dev-VR_to_Release-4.21
#jira: merge
Change 4407093 by Francis.Hurteau
Copied 4372687 Francis.Hurteau
Fix potential assert when changing ProtocolVersion based on ping messages
#jira UE-64035
Change 4407088 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Added scaling to jpeg creation for ARSharedWorld sample
#jira: UE-64673
Change 4407082 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - ARSharedWorld sample
#jira: UE-64673
Change 4407078 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Fix for null session config being passed to AR system
#jira: UE-64673
Change 4407074 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - ARSharedWorld sample
#jira: UE-64673
Change 4407064 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - ARSharedWorld sample
#jira: UE-64673
Change 4407061 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - ARSharedWorld sample
#jira: UE-64673
Change 4407052 by JeanLuc.Corenthin
Copy CL #4392021
- Fixed crash when importing model thru VRED importer
- Includes changes to StaticMeshBuilder.cpp made in CL #4369604
#jira UE-64152
Change 4407051 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - ARSharedWorld sample
#jira: UE-64673
Change 4407045 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Code suupport for streaming ar shared worlds
#jira: UE-64673
Change 4407039 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - ARSharedWorld sample
#jira: UE-64673
Change 4407032 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Improved AR template
#jira: UE-64673
Change 4407030 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Better BP exposure of GetMappingStatus for AR
#jira: UE-64673
Change 4407017 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Better double free fix for ar env probes
#jira: UE-64673
Change 4407012 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Double free fix for env probes
#jira: UE-64673
Change 4407007 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - AREnvProbe sample
#jira: UE-64673
Change 4407006 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - AREnvProbe sample
#jira: UE-64673
Change 4407003 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - AREnvProbe sample
#jira: UE-64673
Change 4406999 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Render doc fix for non-editor builds
#jira: merge
Change 4406994 by Anousack.Kitisa
Copied 4362955 JeanMichel.Dignard
Static Mesh Library : SetLodFromStaticMesh
- Assign materials to new LOD sections based on source mesh LOD.
- Copy LOD build settings from source.
#jira UE-63659, UE-64016
Change 4406992 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Fix for CLion IDE usage
#jira: merge
Change 4406987 by Joe.Graf
Merging using Dev-VR_to_Release-4.21 - Fix for missing property decoration for video modes
#jira: UE-64673
Change 4406944 by Max.Chen
Sequencer: Stop all sounds on tear down
#jira UE-63501
Change 4406942 by Mark.Satterthwaite
Duplicate CL #4398322: Rebuild mtlpp using Xcode 10 so Metal 2.1 works on iOS.
#jira N/A
Change 4406880 by Anousack.Kitisa
Copied 4356072 Anousack.Kitisa
[StaticMeshEditor]:
* Moved the UV channel removal functionality from the LOD details panel to the UV drop-down menu.
#jira UEENT-1827
Change 4406826 by Francis.Hurteau
Copied 4366928 Jeremie.Roy
Fix crashes related to the UndoHistory.
Add missing UndoBufferChangedDelegate broadcasts in EditorTransaction
#jira UE-64096
Change 4406820 by Anousack.Kitisa
Copied 4350474 Johan.Duparc
Fix UEditorAssetLibrary::DoesAssetExist to handle sub object name
#jira UE-62333
Change 4406783 by Anousack.Kitisa
Copied 4348861 Anousack.Kitisa
[StaticMeshEditor]:
* Fixed vertices being merged even though they don't share mergeable attributes.
#jira UE-62980
Change 4406752 by Anousack.Kitisa
Copied 4348838 Anousack.Kitisa
Fixed ConvertAnyPathToObjectPath returning wrong path for objects that are named differently than their package.
#jira UE-62333
Change 4406721 by Brandon.Schaefer
Linux: Set FORCE_ANSI_ALLOCATOR when using -EnableTSan to avoid multiple definitions
#jira UE-62804
Change 4406461 by Francis.Hurteau
Copied 4382276 Francis.Hurteau
Fix syncing streaming level visibility state with undo/redo
#jira UE-64315
Change 4406459 by Ben.Marsh
Fix temporary files containing dependency lists being created in Engine directory. Move them under Engine/Intermediate instead.
#jira
Change 4406451 by Brandon.Schaefer
Linux: Dont try to make current if our current window was the SplashScreen window we just destroyed
#jira UE-64211
Change 4406440 by Chris.Babcock
Remove AKEYCODE_BACK from valid gamepad keycodes to allow it when controllers are disabled
#jira UE-64350
#ue4
#android
Change 4406382 by Anousack.Kitisa
Copied 4393087 Patrick.Boutot
Add a shader source directory for the OpenCVLensDistortion plugin.
#jira UE-64568
Change 4406345 by Joe.Graf
Merge Xcode project generation fix to defaul to Legacy build mode using Dev-VR->Release-4.21
#jira: merge
Change 4405792 by JeanMichel.Dignard
Copied 4393315 JeanMichel.Dignard
Better telemetry for plugin warden
- Added more event attributes to track potential issues.
#jira UE-64280
Change 4405776 by JeanMichel.Dignard
Copied 4392578 JeanMichel.Dignard
Fixed actors not saving properly on a reimport when moved to a sublevel.
The issue is that they were being parented to actors from another level which isn't supported.
Also, the scene component template should refer to the parent component through a TSoftObjectPtr in case it's in another package.
#jira UE-62070
Change 4405738 by Mark.Satterthwaite
Duplicate CL #4396224: Remove another broken bit of legacy Metal code.
#jira UE-64128
Change 4405733 by Mark.Satterthwaite
Duplicate CL #4399472: Handle all Metal formats in ShaderPlatformToPlatformName - I have not made this handle all formats or platforms so this function is *wrong* for a number of others and should *assert* on failure to identify a platform. This fixes incorrect shader compilation for Forward rendering on iOS.
#jira UE-64355
Change 4405630 by JeanMichel.Dignard
Copied 43737703 Johan.Duparc
Prevent crash for old datasmith assets
Clear transactional flag in user asset data that could cause a crash for Blueprint assets.
#jira UE-63349
Change 4405481 by Sorin.Gradinaru
UE-61699 Kindle Fire 5th Gen crashes rotating Remote Session
#jira UE-61699
#Android
#4.21
From //UE4/Dev-Mobile CL4360704
Disabling threaded rendering for Kindle Fire HD 7 5th gen in DefaultDeviceProfiles.ini
Change 4405276 by Frankie.DiPietro
Adding test content for Volume Textures, Iris Normals, and Subsurface Boundary Bleed Color coverage
#jira UE-29618
Change 4405138 by JeanMichel.Dignard
Copied 4350470 Johan.Duparc
Fix crash on property edition for blueprint actors with templated asset user data
#jira UE-63349
Change 4404967 by Mikey.Boyd
Making content change to M_Translucent_PanNrm for UEQATC-244. Added a Texture Sample node to be used to test Platform Stats.
#jira UE-29618
Change 4404909 by Robert.Manuszewski
When enabling cooked assets in the editor, the engine will now use FArchiveAsync2 in the editor to be able to open them.
(re-implemented CL #4400327 from Dev-Core)
#jira UE-64389
Change 4404901 by Robert.Manuszewski
Fixed a hang when entering PIE when Background Streaming is disabled
#jira UE-63320
Change 4404816 by Ben.Marsh
Fix "Non-void function should return a value" warning in CIS.
#jira
Change 4404621 by Stefan.Boberg
Re-enabled LLM on Editor builds since the performance issue has been addressed
#jira UE-60020
Change 4404491 by Max.Chen
Sequencer: Use cached object bindings when drawing motion trails.
FindObjectId can be slow because it clears the cached bindings. Added FindCachedObjectId which retrieves the binding without clearing the cache.
#jira UE-63347
Change 4404490 by Max.Chen
Sequencer: Fix key reduction not working on imported fbx channel.
Implement channel Optimize() so that it follows the curve editor's SimplifySelection by evaluating whether a key is needed (rather than removing the key and checking whether the value has changed).
The main fix is that the tangents need to be calculated as non-normalized (ie. with the DisplayRate)
#jira UE-62353
Change 4404488 by Max.Chen
Sequencer: Changed HandleSingleNode fallback check for collapsed parents.
#jira UE-64394
Change 4404486 by Max.Chen
Sequencer: Remove restriction on hidden mobility. It's too wide to restrict transform tracks.
#jira UE-63415
Change 4404472 by Max.Chen
Sequencer: Restore drawing paths for selected nodes and channels
#jira UE-64204
Change 4404468 by Max.Chen
Sequencer: Check for property type in evaluation. This fixes an issue where the property type is changed after the track has been created.
#jira UE-64278
Change 4404439 by Keli.Hlodversson
Merging critical SteamVR fixes from Dev-VR
#jira UE-63198
#jira UE-64098
#jira UEVR-1250
Change 4403717 by Marc.Audy
Inline templated version of GetGameInstance
#jira UE-62591
Change 4403702 by Marc.Audy
PR #4944: Added template cast versions of multiple methods. (Contributed by francoap)
#jira UE-62591
Change 4403699 by Marc.Audy
Make reregistering an object in the significance manager an ensure not a check
#jira
Change 4403697 by Marc.Audy
PR #5074: Fixed minor bugs in GameUserSettings. (Contributed by phoenxin)
#jira UE-63893
Change 4403695 by Marc.Audy
Fix crash pasting timeline with external curve that has been force deleted
#jira UE-64504
Change 4403693 by Marc.Audy
PR #5077: Prevent TimelineComponent Update delegate from being executed 3 times when looping (Contributed by nedwardsnae)
#jira UE-63927
Change 4403691 by Marc.Audy
PR #5076: Correct icon when dragging an event dispatcher variable (Contributed by projectgheist)
#jira UE-63895
Change 4403689 by Marc.Audy
PR #5075: Mouse decorator when dragging a category from My Blueprint panel (Contributed by projectgheist)
#jira UE-63894
Change 4403686 by Marc.Audy
PR #5096: UE-64019: Use compare function for tooltip FText instead of != operator (Contributed by projectgheist)
#jira UE-64109
#jira UE-64019
Change 4403662 by Marc.Audy
Ensure that objects created via duplication in PIE are correctly constructed
#jira UE-63505
Change 4403462 by tim.gautier
Cleaned up M_Tree_FallTreeMerged_01, added comment blocks for UEQATC-212
#jira UE-29618
Change 4403308 by Michael.Trepka
Update mouse position on NSDraggingUpdate event on Mac
#jira UE-60800
Change 4403290 by Michael.Trepka
Fixed issues with window position and size when toggling between fullscreen and windowed modes
#jira UE-63212
Change 4403270 by Michael.Trepka
Fixed a problem with mouse click/drag events being received by incorrect window/widget in certain conditions while dragging windows on Mac
#jira UE-57506
Change 4403216 by Ben.Marsh
Fix null reference exception when resolving paths.
#jira
Change 4403213 by Ben.Marsh
Revert change to use FileReference for executable to use in the <Spawn> task, to ensure we can use programs in the PATH.
#jira
Change 4403209 by Ben.Marsh
Prevent null dereference when tagging a set of files.
#jira
Change 4403200 by Ben.Marsh
BuildGraph: Add support for automatic parsing of collection types in BuildGraph parameters.
#jira
Change 4403188 by Mikey.Boyd
Adding content for Data Table test coverage.
#jira UE-29618
Change 4403163 by Ben.Marsh
Sanitize the contents of all the receipts in the installed engine build, to make sure they don't reference any files we don't distribute.
#jira UE-56424
Change 4403151 by Ben.Marsh
UBT: Don't assume that console encoding is UTF-8 when using ParallelExecutor.
#jira UE-64248
Change 4403136 by Ben.Marsh
Fix IWYU issues with SQLite support.
#jira UE-64523
Change 4403116 by Ben.Marsh
UBT: Fix project files being generated for VS2017 if the user only has AutoSDKs, and does not have the IDE installed.
#jira UE-62726
Change 4403074 by Ben.Marsh
UBT: Fix a couple of edge cases when parsing output from child processes.
* If a single line was larger than 32kb, the process would be treated as having terminated.
* If the last output line did not have a trailing newline, the line would be dropped.
#jira UE-64234
Change 4403066 by Ben.Marsh
Fix project browser reopening when creating a new project, if other command line arguments are present. Missing a space between the project file and previous argument list.
#jira UE-63724
#lockdown Nick.Penwarden
#rb none
#ROBOMERGE-OWNER: jason.bestimt
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 4447546 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)
[CL 4452228 by jason bestimt in Dev-VR branch]
--------------------------------------
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core [at] 4285612)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3836829 by Ben.Marsh
UBT: Fix ability to precompile plugins from installed engine builds.
Change 3839519 by Ben.Marsh
UBT: Simplify configuring bPrecompile and bUsePrecompile settings for modules. Each rules assembly can now be configured as installed, which defaults the module rules it creates to use precompiled data.
Change 4042043 by Steve.Robb
GitHub #4705 : Added weak lambda's for delegates and multicast delegates.
Change 4042056 by Robert.Manuszewski
Optimized Mark Phase of GC by up to 10ms by making it run in parallel and removing a huge array presize which we didn't need.
Change 4042104 by Robert.Manuszewski
Set the minimum GC cluster size to 5 so that GC doesn't have to process micro clusters which are more expensive than processing individual objects
+ Exposed the minimum cluster size to ini and project settings as gc.MinGCClusterSize
+ Added the ability to sort clusters by name/object count/mutable object count/referenced clusters count when dumping them with gc.ListClusters command
Change 4042377 by Robert.Manuszewski
Reworked how GC and other threads (ALT specifically) interact - GC will now notify the ALT it wants to run and ALT will immediately try to finish its current work to allow that. Also the entire ALT tick is now protected against GC running at the same time to improve ALT stability.
+ added gc.ForceCollectGarbageEveryFrame console variable that triggers a forced GC every frame
Change 4042427 by Robert.Manuszewski
Changed FGCCSyncObject to use events when waiting for GC to finish so that it doesn't spin on non-game threads when GC is running
Change 4042482 by Robert.Manuszewski
Unhashing unreachable objects (ConditionalBeginDestroy) will now also be done incrementally, just like the purge phase of Garbage Collection
Change 4042635 by Robert.Manuszewski
Fix for a potential assert when incremental purge garbage is pending and something forces a full purge
Change 4044092 by Steve.Robb
Fix for forward declared CoreUObject weakobject types in delegates when building in Clang.
Change 4044102 by Robert.Manuszewski
Fix for a possible hang when worker threads are preventing GC from running and something is later trying to FlushAsyncLoading with the Async Loading Thread enabled
Change 4044113 by Steve.Robb
Another Clang fix.
Change 4044160 by Robert.Manuszewski
Disregard For GC pool will now be enabled by default in cooked builds
Change 4044287 by Steve.Robb
Typo fix.
Change 4047723 by Graeme.Thornton
TBA: Fixes for import/export name cache and object resolving
Change 4048015 by Graeme.Thornton
TBA: Weak/Soft/Lazy pointer serialization changes
* Remove FWeakObjectPtr::Serialize, move it's logic into, and replace usages of with calls to, FArchiveUObject::SerializeWeakObjectPtr(). Ensures that something is always sent to the archive so that structured archives can be kept happy in the future.
* Added Weak/Soft/Lazy pointer handling to the structured archive slot interface and all the formatters. Binary formatters just forward the call onto their inner and text archives store as a string path reference.
* FArchiveUObjectFromStructuredArchive caches all these pointer types and stores indices in the binary block, same as with a UObject*. All pointers are then forwarded to the underlying formatter in one go on finalization.
Change 4048021 by Steve.Robb
Fix for binding an unbound TFunction to another TFunction with a different signature. Also all null pointers now count as unbindings, not just nullptr.
TIsMemberPointer added.
TIsATFunction and TIsATFunctionRef renamed to remove the 'A's.
Change 4048544 by Robert.Manuszewski
Fixing ConditionalBeginDestroy profiling after changes to incremental CBD.
Change 4051028 by Graeme.Thornton
TBA: ArchiveFromStructuredArchive adapter uses Inner to determine if it is outputting to text, and sets it's own ArIsTextFormat to false
Change 4051056 by Graeme.Thornton
TBA: High level tagged property / UObject base class text serialization
- UObject serialize converted to structured archive
- Properties written to text individually with text tags, and then binary adapted values
- Only saves, doesn't load
Change 4051111 by Graeme.Thornton
TBA: Temporarily disable loading of text assets until tagged property serialization path is fixed up
Change 4051154 by Graeme.Thornton
TBA: Convert a few uobject serializers to structured archive format for example purposes
Change 4051181 by Graeme.Thornton
TBA: Added default structured archive implementation of SerializeItem to UProperty, which just calls the FArchive version on an FArchiveUObjectFromStructuredArchive adapter. Implemented structured archive SerializeItem for UArrayProperty
Change 4051197 by Graeme.Thornton
TBA: ObjectProperty text serialization
Change 4051216 by Graeme.Thornton
Restored a modified FWeakObjectPtr::Serialize function to keep backwards compatibility in code I don't have access to.
Change 4051261 by Graeme.Thornton
TBA: Convert UMetaData to structured archive
Change 4051374 by Steve.Robb
Incorrect assert removed.
Change 4051562 by Robert.Manuszewski
Adding stats for the new GC internal functions
Change 4051614 by Graeme.Thornton
TBA: Removed UProperty::SerializeItem(FArchive, ...) and replaced with UProperty::SerializeItem(FStructuredArchive::FSlot, ...). Fixed up most of them to work properly and added adapters in for any that were non-trivial.
Change 4052512 by Graeme.Thornton
TBA: Temporary workaround for softobjectptr and lazyobjectptr uproperties not serialization anything when they know the archive is a reference collector. They should always be serializing their pointers and letting the underlying archive itself ignore them.
Change 4053917 by Robert.Manuszewski
Clustered objects from clusters that are no longer reachable will now be marked as unreachable immediately when gathering unreachable objects
Change 4053919 by Robert.Manuszewski
Added the ability to disable incremental BeginDestroy in ini/project settings
Change 4055518 by Daniel.Lamb
Fixup for deterministic audio generation issue.
Submitted on behalf of Rich.Whitehouse
#jira nojira
#test prefilght automated test.
Change 4056854 by Graeme.Thornton
TBA: Added a test asset to EngineTest which contains all the different property types and test cases.
Change 4056858 by Graeme.Thornton
TBA: Updated USetProperty to proper structured archive usage
Change 4056872 by Graeme.Thornton
TBA: Add map property field to test object
Change 4056873 by Graeme.Thornton
TBA: Convert UMapProperty to full structured archive
Change 4056994 by Graeme.Thornton
TBA: Converted FText over to structured archive. Implemented saving, but not loading.
Change 4059728 by Ben.Marsh
UBT: Add support for using adaptive non-unity builds when the engine and project are in separate repositories.
Change 4059805 by Graeme.Thornton
Fixed typo in text serialization. Fixes CIS automation test errors
Change 4060007 by Graeme.Thornton
TBA: FArchiveFromStructuredArchive will now access it's host slot lazily, i.e. only when a value is actually written to the archive.
Change 4060092 by Stefan.Boberg
Added optimized Windows console window output path to GenericConsoleOutput since this slowed down cooking considerably (2 minutes spent in wprintf alone for one large dataset)
When stdout is attached to a console we use the WriteConsoleW function instead of wprintf since the latter is very slow especially in unbuffered mode which the engine currently configures for stdout (see setvbuf call in LaunchEngineLoop.cpp).
At some point we should reconsider this buffering policy since it's likely to slow down other platforms as well but I wanted to do a safe change for now as I don't yet fully understand why the setvbuf call is there in the first place.
Change 4060108 by Stefan.Boberg
Introduced some additional target platform utilities to help with asset cook optimizations
* We now assign each ITargetPlatform a zero-based ordinal value
* Introduced FTargetPlatform and FTargetPlatformSet types to help store platform references and platform sets efficiently.
These are not currently used in the engine but are designed to replace the existing ITargetPlatform/string/FName representations in the cooking data structures.
Change 4060143 by Graeme.Thornton
Undo //UE4/Dev-Core/Engine/Source/Runtime/... changelist 4060007
Needs some other changes that I haven't checked in yet...
Change 4062432 by Ben.Marsh
Fix error message when enumerating P4 changes.
Change 4062648 by Ben.Marsh
Add missing p4 integration action.
Change 4063620 by Graeme.Thornton
Integrated a fix from UDN where the engine would crash when trying to load a very small encrypted file (<16bytes) from a pak file, where the read address wasn't already aligned to the AES block size.
(https://udn.unrealengine.com/questions/431989/crash-while-reading-a-very-small-file-in-encrypted.html)
Change 4066963 by Robert.Manuszewski
Fixing GC cluster verification code reporting false positives when a cluster is referencing another cluster through 'mutable' objects list.
Change 4067133 by Robert.Manuszewski
Changed log verbosity when reporting individual cases of GC cluster assumption violations as they are followed by an asser anyway and this way we get the chance to see all issues before we assert at the end of these checks.
Change 4067443 by Steve.Robb
FString can now be constructed from any char pointer type and length.
Change 4068156 by Steve.Robb
Fix necessary because of FString constructor change in CL# 4067443.
Change 4070258 by Graeme.Thornton
Fixes for VSCode
Change 4070372 by Graeme.Thornton
TBA: Script struct serialization to structured archives
Change 4071913 by Ben.Marsh
Move bulk of the code for UnrealPak into an engine developer module, so it can be used in the editor.
Change 4071914 by Ben.Marsh
Missing files.
Change 4071937 by Ben.Marsh
Missing header.
Change 4072015 by Ben.Marsh
Fixes for compiling PakFileUtilities as part of the editor.
Change 4072826 by Steve.Robb
TBitArray::Reserve() added.
TBitArray::Add() overloaded to allow adding multiple bits.
TSparseArray::Reserve() optimized to call the overloaded Add().
Change 4073271 by Daniel.Lamb
Fixed add patch tier in project launcher passing the wrong commandline option to UAT.
#test none
Change 4074708 by James.Hopkin
#core Removed redundant Casts
Change 4074763 by Steve.Robb
Fix for TSparseArray::Reserve() size.
Change 4076063 by Ben.Marsh
Add an "UnrealPak" commandlet with the same functionality as the standalone UnrealPak program. Invoke by running the editor with -run=UnrealPak and the standard UnrealPak commandline options.
Change 4077064 by Robert.Manuszewski
Fixing compile error in PakFileUtilities
Change 4077144 by Graeme.Thornton
TBA: TextAssetCommandlet improvements
* Collect lists of broken assets during roundtrip tests and print a summary of packages that failed each phase at the end
* After resaving as text, load the file back as a plain JSON hierarchy to ensure the output was valid
Change 4077412 by Ben.Marsh
Set the correct exit code for UnrealPak. Should return 0 on success, not 1.
Change 4077760 by Graeme.Thornton
TBA: Loading fixed for tagged property serialization
Includes conversion of all UProperty::ConvertFromType() and SerializeFromMismatchedTag() functions to use structured archives
Lazy initialization of FArchiveFromStructruredArchive when loading, to support the possibility of an adapter being create around an object property serialize call to its inner UStruct, which then decides not to do anything and return false. Stops the ArchiveFromStructuredArchive from consuming the slot and getting upset later on when we try to serialize normal tagged properties from it.
Disabled lazy bulk data loading from text assets. Requires a bigger change to make it work.
Added some debug checks to json input formatter which track the current value stack size when a new object is pushed onto the stack, and makes sure that the stack has returned to the same size when the object is popped. Catches cases where we unpack an array/stream to the value stack but then don't consume all the items.
Change 4078800 by Ben.Marsh
Change UAT to using the editor's UnrealPak commandlet rather than invoking the standalone UnrealPak executable. To improve performance when building several PAK files, also add a new -batch=<file> command which reads commands to execute in parallel from a text file.
Change 4079745 by Graeme.Thornton
TBA: Migrated a couple of UObject Serialize functions to FStructuredArchive (SoundCue / MaterialExpressions / Editor strip flags)
Change 4079847 by Graeme.Thornton
TBA: Add 'FindMismatchedSerializers' mode to text asset commandlet, which dumps out a list of all UClasses which don't have the CLASS_MatchedSerializers flag, meaning we can't guarantee the have Serialize functions for FArchive AND FStructuredArchive, therefore we can't use the new structured archive based serialize path. Should only ever be native instrinsic classes as UHT takes care of all other cases.
Change 4079925 by Ben.Marsh
Fix incorrect assignment when deriving name for chunked pak file.
Change 4080214 by Ben.Marsh
Move the ThreadPoolWorkQueue class into DotNETUtilities so it can be used by other projects.
Change 4082394 by Graeme.Thornton
CIS fix for variable shadowing warning
Change 4082583 by Ben.Marsh
Add a IBinarySerializable interface for types that support reading from a BinaryReader and writing to a BinaryWriter. Implementing IBinarySerializable implies a constructor taking a BinaryReader argument is available for deserializing.
Change 4082652 by Ben.Marsh
Fix FileReference.Directory not returning a directory with a trailing backslash for files in the root directory.
Change 4082755 by Graeme.Thornton
Fixed an erroneous usage of TUniquePtr<uint8>as a pointer to a uint8 array when creating pak files. Caused a crash when compression was enabled, and has probably surfaced because pak generation is now done by an editor commandlet rather than a standalone program.
Change 4082756 by Graeme.Thornton
Fixed some incorrect documentation for pakfile compressed chunk headers
Change 4082883 by Graeme.Thornton
Static analysis warning fix
Change 4082912 by Ben.Marsh
Move ExceptionUtils into DotNETUtilities.
Change 4085291 by Graeme.Thornton
TBA: In the Json output formatter, write float and double values out with enough precision for successful roundtripping. Added some debug only code which will immediately reconvert the string back to its original value and compare the the input
Change 4085523 by Graeme.Thornton
TBA: Remove only explicit usage of DECLARE_FSTRUCTUREDARCHIVE_SERIALIZER. Should only be used from UHT generated code.
Change 4086037 by Robert.Manuszewski
Fix for a potential race condition when two threads want to acquire GC lock
Change 4088655 by Graeme.Thornton
Pak creation now uses the bEnablePakSigning setting from the crypto config json file
Change 4091474 by Steve.Robb
Fix for TStaticBitArray::FindFirstSetBit() and TStaticBitArray::FindFirstClearBit().
Unused variables removed.
Change 4093632 by Steve.Robb
CIS fixes.
Change 4093656 by Graeme.Thornton
Build fix
Change 4093744 by Ben.Marsh
Allow per-chunk settings for whether to enable compression in UnrealPak.
Change 4099712 by Gil.Gribb
UE4 - Fixed rare case where insufficient space was preallocated for cooldown ticks.
#jira UE-59686
Change 4099912 by Stefan.Boberg
Cooking timer optimizations:
- Replaced data structures for FScopeTimer and FHierarchicalTimerInfo. Previous implementation used FString for many things and caused *lots* of heap and string concatenation activity. Replaced with a compile-time node id (using __COUNTER__) and raw string literals.
- Removed PERPACKAGE_TIMER support (was disabled by default and was difficult to test)
- Made it possible to toggle OUTPUT_TIMING and ENABLE_COOK_STATS independently
- Removed some extremely tight timers because the overhead from calling QPC significantly exceeded the measured code
This change shaved some 15% off a clean cook of Fortnite WindowsClient (en) with fully populated local DDC
Change 4100519 by Stefan.Boberg
Quick fix for Linux build issue introduced in 4099927
Change 4105327 by Stefan.Boberg
Cooker: Changed FHierarchicalTimerInfo so it uses a linked list for tracking child nodes, to be able to deal with any child count. Previously we assumed there would never be more than 9 children but it turns out there are cooker modes that need more.
Fixes check when using -FullLoadAndSave to cook
Change 4105448 by Stefan.Boberg
- Fixed Linux build warning re: member initialization order
- Also eliminated OUTPUT_HIERARCHYTIMERS/CLEAR_HIEARCHYTIMERS macros (plain functions are fine)
- Moved finishing-up code for FullLoadAndSave() to TickCookOnTheSide() call site to improve timer output. Previously some of the scopes would not have been closed before printing and thus the output was misleading.
Change 4109031 by Ben.Marsh
Attribute-driven Perforce wrapper (old Epic Friday project). Offers a more complete implementation than the current P4 wrapper in UAT without requiring any platform-specific libraries. Uses the Python binary output for parsing.
Change 4109588 by Ben.Marsh
UBT: Add extension methods for serializing a nullable type to a BinaryReader/BinaryWriter.
Change 4109595 by Ben.Marsh
Missing project file for DotNETUtilities.
Change 4110724 by Stefan.Boberg
Removed annotation map locking in UObjectMarks, eliminating around one minute (~3.5%) from Fortnite cook time.
The locking was redundant since the annotation maps are managed per thread anyway.
Change 4111304 by Ben.Marsh
UAT: Add support for setting a status message through the log class. Allows writing transient messages (eg. progress messages) which will be cleared out before writing other messages. Best used through the LogStatusScope class, which can set a status message for the duration of a using() block.
As part of this change, the console no longer has to be added as a dedicated trace listener. Since we already special-case this listener when formatting log output, it's easier to just keep the implementation separate to the other trace listeners.
Change 4112708 by Steve.Robb
Fix for TBitArray::MaxBits in assignment.
Change 4114133 by Stefan.Boberg
Tweaked how low-level memory (LLM) tracker is implemented to reduce overheads.
Previously FMemory functions would acquire the LLM singleton and call OnLowLevelFree/OnLowLevelAlloc etc which would check the bIsDisabled flag and early out if it was set. Due to how frequently these functions were called this ended up costing quite a bit.
- This change makes the flag a static member variable instead of a member variable and therefore enables a simpler early-out to be implemented.
- The singleton getter is also simplified to avoid hitting the threadsafe singleton construction path on every call.
- The enable flag is no longer TAtomic - this also incurs extra overhead for no clear benefit
Shaves approximately 3.5% (one minute) off a Fortnite cook test scenario (using -FullLoadAndSave)
Change 4115010 by Robert.Manuszewski
Fixing CIS
Change 4115249 by Robert.Manuszewski
Fixing async loading code asserts when exiting game very early due to an error
#jira UE-56267
Change 4117091 by Ben.Marsh
Prevent doubled-up lines when writing status updates with console log verbosity.
Change 4117207 by Ben.Marsh
UGS: Do not include executables in diagnostics zip file, and ignore "no such files" error when cleaning workspace.
Change 4119175 by Ben.Marsh
UGS: Fix crash writing version files when directory does not already exist.
Change 4119987 by Ben.Marsh
UGS: Show a dialog box while the launcher is updating executables from Perforce, which allows cancelling the operation if necessary. Allow setting the username on the settings window, and prompt for login credentials if necessary. Should prevent situations where users have to update settings from the command prompt.
Holding down shift during launch now shows the settings dialog rather than an immediate prompt to launch the unstable version (unstable version is shown as a checkbox on this dialog).
Change 4119991 by Ben.Marsh
Update version number for UGS launcher to 1.13.
Change 4121943 by Robert.Manuszewski
Don't use FArchiveAsync2 for reading packages with non-async path in editor builds as its performance is worse than the standard archive's (saves about 1 minute when doing larger cooks and 7 seconds when loading into PIE)
Change 4122592 by Steve.Robb
GitHub #4762 : Improve wording and grammar of Math comments
Also includes improved accuracy in FMath::ComputeBoundingSphereForCone().
Change 4122819 by Stefan.Boberg
Don't call CreateDirectory redundantly when opening files for writing using FFileManagerGeneric::CreateFileWriter
This change avoids calling IPlatformFile::CreateDirectoryTree if possible since this is a very expensive function especially for deep hierarchies as it performs directory creation from the root directory onwards instead of from the leaf downwards. That function should also be fixed but this change improves performance in the meantime.
Change 4122872 by Stefan.Boberg
CreateDirectoryTree now creates directories leaf-to-root instead of the other way around. This is much more efficient since we don't spend time on system API calls for directories which already exist. This accounted for a very large amount of CPU time in cooking as the full target file directory hierarchy would be "created" for every single output file.
Change 4123109 by Stefan.Boberg
- Disable overlapped I/O in editor / cooker. Synchronous I/O reduces the number of syscalls and Windows performs prefetching on our behalf anyway for sequential reads
- Eliminated syscall which was issued for every write to update cached file size -- since we're the only writers to the file (file access allows read sharing at most) we can authoritatively update the file size on write completion
Change 4123455 by Ben.Marsh
PR #4775: New build param PCHMemoryAllocationFactor to set /Zm VS build param. (Contributed by lucaswall)
Change 4124207 by Ben.Marsh
UBT: Remove some unnecessary indirection for generated code paths.
Change 4124217 by Ben.Marsh
UBT: Remove another unused variable from UEBuildModuleCPP.
Change 4124377 by Stefan.Boberg
In IPlatformFile::DeleteDirectoryRecursively, attempt to delete file first and if it fails clear the readonly flag and try again
Previously there was a call to clear the readonly flag for every deleted file and this is a waste of resources 99% of the time. The SetFileAttributes call accounted for a significant amount of time during cooker sandbox directory deletion
Change 4125071 by Stefan.Boberg
Some tweaks to FQueuedThreadPoolBase scheduling and memory management
- Explicitly pass in false for TArray::RemoveAt(..., bool bAllowShrinking) argument to prevent memory reallocation when arrays are drained and inevitably repopulated shortly afterwards
- Use a MRU strategy instead of LRU when picking a thread to wake up. The MRU thread is the most likely to have a 'hot' cache for the stack etc. Picking from the back of the array also happens to be cheaper since
no memory movement is necessary when RemoveAt is called. (This was the strategy in place before CL2600362 which seems to have changed it unintentionally)
- Release lock as soon as a thread has been chosen, before asking the worker thread to wake up and do the work
Change 4126132 by Ben.Marsh
UAT: Detect when stdout is redirected and prevent using backspace characters to move the cursor.
Change 4126867 by Graeme.Thornton
TBA: Fix tagged binary formatter
Change 4127010 by Robert.Manuszewski
AnimScriptInstances created at runtime will now also be added to the owning omponent's cluster to avoid GC issues.
Change 4127932 by Ben.Marsh
WorkspaceTool: Reduce unnecessary logging of status messages when console output is not redirected.
Change 4129050 by Ben.Marsh
UGS: Check for NET Framework 4.5 being installed before running the installer. Also fix warning trying to kill existing UGS instances before upgrade.
Change 4129459 by Graeme.Thornton
TBA: TextAssetCommandlet - When outputting converted assets to an output path, replicate the workspace relative path in the output directory
Change 4129515 by Graeme.Thornton
TBA: Add EnterRecord overload that allows outputting of available field names when loading.
Change 4129517 by Graeme.Thornton
TBA: Tagged properties are written out as named fields on the "Properties" record, rather than as a stream with a null tag at the end
Change 4129518 by Graeme.Thornton
TBA: Added a local const bool to allow easy hacking out of text asset loading support
Change 4129558 by Graeme.Thornton
TBA: Build fix for textasset-less configs
Change 4129614 by Ben.Marsh
UGS: Main window is now restored to normal size when activated by clicking on the tray icon.
#jira UE-60490
Change 4129618 by Ben.Marsh
UGS: Speculative fix for unreproduced exception accessing disposed window while shutting down.
Change 4131936 by Robert.Manuszewski
Removing some WIP code accidentally checked in with CL #4121943
Change 4133490 by Ben.Marsh
UGS: Allow the $(Change) variable to be used in more places than just the context menu.
#jira UE-60573
Change 4133550 by Ben.Marsh
UGS: Setting for whether or not to use incremental builds is now exposed through the variable "$(UseIncrementalBuilds)" for use by custom build steps.
#jira UE-60554
Change 4133681 by Ben.Marsh
UGS: A per-project list of folders and extensions to be deleted by default when running the 'clean workspace' tool can now be specified through the <ProjectDir>/Build/UnrealGameSync.ini file. Settings may be specified for an individual branch (via a category with the depot path to the project) or for wherever the project is currently open (via the [Default] category).
The SafeToDeleteFolders list specifies a substring that will be checked against folder paths. Anything containing this folder will be marked as safe for delete by default.
The SafeToDeleteExtensions list specifies a list of extensions for files that can always be deleted.
Example:
[Default]
+SafeToDeleteFolders=/MyGame/Test/
+SafeToDeleteFolders=/DataService/
+SafeToDeleteExtensions=.xx1
+SafeToDeleteExtensions=.xx2
#jira UE-60575
Change 4135449 by Ben.Marsh
Fix allowing use of Job objects on Windows platforms (debug code submitted by mistake)
Change 4135730 by Ben.Marsh
UBT: Plugins can now be enabled and disabled from the .target.cs file (for targets that do not use the shared compile environment), by compiling the list of enabled/disabled plugin names into the Projects module.
Change 4135823 by Ben.Marsh
UBT: Remove legacy code to handle disabling optional plugins; now that this is compiled into the target, it will work for any plugins we choose.
Change 4135945 by Ben.Marsh
UBT: Fix error running programs with no explicitly enabled or disabled plugins.
Change 4137207 by Ben.Marsh
UGS: Align all badges with the same name, to make it easier to see which CIS steps are being run. Allow overriding the slot taken by a particular badge by calling it "SlotName:LabelName".
Change 4137311 by Stefan.Boberg
Removed child cooker support.
In practice it is not a useful feature as it provides no performance improvement (quite the opposite in fact) and adds testing and maintenance complexity.
Change 4137393 by Ben.Marsh
UGS: Fix display of multiline errors in the status panel.
Change 4141708 by Steve.Robb
GitHub #3631 : Incorrect default argument in WeakObjectPtrTemplate
#jira UE-45490
Change 4146655 by Stefan.Boberg
Removed FullGCAssetClasses logic - no longer necessary nor useful
Change 4147318 by Ben.Marsh
UGS: Compress build badges in a column if it shrinks below the size that they would be visible.
Change 4148207 by Ben.Marsh
UGS: Added support for showing the latest completed build from a specific list of badges in the status panel. To declare a badge as one that should appear in the status panel rather than the CIS column, add it to the project's UnrealGameSync.ini in the project or [Default] section like so:
+ServiceBadges=RoboMerge
Change 4148282 by Stefan.Boberg
Fixed bug in UCookOnTheFlyServer::GetCookOnTheFlyUnsolicitedFiles - UnsolicitedFiles should be passed by reference not by value
Change 4148344 by Stefan.Boberg
Fixed minor indentation error (most likely caused by sloppy merge)
Change 4148521 by Stefan.Boberg
Removed accidentally checked in PRAGMA_DISABLE_OPTIMIZATION from CookOnTheFlyServer.cpp
Change 4148639 by Ben.Marsh
UGS: Fix tooltips not showing for changes that have description badges.
Change 4149373 by Ben.Marsh
UGS: Allow adding additional columns to display particular badges by adding entries from the project config file. Example syntax:
+Columns=(Name="Desktop",MinWidth=50,DesiredWidth=100,Weight=3,Badges="Editor")
+Columns=(Name="Mobile",MinWidth=50,DesiredWidth=100,Weight=3,Badges="IOS,Android")
Same form can be used to control how default columns are displayed (though badge settings are ignored). Also allow PerforceMonitor to detect local changes to project config files and update settings automatically.
Change 4149399 by Ben.Marsh
UGS: Update version to 1.143.
Change 4155660 by Steve.Robb
PROJECTION and PROJECTION_MEMBER macros which provide the correct behavior when creating projections using functions which are overloaded or use default arguments.
Change 4157117 by Ben.Marsh
Fix warning due to plugins disabled in .target.cs file.
Change 4158011 by Ben.Marsh
UBT: Add a check that the UnrealHeaderTool target file exists, rather than throwing an exception when reading it fails.
Change 4158646 by Ben.Marsh
UGS: Fix exception when login is discovered to have expired during a workspace update.
Change 4158678 by Ben.Marsh
UGS: Fix an exception on shutdown due to the icon being hidden after it's already been disposed.
Change 4158683 by Ben.Marsh
UGS: Add an unhandled exception filter which sends the exception data to the backend.
Change 4159131 by Ben.Marsh
UGS: Reduce the number of characters displayed for build badges based on the available space.
Change 4159194 by Graeme.Thornton
TBA: Fix incorrect map property conversion code when converting an old property that contains a map with different key/value types
Change 4159239 by Steve.Robb
Improved readability and compliance with coding standards.
Change 4159246 by Ben.Marsh
UGS: Allow syncing projects where source code is not available (and various version files don't exist).
#jira UE-60985
Change 4159286 by Ben.Marsh
UGS: Remove requirement for UE4Editor.target.cs to be visible in the depot in order to open a project.
#jira UE-60986
Change 4159302 by Ben.Marsh
UGS: Update version to 1.144.
Change 4160308 by Ben.Marsh
All staging client executables for blueprint projects.
#jira UE-60983
Change 4161567 by Steve.Robb
GitHub #4816 : UE-60771: Handle escaped double quote in FParse::LineExtended
Change 4162641 by Ben.Marsh
UGS: Allow customizing the position of custom columns, via the Index=N attribute.
Change 4162647 by Ben.Marsh
UGS: Update version to 1.145.
Change 4165319 by Robert.Manuszewski
PR #4812: Fix inconsistent command-line argument handling under Windows (Contributed by adamrehn)
Change 4166150 by Ben.Marsh
UGS: Include *.inl when looking for code changes.
Change 4166551 by Steve.Robb
Whitespace fixes caused by a bad merge.
Change 4168483 by Ben.Marsh
UGS: Add a more useful error if a file to be synced exceeds the max allowed path length.
Change 4168490 by Ben.Marsh
UGS: Update version to 1.146.
Change 4168551 by Ben.Marsh
UBT: Move bBuildLargeAddressAwareBinary into an exposed setting.
Change 4168560 by Ben.Marsh
UBT: Remove static config variable for controlling which configuration of UHT to use.
Change 4171296 by Ben.Marsh
UGS: Move the check for overlong paths earlier.
Change 4171531 by Ben.Marsh
UBT: Fix exception if BuildConfiguration.xml contains an unknown category.
Change 4183371 by Robert.Manuszewski
Fix for a crash in Async Loading Graph's CheckCycles when GC kicks in on the game thread and forces ALT to exit early
Change 4184312 by Ben.Marsh
UGS: Update version to 1.148
Change 4184480 by Robert.Manuszewski
Removing unused async loading stat
Change 4186390 by Ben.Marsh
UBT: Format XML validation errors in a format that allows double-clicking on the message in Visual Studio.
Change 4188644 by Ben.Marsh
UBT: Add the MakePathSafeToUseWithCommandLine() function to UBT.
Change 4188647 by Ben.Marsh
UBT: Fix exception in target receipt when architecture is null.
Change 4189617 by Ben.Marsh
Change FileSystemReference, FileReference and DirectoryReference objects to use OrdinalIgnoreCase comparisons without creating a separate copy of the string to compare. The filesystem does not use the invariant culture, and it can produce the wrong results in some cases (the ordinal comparison is faster, too).
Change 4189740 by Ben.Marsh
UAT: Remote code to build UnrealPak when packaging; we use the editor now.
Change 4189860 by Ben.Marsh
UGS: Make the filter for excluding automated lighting rebuilds more explicit.
Change 4190082 by Ben.Marsh
Fixes to allow enabling edit and continue for Windows builds. Have experienced quite a few VS crashes when testing it in editor; not yet recommended for general use.
- Allow edit and continue for any configuration, not just debug.
- Fixed PDB errors compiling files that use a shared PCH with edit and continue enabled. Path to the generated PDB file was using the wrong directory.
- Removed code that tracks PDB output files, since they're modified multiple times during a build.
- Enable debug information when compiling generated CPP files, since it causes errors if the shared PCH PDB doesn't have the same option.
- Disable support for remote execution of steps that modify the PDB, since the same file has to be modified many times. Remote execution causes the PDB files to be corrupted. Unfortunately, this makes E&C builds significantly slower.
#jira
Change 4192949 by Ben.Marsh
UBT: Minor tidy-up (merging UEBuildBinary.Build and UEBuildBinary.SetupOutputFiles)
Change 4193218 by Ben.Marsh
Fix formatting.
Change 4197252 by Mike.Erwin
UAT: Fix log output w/ correct count of non-code projects.
#jira none
Change 4197941 by Ben.Marsh
UGS: Add support for DebugGame editors that have an executable with a DebugGame suffix.
Change 4197964 by Ben.Marsh
UGS: Prevent attempts to automatically reopen projects while a modal dialog is up, or the workspace is syncing.
Change 4198144 by Ben.Marsh
UGS: Prevent modal dialogs when login expires in P4, and prompt for password when hitting "retry".
Change 4198413 by Ben.Marsh
UGS: Always show the main window when launched manually, and run with -RestoreState when launched at startup. Also add a couple more places that save the visibility state, since logging off seems like it can terminate the process abrubtly.
Change 4198779 by Ben.Marsh
UBT: Allow generating manifests to any arbitrary locations with the -Manifest=<Path> argument.
Change 4198825 by Ben.Marsh
UBT: Move code to enumerate Slate runtime dependencies into the Slate module. Doesn't need to be done inside core UBT.
Change 4199341 by Ben.Marsh
UGS: Update version to 1.149
Change 4199642 by Chad.Garyet
- Deprecate CISController
- Add BuildController to replace CIS GET/POST for builds
- Add LatestController, GET does what CIS/GET used to do
- Change Latest/GET to return the last 25 builds filtered by project, rather than the last 5000 individual Ids
- Latest/GET now returns "LatestData" object instead of array of longs
- Updated EventMonitor to match all API changes
- Fixed bug where IDs were getting reset to initial startup values every update loop
Change 4199663 by Chad.Garyet
CIS controller still needs to return an array of longs
#jira none
Change 4199680 by Ben.Marsh
UGS: Update version to 1.150
Change 4200457 by Ben.Marsh
Merging CIS fix for non-development configurations.
Change 4200472 by Mike.Erwin
UAT: fix -skipbuildclient param default
It was defaulting to skipbuildeditor's value, likely a copy-paste error.
#jira none
Change 4202595 by Ben.Marsh
Fix static analysis warning due to constant comparison against macro.
Change 4203250 by Ben.Marsh
UGS: Always show the "Sync Precompiled Editor" option, but disable it and show a tooltip explaining why if it is not available.
Change 4206191 by Ben.Marsh
Exclude editor target files from installed builds, since they leak info about DLLs that have been stripped out.
Change 4213011 by Ben.Marsh
UBT: Include contents of modified intermediate files in the log, to make it easier to debug hidden dependencies.
Change 4213487 by Ben.Marsh
UBT: Fix assumption that bPrecompile is equivalent to bBuildAllModules. This is no longer the case; they are now controlled by separate options. Should fix CIS errors building the editor.
Change 4213609 by Ben.Marsh
Ensure that strings formatted using FMicrosoftPlatformString::GetVarArgs() are always null terminated, whether we use the secure CRT or not.
Change 4215971 by Ben.Marsh
UBT: Remove action graph visualization code; no longer used.
Change 4215996 by Ben.Marsh
UBT: Remove unqiue id from all actions in the action graph. This is only used for printing debug info in the case of a (rare) cycle in the action graph, so just look it up when needed.
Change 4216022 by Ben.Marsh
UBT: Rename Crypto.cs to EncryptionAndSigning.cs to match the name of the class inside it, and move it under the System folder.
Change 4216031 by Ben.Marsh
UBT: Move all the action executors into their own folder in the project.
Change 4216526 by Ben.Marsh
Fix CIS warnings.
Change 4216544 by Ben.Marsh
Replace custom code to ensure FMicrosoftPlatformString::GetVarArgs() null terminates its buffer with Microsoft's standards-compliant implementation.
Change 4216633 by Ben.Marsh
Add support for UnrealPak plugins.
* Project and plugin modules can now specify an array of supported programs in the "WhitelistPrograms" field of their module descriptors, to allow modules to be loaded by programs.
* Programs can now load any runtime modules, as long as they are whitelisted.
* Programs under the engine directory can now use a shared build environment, so that building with a project file does not cause output binaries to be output to the project directory.
* UnrealPak is now always built by default when packaging
* Convert UnrealPak to a modular configuration
Change 4216736 by Ben.Marsh
UnrealPak: Move "ExportDependencies" command into an editor commandlet, since it relies on the UObject system, asset registry, etc...
Change 4217447 by Ben.Marsh
Back out revision 50 from //UE4/Dev-Core/Engine/Build/InstalledEngineBuild.xml
Change 4217451 by Ben.Marsh
Back out revision 11 from //UE4/Dev-Core/Engine/Plugins/Developer/VisualStudioSourceCodeAccess/Source/VisualStudioSourceCodeAccess/VisualStudioSourceCodeAccess.Build.cs
Change 4217617 by Ben.Marsh
Back out changelist 4217451
Change 4222552 by Ben.Marsh
Don't use #import <TypeLib> for VS source code accessor when building with Clang; it's not supported.
Change 4222630 by Ben.Marsh
UBT: Fix spam while generating project files if Clang isn't installed.
Change 4223316 by Ben.Marsh
UBT: Change the order in which Visual C++ toolchains are enumerated to prefer full releases over preview releases.
Change 4223318 by Ben.Marsh
UBT: Add a build setting which allows creating a dedicated PCH for every file that's excluded from the unity working set (disabled by default). Improves iteration times when working on individual cpp files, but slows down iterating on header changes (and can take a lot of disk space for large changes).
Dedicated PCH contains all includes scraped from the top of each cpp file, until a non-#include directive is encountered.
Change 4223401 by Ben.Marsh
UBT: Add an option to automatically enable edit and continue for files in the adaptive non-unity working set. E&C doesn't seem very useful for UE4 projects right now; compile time is comparable to regular build times, but it can take several minutes to apply code changes for large projects.
Change 4223899 by Ben.Marsh
UBT: Fix loading XML config files on Mono; Type.GetField(Name) does not seem to return values unless binding flags are specified.
Change 4224637 by Ben.Marsh
Add a "SupportedPrograms" field to plugin descriptors, which allows plugins to declare which plugins they support independently of individual modules. Programs now respect the "bEnabledByDefault" setting in plugins.
Plugins that are compatible with a program now need to list that program in the SupportedPrograms list, and whitelist any modules that should load for that program.
Change 4224710 by Ben.Marsh
UBT: Don't add import libraries as final build products unless the target is being precompiled. Prevents the need for building them for leaf nodes in the action graph.
Change 4224715 by Ben.Marsh
UBT: Remove hack to allow Stats2.cpp to not follow IWYU convention.
Change 4224726 by Ben.Marsh
Remove commented out line.
Change 4224903 by Ben.Marsh
Fix non-unity compile error in Stats2.h.
Change 4225051 by Ben.Marsh
Back out changelist 4224710; causing CIS errors due to receipts not matching.
Change 4225134 by Ben.Marsh
Fixing non-unity errors.
Change 4225203 by Ben.Marsh
Another non-unity fix.
Change 4225249 by Ben.Marsh
Fix Linux dependencies being copied for the Windows editor; they can be added as requirements for the Linux target platform on Windows instead, so it respects the user's chosen platforms.
#jira UE-62001
Change 4225512 by Ben.Marsh
BuildGraph: Allow setting the target to build when using the <CsCompile> task.
Change 4228815 by Ben.Marsh
UBT: Always add the generated code directory to the list of include paths when generating project files. It may only be created after UHT has been run.
Change 4228944 by Ben.Marsh
UBT: Remove legacy CppCompileEnvironment and LinkEnvironment wrappers from TargetRules that were deprecated in 4.19.
Change 4229028 by Ben.Marsh
UBT: Fix editor targets with unique build environment having the wrong executable path in generated project files. Move move logic to configure target rules post-construction by the rules assembly to ensure it's valid.
Change 4229065 by Ben.Marsh
UBT: Move another target setting into the rules assembly.
Change 4229105 by Ben.Marsh
Fix BPT exception when generating project files.
Change 4229311 by Ben.Marsh
UBT: Store the module rules file location on the ModuleRules instance, as well as the plugin that it was created from. Also expose the plugin directory as a property on the ModuleRules instance.
Change 4229421 by Ben.Marsh
UBT: Consolidate functionality for UHT module setup in ExternalExecution.cs.
Change 4229817 by Ben.Marsh
UBT: Modules must now explicitly specify the path to the header used to generate a PCH if one is desired, rather than the header being determined automatically by attempting to parse the source code. Now that PCHs are force-included anyway, this removes a lot of dependencies inside UBT.
Change 4229824 by Ben.Marsh
UBT: Remove unused lists inside UEBuildModuleCPP.SourceFilesClass.
Change 4229841 by Ben.Marsh
UBT: Remove some legacy code from auto-detecting PCHs.
Change 4230521 by Ben.Marsh
UBT: Add utility functions to the log class to allow formatting errors and warnings in Visual Studio output format (eg. File(Line): warning: Message)
Change 4230871 by Ben.Marsh
UAT: Remove StreamUtilis utility class; there is a simpler way to implement the one place it's used.
Change 4230882 by Ben.Marsh
UAT: Add StreamUtils back into UAT, seems like it's still used there.
Change 4230896 by Ben.Marsh
UBT: Remove some redundant parameters from UEBuildModule/UEBuildModuleCPP/UEBuildModuleExternal constructors.
Change 4231014 by Ben.Marsh
WorkspaceTool: Include a dump of raw bytes when garbage is read from the P4 process, for diagnostic purposes.
Change 4231032 by Ben.Marsh
Fix CIS.
Change 4231096 by Ben.Marsh
Bump the FlatCPPIncludeDependencyCache version, to prevent errors trying to load old files.
Change 4231446 by Ben.Marsh
UBT: Added support for expanding UE-specific variables in include paths and library paths: $(EngineDir), $(ProjectDir), $(PluginDir), $(ModuleDir).
Change 4231460 by Ben.Marsh
Modules may now explicitly specify rpaths on Linux via the PublicRuntimeLibraryPaths and PrivateRuntimeLibraryPaths properties.
Change 4233909 by Robert.Manuszewski
PR #4779: Reason fails as the supplied variable is incorrect (Contributed by projectgheist)
Change 4233910 by Ben.Marsh
Enable PCHs on IOS. Reduces build time by ~25%.
Change 4234176 by Ben.Marsh
UBT: Add better messaging for modules that need to have a private PCH set. Now detects the likely PCH using the same method as legacy code and includes it as a suggestion.
Change 4234193 by Ben.Marsh
Add the Delete command to Perforce wrapper in DotNETUtilities.
Change 4234688 by Ben.Marsh
UBT: Simplify handling of installed/precompiled builds. Settings for whether a folder is installed/read-only or not is now stored on the RulesAssembly instance, allowing multiple things to be configured separately and stacked together (eg. engine/enterprise/project). RulesAssembly.IsReadOnly() allows determining if a flie can be modified or not and replaces many previous IsXXXInstalledCalls(), and traverses the chain of assemblies.
Change 4234711 by Ben.Marsh
UBT: Runtime dependencies can now be copied to output directories as part of the build. When adding a runtime dependency, an optional source location can be specified to copy from. Both the source and target paths can use variables can be used as part of the path, eg. $(OutputDir), $(ModuleDir), $(PluginDir).
Example usage (from a .build.cs file):
RuntimeDependencies.Add("$(OutputDir)/Foo.dll", "$(PluginDir)/Source/ThirdParty/Foo.dll", StagedFileType.NonUFS);
Change 4234872 by Ben.Marsh
Expose a flag for whether the engine is installed, to fix issues generating project files.
Change 4234929 by Ben.Marsh
Fix null reference generating receipts when UBT makefiles are active.
Change 4235883 by Chad.Garyet
Merging 4231245 to core
Giving Coordinator its own sln. This should fix what 4158155 was supposed to.
#jira UE-61955
Change 4236075 by Ben.Marsh
CIS fix
Change 4237066 by Robert.Manuszewski
Fix for a potential crash when terminating the engine while it's being initialized
#jira UE-60545
Change 4237078 by Robert.Manuszewski
The engine will no longer be resetting all linkers causing massive load times when renaming the world package when entering Play In Editor
Change 4237116 by Ben.Marsh
Rewrite some Windows utility functions to support paths longer than MAX_PATH.
Change 4237158 by Ben.Marsh
Add const TCHAR* overloads of FString::RemoveFromStart() and FString::RemoveFromEnd().
Change 4237159 by Ben.Marsh
Fix FWindowsPlatformFile::GetFilenameOnDisk() support for paths longer than MAX_PATH, and simplify some of the other long path functions to avoid copying string buffers.
Change 4239050 by Ben.Marsh
Missing file
Change 4239318 by Ben.Marsh
Linux CIS fix.
Change 4239685 by Ben.Marsh
Static analysis CIS fix.
Change 4240800 by Ben.Marsh
WorkspaceTool: Include the full command line in the log for any P4 commands.
Change 4240903 by Ben.Marsh
PR #4909: Update copyright notices to 2018 (Contributed by projectgheist)
Change 4241025 by Ben.Marsh
UBT: Exclude mobile pipeline caches from generated project files. Causes huge slowdown when using 'Find in Files' through the IDE.
Change 4241770 by Ben.Marsh
UBT: Include action number in parallel executor output.
#jira UE-62032
Change 4243469 by Ben.Marsh
TBA: Merge FAnnotatedStructuredArchiveFormatter with FStructuredArchiveFormatter. Any functions that are only implemented for text archives now have a _TextOnly suffix, and are exposed through the FStructuredArchive interface.
Change 4245723 by Robert.Manuszewski
Fixing another creash when terminating the engine while initializing.
#jira UE-60545
Change 4245862 by Steve.Robb
VectorLoadFloat2(Ptr) added, which loads { Ptr[0], Ptr[1], Ptr[0], Ptr[1] } into a VectorRegister.
Change 4246412 by Robert.Manuszewski
The warning 'Calling StaticLoadObject during PostLoad may result in hitches during streaming' will now also report the object which had the PostLoad called on it when StaticLoadObject call happened.
Change 4246612 by Ben.Marsh
UBT: Fix spelling of "Intellisense".
Change 4249454 by Robert.Manuszewski
Added extra checks to catch scenarios where the EDL Precache Buffer is flushed before a package header is fully read
Change 4249513 by Robert.Manuszewski
Made sure the Async Loading Thread doesn't continue running after creating new async packages when garbage collector wants to run on the game thread
Change 4255207 by Ben.Marsh
UGS: Add additional logging whenever a P4 command fails, and when the user is logged out.
Change 4255288 by Ben.Marsh
PR #4921: Honor ModuleRules' bEnableExceptions flag when creating precompiled h. (Contributed by surakin)
Change 4256422 by Ben.Marsh
UBT: Add an error if a module referenced by a plugin descriptor doesn't exist.
Change 4257385 by Robert.Manuszewski
Creating new objects from within ForEachObjectWithOuter will now result in a fatal error as it's unsafe to change internal UObject hash tables when iterating over them.
Change 4257454 by Robert.Manuszewski
Added the option to filter clusters listed with gc.ListClusters by objects within them.
Usage:
gc.ListClusters Hierachy With=ObjectName1,ObjectName2...
Change 4257526 by Robert.Manuszewski
It's now possible to filter clusters that get logged with verbose cluster logging enabled (UE_GCCLUSTER_VERBOSE_LOGGING=1) by objects within them by specifying -DumpClustersWithObjects=ObjectName1,ObjectName2 in the command line
Change 4257822 by Ben.Marsh
Fixes for PlatformShowcase compile errors.
Change 4258771 by Ben.Marsh
UBT: Fix project files not being generated for foreign projects when creating .stub files.
#jira UE-62462
Change 4258790 by Ben.Marsh
UBT: Clean up the logic around generating project files before creating a stub IPA, so that it fails loudly if project files do not exist, and can accept target names not matching project names.
Change 4259276 by Ben.Marsh
UBT: Make it an error if a framework doesn't exist, rather than failing silently. Also remove some remote toolchain stuff that's no longer necessary.
Change 4259280 by Ben.Marsh
UBT: Fix embedded framework zips not being uploaded for plugins.
#jira UE-62485
Change 4260236 by Ben.Marsh
UBT: Fix path to generated engine project file.
Change 4260334 by Ben.Marsh
UGS: Fix custom build steps dialog inadvertantly modifying config file settings in-place.
Change 4260361 by Ben.Marsh
UGS: Allow for p4 login commands to fail, even though the user is logged in (due to a bad connection, etc...)
Change 4260559 by Ben.Marsh
UGS: Update version.
Change 4261160 by Robert.Manuszewski
MediaPlaylist will now be added to root set if the owning MediaPlayer is in the disregard for GC set (fixes GC assumption violation crash)
#jira UE-62495
Change 4261421 by Ben.Marsh
Force-sync files for building documentation, to fix issues with files not being updated.
#jira UE-62413
Change 4261425 by Ben.Marsh
UBT: Remove some leftover functions for handling the remote toolchain.
Change 4261530 by Ben.Marsh
UBT: Speculative fix (and better error reporting) for IOS mobile provision not being found in CIS.
Change 4261611 by Ben.Marsh
UBT: Downgrade warning to a log message, since it appears when generating project files.
Change 4261710 by Ben.Marsh
Remove assert that GLogConsole is set; it won't be for command line utilities that don't depend on ApplicationCore.
#jira UE-62545
Change 4261831 by Ben.Marsh
Fix compile errors due to missing include path when hot-reloading a module from the editor. There are not necessarily source files to compile when -modulewithsuffix is specified on the command line, which was results in GeneratedCodeWildcard not being set.
#jira UE-62463, UE-62384
Change 4262723 by Ben.Marsh
Whitelist plugins that need to be loaded by UFE.
#jira UE-62564
Change 4265444 by Ben.Marsh
Fix incorrect executable name for DebugGame configurations in Xcode.
#jira UE-62574
Change 4265892 by Ben.Marsh
Fix incremental compile failures due to dependency checking for unity files. CachedIncludePaths was not correctly being set on file items, so dependencies were being ignored.
#jira UE-62575, UE-62603, UE-62597
Change 4266019 by Josh.Adams
- Fixed the CopyAction for runtime dependencies that need to be copied to different location, on non-XGE
Change 4266264 by Ben.Marsh
Remove override for the __IPHONE_OS_VERSION_MIN_REQUIRED macro on TVOS.
This macro is already defined by system headers (in <AvailabilityInternal.h>). Now that we support PCHs on IOS and TVOS, manually defining this macro results in it being defined three times (once for the PCH, once by AvailabilityInternal.h, and once by the force-included list of definitions for the source file being built). The errors for redefining the macro in AvailabilityInternal.h are suppressed due to it being a system header, but the error for redefining it for the source file being compiled are not.
#jira UE-62578
Change 4266273 by Ben.Marsh
Fixes incremental build failure when compile arguments for PCH have changed on IOS/TVOS. Compile action needs to have a dependency on PCH build action.
Change 4266614 by Graeme.Thornton
Fix crash when cooking nativized blueprints due to removal of child cooker system.
Change 4266763 by Ben.Marsh
Always build UnrealPak when building client targets. The ProjectParams.Pak option is not reliable, because it can be forced on later by the target platform.
#jira UE-62584
Change 4267985 by Robert.Manuszewski
When iterating with ForEachObjectWithouter, don't lock the entire has table but only the hash bucket that is currently being iterated
#jira UE-62600
Change 4268558 by Robert.Manuszewski
PurgeLegacyBlueprints will no longer be called from within ForEachObjectWithOuter is it renames objects that reside in hash tables that are being iterated over which may lead to undefined behavior.
#jira UE-62600
Change 4269011 by Chad.Garyet
- Fixing Wildcard match issue, the change to ugsapi sends projects as //Depot/Stream instead of //Depot/Stream/
Wildcard match was only substringing to 3 chars.
- Checking in the change a while back that increases the number of queried jobs up to 432 based on some maths from Bob about how many builds we want to grab
Published to ugsapi server 8/8/17
#jira none
Change 4270788 by Ben.Marsh
Fix IOS provisioning data being using when remote compiling on TVOS.
#jira UE-62705
Change 4271916 by Ben.Marsh
Tag the XGEControlWorker executable as a build product after compiling SCW, to make sure it's included in the UGS zip file.
Change 4271934 by Ben.Marsh
Upload all static libraries in plugin folders as part of remote builds.
#jira UE-62694
Change 4273368 by Ben.Marsh
Fix Slate dependencies not being enumerated, and rules assembly not being rebuilt when building remotely.
#jira UE-62705
Change 4274049 by Ben.Marsh
Always parse the team UUID out of the mobile provision when doing a remote compile. The provision installed on the remote Mac (and selected for signing) may be different.
#jira UE-62751
Change 4274823 by Ben.Marsh
Add the -VersionCookedContent argument to disable the -unversioned parameter on the cooker command line.
Change 4275838 by Ben.Marsh
Fix BuildVersion string not being passed through from <SetVersion> task. Also add a -BuildVersion command line argument to UBT to override it for a particular build.
Change 4275913 by Ben.Marsh
Add a dummy exported symbol to the XGEController module, to fix build errors due to missing .lib file when it's built with WITH_XGE_CONTROLLER = 0.
Change 4284161 by Ben.Marsh
Allow mirroring Oodle files to remote Mac.
Change 4074774 by Steve.Robb
Vast simplification of TFunction, making it smaller in footprint, easier to follow and extend, and more correct.
TUniqueFunction added, which is a move-only TFunction which can hold move-only functors.
Fix for UWidgetBlueprint::ForEachSourceWidget() which should never have compiled but did.
FFunctionGraphTask and TFuture<> updated to use TUniqueFunction to make them more general.
TArray::HeapPop() made to work with move-only types.
Change 4082591 by Ben.Marsh
Move the Log class from UBT to DotNetUtilities.
Change 4083236 by Ben.Marsh
Add a Log.WriteException() method to dump an exception message to the console (and write the exception trace to the log)
Change 4084107 by Ben.Marsh
UAT: Remove the unused -SkipHeader argument to UE4Build.
Change 4089771 by Steve.Robb
GitHub #4743 : modified VirtualAlloc function flag
https://blogs.msdn.microsoft.com/oldnewthing/20151008-00/?p=91411
Change 4091456 by Steve.Robb
Unification of all platforms' FMath::CountTrailingZeros() and FMath::CountLeadingZeros() for both 32-bit and 64-bit.
Change 4156437 by Ben.Marsh
Lots and lots of fixes compiling for Clang on Windows.
Editor now compiles cleanly without warnings, but crashes on startup due to error in intrinsics test. Disabling that runs further, but crashes accessing freed memory. Switching to the ANSI allocator runs further, but crashes in Slate after the splash screen and before the editor window opens. // TODO!
* Switching between Clang/ICL/VS2015/VS2017 is now supported through the same mechanism as switching Visual Studio versions, without requiring any source level changes. To use Clang, set WindowsPlatform.Compiler = WindowsCompiler.Clang from a .target.cs file, or set <WindowsPlatform><Compiler>Clang</Compiler></WindowsPlatform> from BuildConfiguration.xml. To pick a specific toolchain version, set WindowsPlatform.CompilerVersion.
* Clang is now supported through AutoSDKs; will be added to CIS.
* The Samples/Sandbox/Clang project forces Clang to be used from its target.cs file, and allows easily building all editor modules and plugins with Clang on Windows.
* UnrealMathSSE intrinsics have been re-enabled for Clang due to missing functions from the UnrealMathFPU implementation, but causes failure in tests at startup.
* SSE4_CRC32() is disabled in D3D12Pipelinestate.cpp, since intrinsics are only allowed if enabled for the whole target (rather than being used in specific functions due to runtime checks)
Change 4157389 by Ben.Marsh
Few more fixes for compiling the editor with Clang.
Change 4183911 by Ben.Marsh
Fixes to support incremental linking on Windows. Does not seem to have any net benefit right now; may improve once minimal rebuild is enabled.
* Incremental linking no longer forces PDB files to be enabled for source files.
* Actions can specify specific files to be deleted before each build. Code to forcibly delete PDB files has been moved to the MSVC toolchain.
* Unused libraries produced by the cross-referenced link are no longer added as build products, since (a) deleting them breaks dependency checking for incremental linking and causes a full link, and (b) not deleting them breaks UBT dependency checking and causes actions to be run over and over again.
* Icon update is disabled for Windows when incremental linking is enabled.
* Removed rarely-used setting to always delete produced items before each build.
Change 4184311 by Ben.Marsh
UGS: Added a dialog which shows all the required platform SDKs for a branch, linked from the status panel in UGS.
The llist is configured via the UGS config file submitted to Engine/Programs/UnrealGameSync/UnrealGameSync.ini (and may be overridden by the project config file if necessary):
[Default]
; Set this to a network share which contains the SDK installers for your site
SdkInstallerDir=
; All the required SDKs for the current version of the engine
+SdkInfo=(Category="Android", Description="NDK r21", Browse="$(SdkInstallerDir)\\Android")
+SdkInfo=(Category="Windows", Description="Visual Studio 2017")
+SdkInfo=(Category="Windows", Description="Visual C++ Toolchain 14.13.26128")
+SdkInfo=(Category="Windows", Description="Windows SDK 10.0.16299.0")
Similar entries for console platforms are added in console subdirectories. Each entry may contain an Install="Foo.exe" and/or Browse="C:\Foo" style attribute, specifying the path to an installer to run or directory to open in explorer respectively.
The SdkInstallerDir setting is used as a base directory for the default installers, seen above for Android. Licensees may override this with a network path specific to the site that UGS is being deployed to (either in this file, in a project specific config file, or in a Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini file).
Change 4200452 by Ben.Marsh
UBT: Change DebugGame configurations to output a separate executable rather than requiring a -Debug argument at runtime. Previous behavior was a common source of errors.
Engine modules are still shared between Development and DebugGame, but the launch module sets a flag in Core on startup indicating the game configuration.
Change 4206189 by Ben.Marsh
UBT: Simplify logic for precompiling binaries.
* Target no longer has separate list of "precompile only" binaries or modules. New -AllModules option allows adding every module to a target, which can be used with -Precompile and -NoLink to precompile object files for monolithic builds.
* Precompiled file lists have been removed from target receipts.
* The manifest now includes all generated headers and precompiled files when run with the -Precompile option.
* Separate -DependencyList=Foo.txt has been added to write a list of all dependencies required to use precompiled binaries. This file list can be read using the <Tag> task in buildgraph.
Change 4215466 by Ben.Marsh
UBT: Remove indirect calls to determine extensions for object files and precompiled headers. The toolchain knows the correct convention for the platform.
Change 4215975 by Ben.Marsh
UBT: Remove telemetry code. This has never proved useful for analyzing performance due to the number of incidental factors that affect build times (eg. number of files being compiled).
Change 4220154 by Ben.Marsh
Move text-only implementations of FOutputDeviceError back into Core, so we can build command-line applications that don't depend on ApplicationCore.
Change 4224708 by Ben.Marsh
Add a bCompileAgainstApplicationCore setting to the target rules, which allows compiling out references to the ApplicationCore module (which should only be necessary for applications with a GUI). Removed ApplicationCore from several engine tools and utilities.
Change 4224958 by Ben.Marsh
Remove CoreMinimal.h includes from Core.
Change 4229059 by Ben.Marsh
UBT: Remove the UEBuildPlatform.ShouldNotBuildEditor() hook for target platforms. We shouldn't be modifying a target's build environment to disable the editor; it is invalid to build the editor for these target platforms at all, and this is already enforced by the GetSupportedPlatforms() function.
Change 4230508 by Ben.Marsh
Fixup precompiled header setting for samples and games.
Change 4231457 by Ben.Marsh
Fix exceptions in log messages having trailing newlines.
Change 4232406 by Ben.Marsh
UBT: Always force include a PCH for generated code if there's one set; the code may depend on it to compile.
Change 4234177 by Ben.Marsh
Set up private PCH files everywhere that previously used them.
Change 4235973 by Ben.Marsh
Change FPlatformMisc::GetEnvironmentVariable() to return an FString() rather than requiring a fixed size buffer to be passed in. Removes references to MAX_PATH.
Change 4238842 by Ben.Marsh
Add support for paths longer than MAX_PATH in the editor. Requires Windows 10 version 1607, and the functionality to be enabled via a registry key or group policy (see https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file).
Only a subset of Win32 functions support long paths (executables can only be started from paths shorter than MAX_PATH, for example).
* Added a FPlatformMisc::GetMaxPathLength() function to return the maximum length of a path on the current system. On Windows, this returns a different value for systems with long paths enabled to those without.
* The MAX_PATH define is no longer set by non-Windows platforms. Instead, there is a MAC_MAX_PATH, UNIX_MAX_PATH, etc... for any platform-specific code that still relies on the previous macro.
* The MAX_UNREAL_FILENAME_LENGTH macro has been renamed to MAX_UNREAL_FILENAME_LENGTH_DEPRECATED
* The PLATFORM_MAX_FILEPATH_LENGTH macro has been renamed to PLATFORM_MAX_FILEPATH_LENGTH_DEPRECATED.
* Removed custom resource files for programs, since they are just copies of the base UE4 one (which is used by default anyway). The base UE4 manifest declares support for long paths.
* Fix 512 character maximum length on editor commands.
260 character limit remains in place for cooking at the moment (see ContentBrowserUtils.h), until C# staging code supports long paths.
Change 4255042 by Ben.Marsh
UBT: Remote compilation now uploads the entire workspace to the remote Mac and executes a separate remote instance of UBT rather than synchronizing individual actions. This makes the remote compile codepath much simpler, and removes a lot of special cases that exist to support it previously.
The list of files to be transferred to the remote are listed as rsync filter rules in Engine/Build/Rsync/RsyncEngine.txt and RsyncProject.txt, which are applied to the root engine directory and project directory respectively. Projects that need to customize which files are uploaded can add their own <ProjectDir>/Build/Rsync/RsyncProject.txt file, which will be included in the filter before the default version.
Change 4260567 by Ben.Marsh
UAT: Rename CommandUtils.Log to CommandUtils.LogInformation, to avoid conflicts with the underlying Tools.DotNETCommon.Log class.
#rb none
#ROBOMERGE-OWNER: jason.bestimt
#ROBOMERGE-SOURCE: CL 4285673 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)
[CL 4287799 by jason bestimt in Dev-VR branch]
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3550452 by Ben.Marsh
UAT: Improve readability of error message when an editor commandlet fails with an error code.
Change 3551179 by Ben.Marsh
Add methods for reading text files into an array of strings.
Change 3551260 by Ben.Marsh
Core: Change FFileHelper routines to use enum classes for flags.
Change 3555697 by Gil.Gribb
Fixed a rare crash when the asset registry scanner found old cooked files with package level compression.
#jira UE-47668
Change 3556464 by Ben.Marsh
UGS: If working in a virtual stream, use the name of the first non-virtual ancestor for writing version files.
Change 3557630 by Ben.Marsh
Allow the network version to be set via Build.version if it's not overriden from Version.h.
Change 3561357 by Gil.Gribb
Fixed crashes related to loading old unversioned files in the editor.
#jira UE-47806
Change 3565711 by Graeme.Thornton
PR #3839: Make non-encoding specific Base64 functions accessible (Contributed by stfx)
Change 3565864 by Robert.Manuszewski
Temp fix for a race condition with the async loading thread enabled - caching the linker in case it gets removed (but not deleted) from super class object.
Change 3569022 by Ben.Marsh
PR #3849: Update gitignore (Contributed by mhutch)
Change 3569113 by Ben.Marsh
Fix Japanese errors not displaying correctly in the cook output log.
#jira UE-47746
Change 3569486 by Ben.Marsh
UGS: Always sync the Enterprise folder if the selected .uproject file has the "Enterprise" flag set.
Change 3570483 by Graeme.Thornton
Minor C# cleanups. Removing some redundant "using" calls which also cause dotnetcore compile errors
Change 3570513 by Robert.Manuszewski
Fix for a race condition with async loading thread enabled.
Change 3570664 by Ben.Marsh
UBT: Use P/Invoke to determine number of physical processors on Windows rather than using WMI. Starting up WMIC adds 2.5 seconds to build times, and is not compatible with .NET core.
Change 3570708 by Robert.Manuszewski
Added ENABLE_GC_OBJECT_CHECKS macro to be able to quickly toggle UObject pointer checks in shipping builds when the garbage collector is running.
Change 3571592 by Ben.Marsh
UBT: Allow running with -installed without creating [InstalledPlatforms] entries in BaseEngine.ini. If there is no HasInstalledPlatformInfo=true setting, assume that all platforms are still available.
Change 3572215 by Graeme.Thornton
UBT
- Remove some unnecessary using directives
- Point SN-DBS code at the new Utils.GetPhysicalProcessorCount call, rather than trying to calculate it itself
Change 3572437 by Robert.Manuszewski
Game-specific fix for lazy object pointer issues in one of the test levels. The previous fix had to be partially reverted due to side-effects.
#jira UE-44996
Change 3572480 by Robert.Manuszewski
MaterialInstanceCollections will no longer be added to GC clusters to prevent materials staying around in memory for too long
Change 3573547 by Ben.Marsh
Add support for displaying log timestamps in local time. Set LogTimes=Local in *Engine.ini, or pass -LocalLogTimes on the command line.
Change 3574562 by Robert.Manuszewski
PR #3847: Add GC callbacks for script integrations (Contributed by mhutch)
Change 3575017 by Ben.Marsh
Move some functions related to generating window resolutions out of Core (FParse::Resolution, GenerateConvenientWindowedResolutions). Also remove a few headers from shared PCHs prior to splitting application functionality out of Core.
Change 3575689 by Ben.Marsh
Add a fixed URL for opening the API documentation, so it works correctly in "internal" and "perforce" builds.
Change 3575934 by Steve.Robb
Fix for nested preprocessor definitions.
Change 3575961 by Steve.Robb
Fix for nested zeros.
Change 3576297 by Robert.Manuszewski
Material resources will now be discarded in PostLoad (Game Thread) instead of in Serialize (potentially Async Loading Thread) so that shader deregistration doesn't assert when done from a different thread than the game thread.
#jira FORT-38977
Change 3576366 by Ben.Marsh
Add shim functions to allow redirecting FPlatformMisc::ClipboardCopy()/ClipboardPaste() to FPlatformApplicationMisc::ClipboardCopy()/ClipboardPaste() while they are deprecated.
Change 3578290 by Graeme.Thornton
Changes to Ionic zip library to allow building on dot net core
Change 3578291 by Graeme.Thornton
Ionic zip library binaries built for .NET Core
Change 3578354 by Graeme.Thornton
Added FBase64::GetDecodedDataSize() to determine the size of bytes of a decoded base64 string
Change 3578674 by Robert.Manuszewski
After loading packages flush linker cache on uncooked platforms to free precache memory
Change 3579068 by Steve.Robb
Fix for CLASS_Intrinsic getting stomped.
Fix to EClassFlags so that they are visible in the debugger.
Re-added mysteriously-removed comments.
Change 3579228 by Steve.Robb
BOM removed.
Change 3579297 by Ben.Marsh
Fix exception if a plugin lists the same module twice.
#jira UE-48232
Change 3579898 by Robert.Manuszewski
When creating GC clusters and asserting due to objects still being pending load, the object name and cluster name will now be logged with the assert.
Change 3579983 by Robert.Manuszewski
More fixes for freeing linker cache memory in the editor.
Change 3580012 by Graeme.Thornton
Remove redundant copy of FileReference.cs
Change 3580408 by Ben.Marsh
Validate that arguments passed to the checkf macro are valid sprintf types, and fix up a few places which are currently incorrect.
Change 3582104 by Graeme.Thornton
Added a dynamic compilation path that uses the latest roslyn apis. Currently only used by the .NET Core path.
Change 3582131 by Graeme.Thornton
#define out some PerformanceCounter calls that don't exist in .NET Core. They're only used by mono-specific calls anyway.
Change 3582645 by Ben.Marsh
PR #3879: fix bug when creating a new VS2017 C++ project (Contributed by mnannola)
#jira UE-48192
Change 3583955 by Robert.Manuszewski
Support for EDL cooked packages in the editor
Change 3584035 by Graeme.Thornton
Split RunExternalExecutable into RunExternaNativelExecutable and RunExternalDotNETExecutable. When running under .NET Core, externally launched DotNET utilities must be launched via the 'dotnet' proxy to work correctly.
Change 3584177 by Robert.Manuszewski
Removed unused member variable (FArchiveAsync2::bKeepRestOfFilePrecached)
Change 3584315 by Ben.Marsh
Move Android JNI accessor functions into separate header, to decouple it from the FAndroidApplication class.
Change 3584370 by Ben.Marsh
Move hooks which allow platforms to load any modules into the FPlatformApplicationMisc classes.
Change 3584498 by Ben.Marsh
Move functions for getting and setting the hardware window pointer onto the appropriate platform window classes.
Change 3585003 by Steve.Robb
Fix for TChunkedArray ranged-for iteration.
#jira UE-48297
Change 3585235 by Ben.Marsh
Remove LogEngine extern from Core; use the platform log channels instead.
Change 3585942 by Ben.Marsh
Move MessageBoxExt() implementation into application layer for platforms that require it.
Change 3587071 by Ben.Marsh
Move Linux's UngrabAllInput() function into a callback, so DebugBreak still works without SDL.
Change 3587161 by Ben.Marsh
Remove headers which will be stripped out of the Core module from Core.h and PlatformIncludes.h.
Change 3587579 by Steve.Robb
Fix for Children list not being rebuilt after hot reload.
Change 3587584 by Graeme.Thornton
Logging improvements for pak signature check failures
- Added "PakCorrupt" console command which corrupts the master signature table
- Added some extra log information about which block failed
- Re-hash the master signature table and to make sure that it hasn't changed since startup
- Moved the ensure around so that some extra logging messages can make it out before the ensure is hit
- Added PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL to IPlatformFilePak.h so we have a single place to make signature check failures fatal again
Change 3587586 by Graeme.Thornton
Changes to make UBT build and run on .NET Core
- Added *_DNC csproj files for DotNETUtilities and UnrealBuildTool projects which contain the .NET Core build setups
- VCSharpProjectFile can no be asked for the CsProjectInfo for a particular configuration, which is cached for future use
- After loading VCSharpProjectFiles, .NET Core based projects will be excluded unless generating VSCode projects
Change 3587953 by Steve.Robb
Allow arbitrary UENUM initializers for enumerators.
Editor-only data UENUM support.
Enumerators named MAX are now treated as the UENUM's maximum, and will not cause a MAX+1 value to be generated.
#jira UE-46274
Change 3589827 by Graeme.Thornton
More fixes for VSCode project generation and for UBT running on .NET Core
- Use a different file extension for rules assemblies when build on .NET Core, so they never get used by their counterparts
- UEConsoleTraceListener supports stdout/stderror constructor parameter and outputs to the appropriate channel
- Added documentation for UEConsoleTraceListener
- All platforms .NET project compilation tasks/launch configs now use "dotnet" and not the normal batch files
- Restored the default UBT log verbosity to "Log" rather than "VeryVeryVerbose"
- Renamed assemblies for .NETCore versions of DotNETUtilities and UnrealBuildTool so they don't conflict with the output of the existing .NET Desktop Framework stuff
Change 3589868 by Graeme.Thornton
Separate .NET Core projects for UBT and DotNETCommon out into their own directories so that their intermediates don't overlap with the standard .NET builds, causing failures.
UBT registers ONLY .NET Core C# projects when generating VSCode solutions, and ONLY standard C# projects in all other cases
Change 3589919 by Robert.Manuszewski
Fixing crash when cooking textures that have already been cooked for EDL (support for cooked content in the editor)
Change 3589940 by Graeme.Thornton
Force UBT to think it's running on mono when actually running on .NET Core. Disables a lot of windows specific code paths.
Change 3590078 by Graeme.Thornton
Fully disable automatic assembly info generation in .NET Core projects
Change 3590534 by Robert.Manuszewski
Marking UObject as intrinsic clas to fix a crash on UFE startup.
Change 3591498 by Gil.Gribb
UE4 - Fixed several edge cases in the low level async loading code, especially around cancellation. Also PakFileTest is a console command which can be used to stress test pak file loading.
Change 3591605 by Gil.Gribb
UE4 - Follow up to fixing several edge cases in the low level async loading code.
Change 3592577 by Graeme.Thornton
.NET Core C# projects now reference source files explicitly, to stop it accidentally compiling various intermediates
Change 3592684 by Steve.Robb
Fix for EObjectFlags being passed as the wrong argument to csgCopyBrush.
Change 3592710 by Steve.Robb
Fix for invalid casts in ListProps command.
Some name changes in command output.
Change 3592715 by Ben.Marsh
Move Windows event log code into cpp file, and expose it to other modules even if it's not enabled by default.
Change 3592767 by Gil.Gribb
UE4 - Changed the logic so that engine UObjects boot before anything else. The engine classes are known to be cycle-free, so we will get them done before moving onto game modules.
Change 3592770 by Gil.Gribb
UE4 - Fixed a race condition with async read completion in the prescence of cancels.
Change 3593090 by Steve.Robb
Better error message when there two clashing type names are found.
Change 3593697 by Steve.Robb
VisitTupleElements function, which calls a functor for each element in the tuple.
Change 3595206 by Ben.Marsh
Include additional diagnostics for missing imports when a module load fails.
Change 3596140 by Graeme.Thornton
Batch file for running MSBuild
Change 3596267 by Steve.Robb
Thread safety fix to FPaths::GetProjectFilePath().
Change 3596271 by Robert.Manuszewski
Added code to verify compression flags in package file summary to avoid cases where corrupt packages are crashing the editor
#jira UE-47535
Change 3596283 by Steve.Robb
Redundant casts removed from UHT.
Change 3596303 by Ben.Marsh
EC: Improve parsing of Android Clang errors and warnings, which are formatted as MSVC diagnostics to allow go-to-line clicking in the Output Window.
Change 3596337 by Ben.Marsh
UBT: Format messages about incorrect headers in a way that makes them clickable from Visual Studio.
Change 3596367 by Steve.Robb
Iterator checks in ranged-for on TMap, TSet and TSparseArray.
Change 3596410 by Gil.Gribb
UE4 - Improved some error messages on runtime failures in the EDL.
Change 3596532 by Ben.Marsh
UnrealVS: Fix setting command line to empty not affecting property sheet. Also remove support for VS2013.
#jira UE-48119
Change 3596631 by Steve.Robb
Tool which takes a .map file and a .objmap file (from UBT) and creates a report which shows the size of all the symbols contributed by the source code per-folder.
Change 3596807 by Ben.Marsh
Improve Intellisense when generated headers are missing or out of date (eg. line numbers changed, etc...). These errors seem to be masked by VAX, but are present when using the default Visual Studio Intellisense.
* UCLASS macro is defined to empty when __INTELLISENSE__ is defined. Previous macro was preventing any following class declaration being parsed correctly if generated code was out of date, causing squiggles over all class methods/variables.
* Insert a semicolon after each expanded GENERATED_BODY macro, so that if it parses incorrectly, the compiler can still continue parsing the next declaration.
Change 3596957 by Steve.Robb
UBT can be used to write out an .objsrcmap file for use with the MapFileParser.
Renaming of ObjMap to ObjSrcMap in MapFileParser.
Change 3597213 by Ben.Marsh
Remove AutoReporter. We don't support this any more.
Change 3597558 by Ben.Marsh
UGS: Allow adding custom actions to the context menu for right clicking on a changelist. Actions are specified in the project's UnrealEngine.ini file, with the following syntax:
+ContextMenu=(Label="This is the menu item", Execute="foo.exe", Arguments="bar")
The standard set of variables for custom tools is expanded in each parameter (eg. $(ProjectDir), $(EditorConfig), etc...), plus the $(Change) variable.
Change 3597982 by Ben.Marsh
Add an option to allow overriding the local DDC path from the editor (under Editor Preferences > Global > Local Derived Data Cache).
#jira UE-47173
Change 3598045 by Ben.Marsh
UGS: Add variables for stream and client name, and the ability to escape any variables for URIs using the syntax $(VariableName:URI).
Change 3599214 by Ben.Marsh
Avoid string duplication when comparing extensions.
Change 3600038 by Steve.Robb
Fix for maps being modified during iteration in cache compaction.
Change 3600136 by Steve.Robb
GitHub #3538 : Fixed a bug with the handling of 'TMap' key/value types in the UnrealHeaderTool
Change 3600214 by Steve.Robb
More accurate error message when unsupported template parameters are provided in a TSet property.
Change 3600232 by Ben.Marsh
UBT: Force UHT to run again if the .build.cs file for a module has changed.
#jira UE-46119
Change 3600246 by Steve.Robb
GitHub #3045 : allow multiple interface definition in a file
Change 3600645 by Ben.Marsh
Convert QAGame to Include-What-You-Use.
Change 3600897 by Ben.Marsh
Fix invalid path (multiple slashes) in LibCurl.build.cs. Causes exception when scanning for includes.
Change 3601558 by Graeme.Thornton
Simple first pass VSCode editor integration plugin
Change 3601658 by Graeme.Thornton
Enable intellisense generation for VS Code project files and setup include paths properly
Change 3601762 by Ben.Marsh
UBT: Add support for adaptive non-unity builds when working from a Git repository.
The ISourceFileWorkingSet interface is now used to query files belonging to the working set, and has separate implementations for Perforce (PerforceSourceFileWorkingSet) and Git (GitSourceFileWorkingSet). The Git implementation is used if a .git directory is found in the directory containing the Engine folder, the directory containing the project file, or the parent directory of the project file, and spawns a "git status" process in the background to determine which files are untracked or staged.
Several new settings are supported in BuildConfiguration.xml to allow modifying default behavior:
<SourceFileWorkingSet>
<Provider>Default</Provider> <!-- May be None, Default, Git or Perforce -->
<RepositoryPath></RepositoryPath> <!-- Specifies the path to the repository, relative to the directory containing the Engine folder. If not set, tries to find a .git directory in the locations listed above. -->
<GitPath>git</GitPath> <!-- Specifies the path to the Git executable. Defaults to "git", which assumes that it will be on the PATH -->
</SourceFileWorkingSet>
Change 3604032 by Graeme.Thornton
First attempt at automatically detecting the existance and location of visual studio code in the source code accessor module. Only works for windows.
Change 3604038 by Graeme.Thornton
Added FSourceCodeNavigation::GetSelectedSourceCodeIDE() which returns the name of the selected source code accessor.
Replaced all usages of FSourceCodeNavigation::GetSuggestedSourceCodeIDE() with GetSelectedSourceCodeIDE(), where the message is referring to the opening or editing of code.
Change 3604106 by Steve.Robb
GitHub #3561 : UE-44950: Don't see all caps struct constructor as macro
Change 3604192 by Steve.Robb
GitHub #3911 : Improving ToUpper/ToLower efficiency
Change 3604273 by Graeme.Thornton
IWYU build fixes when malloc profiler is enabled
Change 3605457 by Ben.Marsh
Fix race for intiialization of ThreadID variable on FRunnableThreadWin, and restore a previous check that was working around it.
Change 3606720 by James.Hopkin
Dave Ratti's fix to character base recursion protection code - was missing a GetOwner call, instead attempting to cast a component to a pawn.
Change 3606807 by Graeme.Thornton
Disabled optimizations around FShooterStyle::Create(), which was crashing in Win64 shipping game builds due to some known compiler issue. Same variety of fix as BenZ did in CL 3567741.
Change 3607026 by James.Hopkin
Fixed incorrect ABrush cast - was attempting to cast a UModel to ABrush, which can never succeed
Change 3607142 by Graeme.Thornton
UBT - Minor refactor of BackgroundProcess shutdown in SourceFileWorkingSet. Check whether the process has already exited before trying to kill it during Dispose.
Change 3607146 by Ben.Marsh
UGS: Fix exception due to formatting string when Perforce throws an error.
Change 3607147 by Steve.Robb
Efficiency fix for integer properties, which were causing a property mismatch and thus a tag lookup every time.
Float and double conversion support added to int properties.
NAME_DoubleProperty added.
Fix for converting enum class enumerators > 255 to int properties.
Change 3607516 by Ben.Marsh
PR #3935: Fix DECLARE_DELEGATE_NineParams, DECLARE_MULTICAST_DELEGATE_NineParams. (Contributed by enginevividgames)
Change 3610421 by Ben.Marsh
UAT: Move help for RebuildLightMapsCommand into attributes, so they display when running with -help.
Change 3610657 by Ben.Marsh
UAT: Unify initialization of command environment for build machines and local execution. Always derive parameters which aren't manually set via environment variables.
Change 3611000 by Ben.Marsh
UAT: Remove the -ForceLocal command line option. Settings are now determined automatically, independently of the -Buildmachine argument.
Change 3612471 by Ben.Marsh
UBT: Move FastJSON into DotNETUtilities.
Change 3613479 by Ben.Marsh
UBT: Remove the bIsCodeProject flag from UProjectInfo. This was only really being used to determine which projects to generate an IDE project for, so it is now checked in the project file generator.
Change 3613910 by Ben.Marsh
UBT: Remove unnecessary code to guess a project from the target name; doesn't work due to init order, actual project is determined later.
Change 3614075 by Ben.Marsh
UBT: Remove hacks for testing project file attributes by name.
Change 3614090 by Ben.Marsh
UBT: Remove global lookup of project by name. Projects should be explicitly specified by path when necessary.
Change 3614488 by Ben.Marsh
UBT: Prevent annoying (but handled) exception when constructing SQLiteModuleSupport objects with -precompile enabled.
Change 3614490 by Ben.Marsh
UBT: Simplify generation of arguments for building intellisense; determine the platform/configuration to build from the project file generation code, rather than inside the target itself.
Change 3614962 by Ben.Marsh
UBT: Move the VS2017 strict conformance mode (/permissive-) behind a command line option (-Strict), and disable it by default. Building with this mode is not guaranteed to work correctly without updated Windows headers.
Change 3615416 by Ben.Marsh
EC: Include an icon showing the overall status of a build in the grid view.
Change 3615713 by Ben.Marsh
UBT: Delete any files in output directories which match output files in other directories. Allows automatically deleting build products which are moved into another folder.
#jira UE-48987
Change 3616652 by Ben.Marsh
Plugins: Fix incorrect dialog when binaries for a plugin are missing. Should only prompt to disable if starting a content-only project.
#jira UE-49007
Change 3616680 by Ben.Marsh
Add the CodeAPI-HTML.tgz file into the installed engine build.
Change 3616767 by Ben.Marsh
Plugins: Tweak error message if the FModuleManager::IsUpToDate() function returns false for a plugin module; the module may be missing, not just incompatible.
Change 3616864 by Ben.Marsh
Cap the length of the temporary package name during save, to prevent excessively long filenames going over the limit once a GUID is appended.
#jira UE-48711
Change 3619964 by Ben.Marsh
UnrealVS: Fix single file compile for foreign projects, where the command line contains $(SolutionDir) and $(ProjectName) variables.
Change 3548930 by Ben.Marsh
UBT: Remove UEBuildModuleCSDLL; there is no codepath that still supports creating them. Remove the remaining UEBuildModule/UEBuildModuleCPP abstraction.
Change 3558056 by Ben.Marsh
Deprecate FString::Trim() and FString::TrimTrailing(), and replace them with separate versions to mutate (TrimStartInline(), TrimEndInline()) or return by copy (TrimStart(), TrimEnd()). Also add a functions to trim whitespace from both ends of a string (TrimStartAndEnd(), TrimStartAndEndInline()).
Change 3563309 by Graeme.Thornton
Moved some common C# classes into the DotNETCommon assembly
Change 3570283 by Graeme.Thornton
Move some code out of RPCUtility and into DotNETCommon, removing the dependency between the two projects
Added UEConsoleTraceListener to replace ConsoleTraceListener, which doesn't exist in DotNetCore
Change 3572811 by Ben.Marsh
UBT: Add -enableasan / -enabletsan command line options and bEnableAddressSanitizer / bEnableThreadSanitizer settings in BuildConfiguration.xml (and remove environment variables).
Change 3573397 by Ben.Marsh
UBT: Create a <ExeName>.version file for every target built by UBT, in the same JSON format as Engine/Build/Build.version. This allows monolithic targets to read a version number at runtime, unlike when it's embedded in a modules file, and allows creating versioned client executables that will work with versioned servers when syncing through UGS.
Change 3575659 by Ben.Marsh
Remove CHM API documentation.
Change 3582103 by Graeme.Thornton
Simple ResX writer implemetation that the xbox deloyment code can use instead of the one from the windows forms assembly, which isn't supported on .NET Core
Removed reference to System.Windows.Form from UBT.
Change 3584113 by Ben.Marsh
Move key-mapping functionality into the InputCore module.
Change 3584278 by Ben.Marsh
Move FPlatformMisc::RequestMinimize() into FPlatformApplicationMisc.
Change 3584453 by Ben.Marsh
Move functionality for querying device display density to FApplicationMisc, due to dependence on application-level functionality on mobile platforms.
Change 3585301 by Ben.Marsh
Move PlatformPostInit() into an FPlatformApplicationMisc function.
Change 3587050 by Ben.Marsh
Move IsThisApplicationForeground() into FPlatformApplicationMisc.
Change 3587059 by Ben.Marsh
Move RequiresVirtualKeyboard() into FPlatformApplicationMisc.
Change 3587119 by Ben.Marsh
Move GetAbsoluteLogFilename() into FPlatformMisc.
Change 3587800 by Steve.Robb
Fixes to container visualizers for types whose pointer type isn't simply Type*.
Change 3588393 by Ben.Marsh
Move platform output devices into their own headers.
Change 3588868 by Ben.Marsh
Move creation of console, error and warning output devices int PlatformApplicationMisc.
Change 3589879 by Graeme.Thornton
All automation projects now have a reference to DotNETUtilities
Fixed a build error in the WEX automation library
Change 3590034 by Ben.Marsh
Move functionality related to windowing and input out of the Core module and into an ApplicationCore module, so it is possible to build utilities with Core without adding dependencies on XInput (Windows), SDL (Linux), and OpenGL (Mac).
Change 3593754 by Steve.Robb
Fix for tuple debugger visualization.
Change 3597208 by Ben.Marsh
Move CrashReporter out of a public folder; it's not in a form that is usable by subscribers and licensees.
Change 3600163 by Ben.Marsh
UBT: Simplify how targets are cleaned. Delete all intermediate folders for a platform/configuration, and delete any build products matching the UE4 naming convention for that target, rather than relying on the current build configuration or list of previous build products. This will ensure that build products which are no longer being generated will also be cleaned.
#jira UE-46725
Change 3604279 by Graeme.Thornton
Move pre/post garbage collection delegates into accessor functions so they can be used by globally constructed objects
Change 3606685 by James.Hopkin
Removed redundant 'Cast's (casting to either the same type or a base).
In SClassViewer, replaced cast with TAssetPtr::operator* call to get the wrapped UClass.
Also removed redundant 'IsA's from AnimationRetargetContent::AddRemappedAsset in EditorAnimUtils.cpp.
Change 3610950 by Ben.Marsh
UAT: Simplify logic for detecting Perforce settings, using environment variables if they are set, otherwise falling back to detecting them. Removes special cases for build machines, and makes it simpler to set up UAT commands on builders outside Epic.
Change 3610991 by Ben.Marsh
UAT: Use the correct P4 settings to detect settings if only some parameters are specified on the command line.
Change 3612342 by Ben.Marsh
UBT: Change JsonObject.Read() to take a FileReference parameter.
Change 3612362 by Ben.Marsh
UBT: Remove some more cases of paths being passed as strings rather than using FileReference objects.
Change 3619128 by Ben.Marsh
Include builder warnings and errors in the notification emails for automated tests, otherwise it's difficult to track down non-test failures.
[CL 3620189 by Ben Marsh 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
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3079316 on 2016/08/05 by Ben.Marsh
Better PCH selection in ShaderFormatOpenGL and MetalShaderFormat - make sure Core is the first included header.
Change 3080579 on 2016/08/08 by Ben.Marsh
Slate: Move DEBUG_TAB_MANAGEMENT into SDockingTabStack.h to remove circular include dependency with DockingPrivate.h.
Change 3080587 on 2016/08/08 by Ben.Marsh
StandaloneRenderer: Move platform includes into a separate header so we can make individual headers self-contained, without having a circular dependency on StandaloneRendererPrivate.h.
Change 3080789 on 2016/08/08 by Ben.Marsh
Move BuildGraph tasks for chunking, posting builds, labeling builds, and merging manifests into the MCP project. While we do provide public interfaces for this functionality, we don't currently expect anyone outside Epic to be using them.
Change 3080815 on 2016/08/08 by Ben.Marsh
BuildGraph: Add a -GenerateDocs option, which writes out an HTML file constructed from C# XML documentation containing all the task information.
Change 3081374 on 2016/08/08 by Ben.Marsh
UBT: Invalidate the makefile if any UHT headers are deleted. Should fix issue where files are moved from one module to another, and the original module no longer contains any generated headers. Its include path needs to be removed from the compile environment.
Change 3083152 on 2016/08/09 by Ben.Marsh
PR #2667: Add Intel C++ Compiler support to Windows build (Contributed by JeffRous)
Change 3084039 on 2016/08/10 by Ben.Marsh
BuildGraph: Add additional markup for parameter attributes. Also improve some documation.
Change 3084240 on 2016/08/10 by Ben.Marsh
Plugins: Allow plugins in the project folder to replace plugins in the engine folder with the same name. Prohibit multiple plugins with the same name at other times.
Change 3084337 on 2016/08/10 by Ben.Marsh
UBT: Specify the -precompile option when generating project files for a target, so we include all valid modules for intellisense.
Change 3085594 on 2016/08/11 by Ben.Marsh
Change modules which reference a public header for their PCH to use a private PCH instead, even if it just includes the public header for now.
Change 3085999 on 2016/08/11 by Ben.Marsh
Add some missing #pragma once directives.
Change 3086146 on 2016/08/11 by Ben.Marsh
Core: Move prototype and linkage specifier for ConsoleCommandLibrary_* functions into header matching cpp file.
Change 3086172 on 2016/08/11 by Ben.Marsh
Fixup some C-style header guards to use #pragma once instead.
Change 3087289 on 2016/08/12 by Ben.Marsh
Split out UPackage and UMetaData into their own headers (they're already implemented in separate CPP files)
Change 3087310 on 2016/08/12 by Ben.Marsh
Move method stubs for FNullSlateSoundDevice into a CPP file, since they're exported from the SlateCore module.
Change 3087341 on 2016/08/12 by Ben.Marsh
UdpMessaging: Move PCH before #if PLATFORM_DESKTOP; it will only be defined if the definition is included.
Change 3087457 on 2016/08/12 by Ben.Marsh
Core: Reorganize the FTransform and FMatrix headers: Transform.h now includes TransformNonVectorized.h or TransformVectorized.h as appropriate, and UnrealMatrix.h is now Matrix.inl (and included from Matrix.h).
Change 3088407 on 2016/08/13 by Ben.Marsh
Replace use of Windows SIZE_T define with the regular C++ size_t.
Change 3088416 on 2016/08/13 by Ben.Marsh
Include a header from all .generated.cpp files (GeneratedCppIncludes.h) which includes all the basic types required to compile them, rather than assuming that the module PCH will include everything.
Also include the real declarations of noexport classes in Object.h (now renamed to NoExportTypes.h for clarity) when the CPP macro is defined, so the .generated.deps.h file will automatically have the correct definitions for them at compile time rather than relying on them being in the private PCH.
Finally, rename UObject.h to Object.h for consistency with the naming convention for all other UObject classes. UObject.h still exists for now, but outputs a deprecated message if included.
Change 3088544 on 2016/08/14 by Ben.Marsh
Core: Move the definition of the TEXT() macro into Platform.h, to avoid having to include OS headers to get it.
Change 3088552 on 2016/08/14 by Ben.Marsh
Fix compile errors for some modules that don't already include CoreUObject.h.
Change 3088925 on 2016/08/15 by Ben.Marsh
Remove circular include dependencies from VulkanRHI.
Change 3088926 on 2016/08/15 by Ben.Marsh
Remove duplicate definition for WITH_FIXED_AREA_ENTERING_COST from EngineDefines.h - always uses the definition from DetourNavMeshQuery.h instead.
Change 3088930 on 2016/08/15 by Ben.Marsh
Remove circular include dependency from PhysX.
Change 3088935 on 2016/08/15 by Ben.Marsh
OnlineSubsystemUtils: Move CPP files out of public header directory.
Change 3088965 on 2016/08/15 by Ben.Marsh
Add private PCH to Landscape, MoviePlayer, TaskGraph, XAudio2 and RealtimeProfiler modules.
Change 3088966 on 2016/08/15 by Ben.Marsh
Engine: Move CPP files out of public header directories.
Change 3089520 on 2016/08/15 by Ben.Marsh
BuildGraph: Change documentation command to output markdown.
Change 3090299 on 2016/08/16 by Ben.Marsh
D3D12RHI: Move around some implementations to fix circular header dependencies which are masked by delayed template instantiation.
Change 3090303 on 2016/08/16 by Ben.Marsh
Engine: Add a template specialization for TPointerIsConvertibleFromTo<AActor, const volatile UObject> to fix dependency on complete AActor definition for static assert in TWeakPointer<AActor>, which only appears if including Level.h without Actor.h. Delayed template instantiation usually masks this issue.
Change 3091861 on 2016/08/17 by Ben.Marsh
Remove circular header dependencies, and fix ambiguous include paths in OSVR.
Change 3092068 on 2016/08/17 by Ben.Marsh
Moving VulkanDynamicRHI into its own header.
Change 3093133 on 2016/08/18 by Ben.Marsh
EC: Include additional context lines for Clang errors.
Change 3093147 on 2016/08/18 by Ben.Marsh
UBT: Add an error message when attempting to do a single-file compile with the wrong target selected.
Change 3093228 on 2016/08/18 by Ben.Marsh
Remove redundant setting for remote server name from XML config, and set it to a valid machine in the engine config.
[CL 3093264 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3021930 on 2016/06/21 by Ben.Marsh
BuildGraph: Better diagnostic message if the source directory for copies does not exist.
Change 3022391 on 2016/06/21 by Ben.Marsh
Rework copy task slightly so that all code paths result in files being tagged.
Change 3026592 on 2016/06/24 by Ben.Marsh
BuildGraph: Add a ForEach element, which will assign a local property to each of a semicolon separated list of values, and expand the elements within it. Added an example in Properties.xml.
Change 3028708 on 2016/06/27 by Matthew.Griffin
Converting Engine build process to BuildGraph script
Added Tag Receipts task to retrieve list of build products/dependencies from *.target files.
Changed Pak File task so that you can specify an existing response file, rather than creating one from the file list.
Changed base task so that you can resolve filespec from a list of file patterns if you already have them separated, which was the case with wildcards in runtime dependencies.
Added EngineMajorVersion, EngineMinorVersion and EnginePatchVersion as default properties available to BuildGraph
Added FinalizeInstalledBuild command to write out InstalledBuild.txt file and config entries for installed platforms
Included .exe.config and exe.mdb files to build products of CsCompile task if they exist
Added TagReferences option to CsCompile so that you can get any external references projects have that need to be included when staging
Added RunOptions parameter to SpawnTask, so that you can specify these for the exe you want to run
Added missing Runtime Dependency for ICU on Mac
Change 3030209 on 2016/06/28 by Matthew.Griffin
Renamed EngineBuild.xml to InstalledEngineBuild.xml to make its purpose more clear.
Removed reference to xcodeunlock.sh from Mac Installed build dependencies as the file itself has been deleted.
Added myself to list of notifiers for failures in the UE4 Binary build.
Change 3034068 on 2016/06/30 by Ben.Marsh
BuildGraph: Change scoping rules for properties. Local properties can no longer shadow global properties with the same name (or vice versa), and local properties are always modified in the scope that they were first declared, rather than being re-declared in a narrower scope.
Change 3034070 on 2016/06/30 by Ben.Marsh
BuildGraph: Warn when referencing a property which is not defined, and add new attributes to the <Property> element to set the default value for a property if it's not already set, and validating that it's one of a list of valid values if it is (eg. <Property Name="WithWin64" Restrict="true;false" Default="false"/>).
Change 3034110 on 2016/06/30 by Matthew.Griffin
Updated Installed Build so that properties are consistently named Exceptions and that the right versions are used
Added Filter and Exception properties for each target platform to add any files that can't be figured out via dependencies
Added Default values for various properties used across Engine build scripts - IsReleaseBranch, IsPreflight, OutputDir, BuildLabel, WithWin64 etc.
Tagged Generated Includes from each target so that they can be included in Installed Build
Added additional Android architectures to Shipping build
Changed SwarmCoordinator to build for Any CPU
Removed Local HostPlatform property from DDC nodes
Changed Installed Build target platforms to use Do blocks so that we only have to check With... property once
Reordered stripping and signing process so that we use the Exception check in less places
Change 3035499 on 2016/07/01 by Ben.Marsh
BuildGraph: Remove the <Local> element, and just make all <Property> declarations scoped. Also add an error if a property is later declared in a parent scope, since the earlier assignment won't be visible to the later one.
Change 3035520 on 2016/07/01 by Ben.Marsh
BuildGraph: Add support for <, <=, >, >= operators in condition expressions.
Change 3035666 on 2016/07/01 by Matthew.Griffin
Added more parameters to Chunk and Label Build tasks
Updated all remaining uses of Local to Property in Installed Build script
Made sure Feature Packs use paths compatible with Mac and also changed the node to use a ForEach element
Change 3037020 on 2016/07/04 by Matthew.Griffin
Ensured that TempStorageFileList uses forward slashes as its path separators so that it's easily used on Mac and Windows
Was causing the results of the Make Feature Packs node to be tagged using Windows style paths, meaning they would throw an error if you tried to copy them on Mac
Change 3037052 on 2016/07/04 by Ben.Marsh
Move FJsonValue::ErrorMessage into cpp file, since it depends on the log class defined in Json.h (which includes it).
Change 3037283 on 2016/07/05 by Matthew.Griffin
Removed EnterScope and LeaveScope from ReadGraphBody so that included files are treated as being in the same scope (allows use of properties across files)
Change 3037547 on 2016/07/05 by Ben.Marsh
UAT: Allow CommandUtils.Run() to check directories listed in the PATH environment variable for the executable before failing.
Change 3037552 on 2016/07/05 by Ben.Marsh
BuildGraph: Add an <Unzip> task, which extracts a zip file to an output directory.
Change 3039109 on 2016/07/06 by Matthew.Griffin
Moved tagging of UAT build products to the Installed Build step as it's the only thing that needs them
Moved Strip and Sign filters to the filters file, made sure they're used for all operations and added stripping back to UE4Editor nodes
Changed BuildPatchTool to be built in shipping mode
Changed all C# projects to be compiled for AnyCPU as they ended up in different output folders otherwise
Added all files referenced by C# projects to avoid having to filter them manually
Changed filters to get files included for Linux closer to the old pattern
Changed Build DDC command to ignore empty entries in FeaturePacks list, don't want to fail the process if a list begins with a ;
Changed UE4Game to use shipping PhysX libs for Shipping builds
Added glut32.dll as a Runtime Dependency for PhysX
Added libsteam_api.so as a Runtime Dependency for Steamworks on Linux
Change 3039676 on 2016/07/06 by Ben.Marsh
Core: Move definitions for FORCEINLINE'd FMath functions into UnrealMathUtility. Prevents link errors if including one without the other.
Change 3039681 on 2016/07/06 by Ben.Marsh
Core: Move implementation of GetTypeHash(FTimespan) into CPP file, to remove implicit dependency on the inline implementation of GetTypeHash(int64) being included.
Change 3039735 on 2016/07/06 by Ben.Marsh
Core: Move USE_DELEGATE_TRYGETBOUNDFUNCTIONNAME into a separate header, so delegate headers can be included separately.
Change 3039878 on 2016/07/06 by Ben.Marsh
Core: Move FOperatorFunctionID out of TOperatorJumpTable to allow MSVC to compile it and catch errors before the template is instantiated.
Change 3040156 on 2016/07/06 by Ben.Marsh
Core: Move FDateTime::GetTypeHash() into cpp file to eliminate dependency on TypeHash.h being included before it.
Change 3041009 on 2016/07/07 by Matthew.Griffin
Changed UE4Game to only use shipping PhysX libraries on Windows
Change 3041015 on 2016/07/07 by Leigh.Swift
UBT: Support creating C# programs that will be included in the UE4.sln Programs list.
To have your program listed, remove the sln file that may have been created for you, and add a file named "UE4CSharp.prog" next to your csproj file.
Change 3041234 on 2016/07/07 by Matthew.Griffin
Added building of Launcher Samples to BuildGraph system
Added Command to Build Sample projects, which distills to temp directory, builds DDC if needed and then chunks/posts to MCP
Change 3041244 on 2016/07/07 by Ben.Marsh
Core: Change PlatformIncludes.h to include all the individual PlatformMemory.h, PlatformTime.h, etc... headers rather than including separate per-platform headers which include them all. Makes it much easier to optimize header file usage, and eliminates redundant typedefs in the individual Platform*.h files. Also fixes some headers that previously didn't compile.
Change 3042518 on 2016/07/08 by Matthew.Griffin
Added content modifiers to those notified about Sample failures
Throw exception if RocketPromoteBuild tries to promote all samples
Throw exceptions for missing parameters in BuildLauncherSample command, corrected EngineDir parameter name.
Change 3042545 on 2016/07/08 by Ben.Marsh
Core: Push/Pop defines for MAX_uint8, MAX_uint16, MAX_uint32, MAX_int32 around Windows.h includes, so we don't need to be careful about the order in which we include NumericLimits.h.
Change 3042546 on 2016/07/08 by Ben.Marsh
Core: Put standard CRT includes into their own header, so we can include it without taking all of PlatformIncludes.h (and make any platform-specific additions as needed)
Change 3042548 on 2016/07/08 by Ben.Marsh
Core: Include PlatformCompilerSetup headers from Platform.h, as well as all the defaults for non-platform overriden defines. Allows including Platform.h to get all the basic types, defines and compile environment set up without having to include a large number of system headers or unnecessary functionality.
Change 3044424 on 2016/07/11 by Ben.Marsh
Merge fixes for QFE installer (CL 3044412) from 4.11 branch.
Change 3044584 on 2016/07/11 by Ben.Marsh
Core: Move FMath::FormatIntToHumanReadable() to UnrealMath.cpp, since it's a very large/expensive function to try to inline (and introduce a FString dependency for)
Change 3044603 on 2016/07/11 by Matthew.Griffin
Added PS4 and XboxOne to installed build as options that will always be disabled by default
Standardised some of the agent names
Removed logging from the Installed Build nodes as it takes a huge amount of time to write out the list for little reward
Change 3044608 on 2016/07/11 by Ben.Marsh
Core: Split out definition of SIMD VectorRegister class into its own header, so it's not forcibly included with UnrealMathUtility.
Change 3044638 on 2016/07/11 by Matthew.Griffin
Added internal build jobs for all games with compile, cook and package nodes.
Added Documentation, Localization and NonUnity steps.
Change 3045959 on 2016/07/12 by Matthew.Griffin
Removed Aggregates from Installed Build script as they weren't used/necessary.
Change 3045961 on 2016/07/12 by Matthew.Griffin
Fixed various issues with Full Build
Switch to build non-client/server configurations for some games
Included PS4 and Xbox game targets in our internal monolithics aggregate
Added Requirements for steps that need UHT, SCW etc.
Added list of Packaged Game Nodes that we can build up as they're defined
Added targets that were previously in the Internal Tools nodes
Changed APIDocTool to build Release as that's what the solution uses and made use of the path created for it
Removed -clean from the NonUnity targets as that doesn't actually build anything
Changed mail notifications so that individual nodes are used for content modifiers, not every preceeding node too
Change 3047068 on 2016/07/12 by Ben.Marsh
BuildGraph: Reduce the amount of log output when compiling a C# project; use /verbosity:minimal and /nolog, as Visual Studio does.
Change 3047298 on 2016/07/12 by Ben.Marsh
EC: Add a workspace setting specifying that it should be synced incrementally.
Change 3047626 on 2016/07/13 by Matthew.Griffin
Added PackageToNetwork property, which will default to false, which determines whether to put staged builds on the P: drive or within the LocalBuilds folder of the root dir
Also changed WorldExplorers to use P:/Builds/Friday instead of WEX, as no one is now clearing up the WEX folder regularly
Change 3047762 on 2016/07/13 by Matthew.Griffin
Added -nodebuginfo to all compile tasks with -precompile to reduce the size of libs produced
Added plugin intermediates to list of files excluded from installed build
[CL 3047809 by Ben Marsh in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2986511 on 2016/05/23 by Ben.Marsh
UdpMessaging: Force references to symbols in the files containing UDP automated tests. Since plugins are compiled into static libraries before being linked into the executable, the linker will exclude any object files which don't have any referenced symbols. In non-unity builds, or adaptive unity builds with modified test files, this results in the tests not being linked in.
Change 2993274 on 2016/05/27 by Ben.Marsh
Fix UGS enumerating deleted .target.cs files when trying to detect editor target name.
Change 2994265 on 2016/05/31 by Ben.Marsh
Add info about setting up CIS integration and zipped editor builds in UGS.
Change 2994275 on 2016/05/31 by Ben.Marsh
PR #2443: [Unreal Game Sync] Added -project so shortcut or script can hint at the project file to open. (Contributed by paulevans)
Change 2994287 on 2016/05/31 by Ben.Marsh
UnrealGameSync: Add information about how UGS self-patches and updates.
Change 2996928 on 2016/06/01 by Ben.Marsh
UnrealGameSync: Fix trying to sync files which are open for branch or move/add. They don't exist on the server yet.
Change 2997619 on 2016/06/02 by Ben.Marsh
UAT: Fix PRX files not being remapped on PS4. All non-UFS should be allowed to be remapped, and UFS files can be if we're not using a PAK file.
Change 2999769 on 2016/06/03 by Ben.Marsh
UBT: Fix codepaths which assume that the current user account has a personal folder. The SYSTEM account (which Jenkins defaults to using) does not.
Change 3004879 on 2016/06/07 by Ben.Marsh
Remove copy of AWSSDK in NotForLicensees folder.
Change 3004902 on 2016/06/07 by Ben.Marsh
UAT: Switch MCP to use version of AWSSDK that's not in a NotForLicensees folder.
Change 3005892 on 2016/06/08 by Ben.Marsh
Add the GitHub promotion to the UE4 binary release build.
Change 3016241 on 2016/06/16 by Ben.Marsh
UGS: Always sync version files at the same changelist as everything else (rather than head revision)
Change 3016446 on 2016/06/16 by Ben.Marsh
PR #2279: Use MSBuild instead of DevEnv for solution builds (Contributed by FineRedMist)
Change 3016472 on 2016/06/16 by Ben.Marsh
PR #2442: pointing to the pull requests page of the repo (Contributed by KrishMunot)
Change 3017694 on 2016/06/17 by Ben.Marsh
EC: Produce an error if trying to sync back to a changelist more than 30 days before the most recent change. Meant to catch errors in entered CL fields from the dashboard. Can be overridden by specifying --allow-old-change in the build arguments.
Change 3017695 on 2016/06/17 by Ben.Marsh
UBT: Use a well defined order for parsing configuration files, rather than ignoring one file if another has a newer timestamp. Prevents confusing behavior where settings can be present, but are completely ignored. Now prioritizes the BuildConfiguration.xml file in the My Documents/Unreal Engine/UnrealBuildTool, followed by the one in AppData/Roaming/Unreal Engine/UnrealBuildTool. Both are added to the Config section of the solution if present, under different folders.
#jira UE-24271
Change 3017698 on 2016/06/17 by Ben.Marsh
Rename the <MsBuild> task to <CsCompile>, highlighting the fact that it only actually works on .csproj files (and not .sln files or other project types).
#jira UEB-664
Change 3017701 on 2016/06/17 by Ben.Marsh
BuildGraph: Relax a lot of the restrictions relating to using output tags from nodes. Output tags may contain an arbitrary set of files, including files which are also in other tags or produced by other nodes, but will not be written to temp storage more than once. The default tagged set of files for a node (eg. #MyNodeName) now includes all build products produced by that node.
Temp storage now separates the storing of build products from the tags which reference them. A TempStorageFileList object is written for each output tag, which includes a list of files as well as a list of the storage blocks referenced by it. When a node depends on a tag, the TempStorageFileList is read first and used to determine which storage blocks to read.
All tasks now have overloaded functions for returning the tags which they modify and/or reference, and errors are produced if an existing tag is modified, or referenced without being added as an input dependency.
Change 3017714 on 2016/06/17 by Ben.Marsh
BuildGraph: Allow specifying multiple tag names in the 'Tag' attribute of build tasks (or 'With' attribute of the 'Tag' task).
Change 3018007 on 2016/06/17 by Ben.Marsh
UBT: Add sections to the target receipt listing files which are required to build using precompiled binaries (as previously generated using -generateexternalfilelist), and runtime dependencies that may be required when using precompiled binaries but aren't actually required for the current target (which previously had to be specified through InstalledEngineFilters.ini). Tested by running UBT with arguments "UE4Game Win64 Development -precompile -xgeexport" and examining target receipt.
#jira UE-28761
Change 3018322 on 2016/06/17 by Ben.Marsh
PR #2518: Improvements for Clang on Windows (Contributed by Mattiwatti)
Change 3018365 on 2016/06/17 by Ben.Marsh
Misc: Fixes for warnings compiling ShaderCompileWorker on Clang
Change 3018397 on 2016/06/17 by Ben.Marsh
UnrealVS: Add an UnrealVS command to run a single-file-compile with UBT
Change 3019421 on 2016/06/20 by Ben.Marsh
Fix compilation of FreeType on Clang for Windows - there's an fttypes.h header already in the Windows SDK, so use a relative include path instead.
Change 3019423 on 2016/06/20 by Ben.Marsh
PR #2518: Improvements for Clang on Windows (Contributed by Mattiwatti)
Change 3020377 on 2016/06/20 by Ben.Marsh
UBT: Fix strings not being escaped before writing to JSON files.
Change 3020378 on 2016/06/20 by Ben.Marsh
UBT: Exclude precompiled files from the target receipt which are outside the engine and project directories. We don't need SDK libs being added to the precompile list.
Change 3020966 on 2016/06/21 by Ben.Marsh
EC: Allow scheduling builds at a certain offset past midnight, using the schedule formatted like "Every 20m from 04:00", and add scheduled builds of target platforms for dev streams every 4 hours. Also make the meaning of "Editor Only" and "Editor, Tools & Monolithics" build names consistent between Dev streams and Main, and add a new "Editor, Tools, Monolithics & DDC" build type includes additional DDC build for //UE4/Main.
#rb none
#lockdown Nick.Penwarden
[CL 3020980 by Ben Marsh in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2909886 on 2016/03/15 by Matthew.Griffin
Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build.
Change 2911727 on 2016/03/16 by Matthew.Griffin
Added Platform Type and Architecture to Installed Platform Info
Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts
Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds
Added temporary hack to write Android architecture until I can get it from build process
Change 2913692 on 2016/03/17 by Ben.Marsh
UAT: Move script to archive a build for UGS into a public folder.
Change 2915445 on 2016/03/18 by Ben.Marsh
UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying.
Change 2915450 on 2016/03/18 by Ben.Marsh
UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited.
Change 2925830 on 2016/03/29 by Matthew.Griffin
Added new selective download tags
Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings
Change 2926437 on 2016/03/29 by Ben.Marsh
PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi)
Change 2927399 on 2016/03/30 by Matthew.Griffin
Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist.
Change 2933093 on 2016/04/05 by Ben.Marsh
PR #2232: Updated copyright text to 2016 (Contributed by erikbye)
Change 2936221 on 2016/04/07 by Matthew.Griffin
Adding checks on architecture for android config options
Change 2938021 on 2016/04/08 by Ben.Marsh
UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account.
Change 2939332 on 2016/04/11 by Matthew.Griffin
Added AdditionalBundleResources to external file list so that they should be included in Launcher releases
Change 2939767 on 2016/04/11 by Ben.Marsh
BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging.
Change 2941611 on 2016/04/12 by Ben.Marsh
UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line.
Change 2942037 on 2016/04/13 by Ben.Marsh
UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats.
Change 2942640 on 2016/04/13 by Ben.Marsh
GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels.
Change 2942728 on 2016/04/13 by Ben.Marsh
BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML.
Change 2942735 on 2016/04/13 by Ben.Marsh
BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs)
Change 2943568 on 2016/04/14 by Ben.Marsh
EC: Print out the log folder at the start of each job.
Change 2944421 on 2016/04/14 by Ben.Marsh
EC: Add GitHub dashboard page which shows the current syncing state
#lockdown Nick.Penwarden
[CL 2944733 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927181 on 2016/03/29 by Dmitry.Rekman
(Optionally) exclude idle time from server FPS charts.
- Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers).
- Server FPS charts analytics events and log output will include the information if idle time was excluded.
- Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log.
#rb Paul.Moore
#codereview Paul.Moore, Michael.Noland
#tests Ran Linux server and Windows client on compatible content.
Change 2927084 on 2016/03/29 by Ben.Marsh
BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately.
#rb none
#tests none
Change 2927060 on 2016/03/29 by Michael.Noland
Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter)
Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup)
#rb marcus.wassmer
#tests Ran and did some fps charts
Change 2927048 on 2016/03/29 by Michael.Noland
HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD)
#tests Compiled and ran Paragon
#rb marcus.wassmer
Change 2926920 on 2016/03/29 by Ben.Marsh
BuildGraph: Update schema with Rename task.
Change 2926911 on 2016/03/29 by Ben.Marsh
BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/>
#rb none
#tests none
Change 2926908 on 2016/03/29 by Andrew.Grant
Fix for CDO properties of renamed blueprints not being applied
#rb none
#tests loaded Origin map (renamed from Playgo3) and verified properties are applied.
Change 2926799 on 2016/03/29 by Jason.Bestimt
#ORION_DG - Merge MAIN (23) @ CL# 2926780
#RB:none
#Tests:none
Change 2926663 on 2016/03/29 by david.nikdel
#ROBOMERGE-OBO: jason.bestimt
#ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#ORION_23 - Potential fix for Cook failures
"Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd."
#RB:none
#Tests: none
[CodeReviewed]: andrew.grant, dan.oconnor
Change 2926510 on 2016/03/29 by Andrew.Grant
Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock)
#rb none
#tests compiled
Change 2926495 on 2016/03/29 by Rob.Cannaday
Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it
#jira FORT-18947
#jira OR-17695
#tests golden path
#rb eric.newman
Change 2926427 on 2016/03/29 by Josh.Markiewicz
#UE4 - fixed typo
#rb none
#tests none
Change 2926250 on 2016/03/29 by Martin.Mittring
fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect
#rb:Chris.Bunner
#codereview:Brian.Karis
Change 2926224 on 2016/03/29 by Daniel.Lamb
Fix for potenital threading issue with Console manager removing vars which could cause double free.
#rb Robert.Manuszewski
#test Orion cook
Change 2926174 on 2016/03/29 by Gareth.Martin
Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people
#rb
#tests editor
Change 2925968 on 2016/03/29 by David.Nikdel
#MCP #OSS
- Read RedirectUrl from ini
#RB: Eric.Newman
#TESTS: compiled in another branch (merge over)
#ROBOMERGE: Main
[CL 2929424 by Andrew Grant in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2912513 on 2016/03/16 by David.Ratti
attempted cook fix
#rb none
#tests compile
Change 2912456 on 2016/03/16 by Zak.Middleton
#ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly.
#rb John.Pollard
#tests Replays and MultiPIE vs AI
Change 2912386 on 2016/03/16 by Ben.Marsh
BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces.
Change 2912378 on 2016/03/16 by Ben.Marsh
BuildGraph: Fix format of custom build arguments when running with buildgraph.
Change 2912318 on 2016/03/16 by Marcus.Wassmer
Fix mallocleakdetection false positives, and hash collision data corruption.
#rb none
#test leak finding on goldenpath
Change 2912242 on 2016/03/16 by Lukasz.Furman
CIS fix
#rb none
#tests none
Change 2912239 on 2016/03/16 by Ben.Marsh
UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there.
#rb none
#tests generated project files using UGS after making change
Change 2912211 on 2016/03/16 by Ben.Marsh
BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders.
#rb none
#codereview Wes.Hunt
#tests none
Change 2912196 on 2016/03/16 by Mieszko.Zielinski
Added a missing #pragma once to GameplayDebuggerCompat.h #Orion
#rb Lukasz.Furman
#test none
Change 2912165 on 2016/03/16 by Lukasz.Furman
new gameplay debugger and some replication fixes (disabled by default)
uncommment debugger's setup line in FOrionGameModule::StartupModule to enable
#orion
#rb none
#tests yes, a lot.
#codereview Mieszko.Zielinski
Change 2912065 on 2016/03/16 by Jason.Bestimt
[AUTOMERGE]
#ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016
#RB:none
#Tests:none
#CodeReview: matt.schembari
--------
Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56.
Change 2912045 on 2016/03/16 by David.Ratti
Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues
#rb DanY
#tests PIE
Change 2912030 on 2016/03/16 by Alex.Fennell
Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/...
support for cookies across curl easy handles in libcurl
#TESTS: cookie support confirmed by using the http test targetting google.com
#RB: david.nikdel
#codereview: david.nikdel, jason.bestimt
Change 2911870 on 2016/03/16 by Laurent.Delayen
- Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications.
- FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from.
- New notifications are backwards compatible with old.
- Added bIsNativeBranchingPoint flag to notify classes to force them into branching points.
#rb martin.wilson, frank.gigliotti
#tests Kuro VS Rampage abilities in networked PIE
Change 2911763 on 2016/03/16 by Nick.Atamas
Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue.
#rb none
#test Editor does not crash.
#codereview Matt.Kuhlenschmidt
Change 2911631 on 2016/03/16 by Dmitry.Rekman
Fix AvgPing perfcounter being occasionally NaN (FORT-20523)
- Prevent division by zero.
#rb none
[CL 2917701 by Andrew Grant in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
#lockdown Nick.Penwarden
Change 2903938 on 2016/03/10 by Frank.Gigliotti
Added an instance ID to FAnimMontageInstance
#CodeReview Laurent.Delayen
#RB Laurent.Delayen
#Tests PIE
Change 2903745 on 2016/03/10 by Wes.Hunt
Update Oodle TPS
#rb none
#tests none
#codereview:john.pollard
Change 2903689 on 2016/03/10 by Uriel.Doyon
New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero.
#rb marcus.wasmer
#codereview marcus.wassmer
#tests editor, playing PC games, trying the new command
Change 2903669 on 2016/03/10 by Aaron.McLeran
OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds
- Change only effects debug stat commands for audio guys
#rb none
#tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds
Change 2903625 on 2016/03/10 by John.Pollard
XB1 Oodle SDK
#rb none
#tests none
#codereview Jeff.Campeau
Change 2903577 on 2016/03/10 by Ben.Marsh
Remaking latest build scripts from //UE4/Main @ 2900980.
Change 2903560 on 2016/03/10 by Ben.Marsh
Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP.
Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components:
* Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules.
* Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts.
* Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts.
* Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts.
* Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on.
Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name.
Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope.
Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs.
File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on.
Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system.
A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type.
#rb none
#codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett
#tests local only so far, but not part of any build process yet
Change 2903539 on 2016/03/10 by John.Pollard
Improve replay playback debugging of character movement
#rb none
#tests replays
Change 2903526 on 2016/03/10 by Ben.Marsh
Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks.
#rb none
#tests none
Change 2903512 on 2016/03/10 by Dan.Youhon
Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s
#rb None
#tests Compiles
Change 2903474 on 2016/03/10 by Marc.Audy
Fix crash if ChildActor is null
#rb None
#tests None
Change 2903314 on 2016/03/10 by Marc.Audy
Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken
#rb James.Golding
#tests Selection of child actors works as expected
#jira UE-28201
Change 2903298 on 2016/03/10 by Simon.Tovey
Disabling the trails optimization.
#tests none
#rb none
#codereview Olaf.Piesche
Change 2903124 on 2016/03/10 by Robert.Manuszewski
Small refactor to pak signing to help with exe protection
#rb none
#tests none
[CL 2907678 by Andrew Grant in Main branch]