#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2967465 on 2016/05/05 by Marc.Audy
Fix VS2015 shadow variables fixes
Change 2970637 on 2016/05/09 by Martin.Wilson
Fix incorrect conflict resolve in merge from main
Change 2976393 on 2016/05/12 by Zak.Middleton
#ue4 - Set AudioComponent bUseAttachParentBounds=true to reduce cost of transform updates (avoids virtual CalcBounds() when transform changes).
#tests PIE w/ audio
Change 2976770 on 2016/05/13 by Lina.Halper
Improvement on mirroring fix branch
#code review: Zak.Middleton
Change 2976774 on 2016/05/13 by Lukasz.Furman
fixed missing memory callbacks for instanced behavior tree nodes
#jira UE-30305
Change 2976775 on 2016/05/13 by Lukasz.Furman
fixed multiple calls to behavior tree's instance cleanup
#jira UE-30593
Change 2976801 on 2016/05/13 by Jon.Nabozny
Add an optional argument FSkeletalMeshMerge. When set to EMeshBufferAccess::ForceCPUAndGPU, keeps a reference to the vertex buffer on CPU (e.g. for spawning particle effects).
#JIRA UE-30405
Change 2976985 on 2016/05/13 by Jon.Nabozny
Fix initializer list ordering for FSkeletalMeshMerge.
Change 2977532 on 2016/05/13 by Marc.Audy
PR #2348: [Local Multiplayer] Gamepad player assignment improvements (Contributed by kukiric)
#jira UE-30162
Change 2977637 on 2016/05/13 by Marc.Audy
Add Get/Set controller ID for a player in gameplay statics
#jira UE-28718
Change 2979387 on 2016/05/16 by Jon.Nabozny
Initialize FBox used to store results for CalculateQuatACF96Bounds.
#JIRA UE-30846
Change 2979968 on 2016/05/17 by bruce.nesbit
Added comment in FCanvasLineItem to warn only SE_BLEND_Opaque will be used when rendering.
Change 2979969 on 2016/05/17 by bruce.nesbit
Added comment in AddLine/AddPoint to warn only SE_BLEND_Opaque will be used when rendering.
Change 2980271 on 2016/05/17 by Lina.Halper
Improved comment
#code review: Benn.Gallagher
Change 2980317 on 2016/05/17 by Lukasz.Furman
removing NavCollision from static mesh on property change and PostLoad if static mesh is not supposed to have one
#ue4
Change 2980717 on 2016/05/17 by Zak.Middleton
#ue4 - Optimize UCapsuleComponent::CalcBounds() to remove sqrt and use tighter bounding sphere radius.
Change 2981193 on 2016/05/17 by Lukasz.Furman
fixed missing observers in behavior tree when dynamic subtree is changed while waiting for full restart (out of nodes)
#ue4
Change 2981927 on 2016/05/18 by Lina.Halper
- Remove vertex animation code
- Removing UVertexAnimation
- Fixed reinitialization issue that was triggered by SetVertexAnimation
- todo: consolidate UMorphtarget and UVertexAnimBase
#code review: James.Golding, Martin.Wilson
Change 2981957 on 2016/05/18 by Lina.Halper
Add recursive stack check on update animation
#code review: Martin.Wilson
Change 2982116 on 2016/05/18 by Benn.Gallagher
Removed optimize macros accidentally left after bounds extension feature for skel meshes
Change 2982255 on 2016/05/18 by Jon.Nabozny
FSkeletalMeshMerge constructor "MeshBufferAccess" default should be EMeshBufferAccess:Default instead of EMeshBufferAccess::ForceCPUAndGPU.
Change 2982607 on 2016/05/18 by Marc.Audy
Cleanup places calling GetWorld() multiple times
Change 2982621 on 2016/05/18 by Marc.Audy
Make UActorComponent::GetWorld final and inlined to avoid unnecessary function calls
Put uncached logic in to a separate function
Change 2983424 on 2016/05/19 by Marc.Audy
Minor tweaks to reduce GetWorld calls
Change 2983465 on 2016/05/19 by Lina.Halper
Combine VertexAnimBase and MorphTarget to just MorphTarget
- VertexAnimBase is gone
- Modified most of VertexAnim to MorphTarget
- Removed state, time related data
#code review: James.Golding, Rolando.Caloca
Change 2983609 on 2016/05/19 by Marc.Audy
Inline AActor::GetLevel
Half GetWorld() calls from AActor::GetNetMode()
Change 2983772 on 2016/05/19 by Marc.Audy
Fix Mac compile
Change 2983931 on 2016/05/19 by Marc.Audy
Remove pointless AccelMouse function
Change 2984061 on 2016/05/19 by Marc.Audy
Reorg some headers to fix compilation issues
Change 2984409 on 2016/05/19 by Aaron.McLeran
#jira UE-31049 Updating the Oculus Audio SDK to vs 1.02
Implementing 2984316 from Releases/4.12 to Dev-Framework
Change 2984574 on 2016/05/19 by Aaron.McLeran
Fix for platform headroom scalar. Using correct dB to linear formula (not one for power)
dB = 20 * log(Linear), not dB = 10 * log(Linear)
Change 2985041 on 2016/05/20 by Jon.Nabozny
ConvertQueryOverlap only returns the base actor if multiple actors have bSimulatePhysics enabled and are welded together.
#JIRA UE-30484
Change 2985118 on 2016/05/20 by Marc.Audy
Another attempt to convince Mac to build
Change 2985192 on 2016/05/20 by Marc.Audy
Properly forward declare ABrush
Change 2985724 on 2016/05/20 by Zak.Middleton
#ue4 - Optimize NaN and Infinite checks for FVector, FQuat, FRotator, FMatrix, FTransform. SIMD version VectorContainsNaNOrInfinite() also optimized on relevant platforms. Added startup tests for VectorContainsNaNOrInfinite().
- All our "ContainsNaN()" tests are in fact "IsNaN() || IsInfinite()", which is the same as "!IsFinite()", so exploited this to simplify the tests. Both NaN and +/-Inf are not finite (http://en.cppreference.com/w/cpp/numeric/math/isfinite). In the future we should rename ContainsNaN().
- Still need to audit some uses in shipping configs.
#jira UE-30999
Change 2986016 on 2016/05/20 by Zak.Middleton
#ue4 - Fix uint32 used for int32 values. Behavior was unaffected.
Change 2986017 on 2016/05/20 by Zak.Middleton
#ue4 - Fix overlaps being dropped from within a FScopedMoveUpdate when rotation occurs. Remove invalid assert.
Change 2986833 on 2016/05/23 by Zak.Middleton
#ue4 - Move ETeleportType from ActorComponent.h to EngineTypes.h. Add comment to FHitResult for ImpactPoint when it's penetrating.
Change 2986916 on 2016/05/23 by Rolando.Caloca
DF - GPU morph targets proof of concept
- Disabled by default
- Not compatible with gpu skin cache
- No extra memory required yet until it's used; creates buffers per frame (very slow!)
Change 2987539 on 2016/05/23 by Rolando.Caloca
DF - Remove unused member and downgrade FActiveMorphTarget to not be a USTRUCT
Change 2987981 on 2016/05/24 by James.Golding
PR #2162 : Exported AAudioVolume so that projects can derive custom classes.
https://github.com/EpicGames/UnrealEngine/pull/2162
#github 2162
#jira UE-28533
Change 2987982 on 2016/05/24 by James.Golding
PR #2318 : Fix memory allocation in CustomMeshComponent.cpp
https://github.com/EpicGames/UnrealEngine/pull/2318
#github 2318
#jira UE-29864
Change 2987983 on 2016/05/24 by James.Golding
Merging engine changes back from GDC demo:
- Export FFIRFilterTimeBased from Engine module
- Add FFIRFilterTimeBased::SetWindowDuration
- Add FBaseCompactPose::CopyBonesTo
Change 2987984 on 2016/05/24 by James.Golding
UE-30137 No longer include collision in StatiMeshComponent bounds (bounds no longer user for any collision calculation)
Change 2987985 on 2016/05/24 by James.Golding
UE-27801 Export ConvertToCollisionChannel, ConvertToObjectType, and ConvertToTraceType members of UCollisionProfile
Change 2987987 on 2016/05/24 by James.Golding
OR-17910 : Support 'show collision' in Test configuration
Change 2988123 on 2016/05/24 by Jon.Nabozny
Prevent FBodyInstance::Weld causing duplicate PhsyXShapes to be created / added to ShapeToBodiesMap when toggling SimulatePhysics on PrimitiveComponent.
#JIRA UE-31189
Change 2988449 on 2016/05/24 by Rolando.Caloca
DF - Split FActiveMorphTarget's weight into its own array in prep for GPU friendly data
Change 2988485 on 2016/05/24 by Jon.Nabozny
Swap order of setRigidBodyFlag and setRigidDynamicFlag inside UpdateInstanceSimulatePhysics to prevent PhysX error about Kinematic bodies not using CCD.
#JIRA UE-30993
Change 2988969 on 2016/05/24 by Rolando.Caloca
DF - GPU morph targets
- Enable using r.MorphTarget.Mode 1
Change 2989645 on 2016/05/25 by Marc.Audy
Apply CL# 2989481 to Dev-Framework
#jira UE-31055
Change 2989987 on 2016/05/25 by Wes.Hunt
Redo of CL#2982707 2982716 2982723 2983780 2983864 from //Orion/Dev-General in preparation for continuing Analytics refactor in a Dev branch.
AnalyticsET support for arbitrary Json events.
* AnalyticsET supports a new API, RecordEventJson.
* API supports rvalue refs to avoid unnecessary copies of the attribute array.
#AUTOMERGE using branch Orion-Dev-General-To-UE4-Dev-Framework of change#2982707 by Wes.Hunt on 2016/05/18 17:22:20.
Remove Analytics code to divert legacy code to source data collector.
#AUTOMERGE using branch Orion-Dev-General-To-UE4-Dev-Framework of change#2982716 by Wes.Hunt on 2016/05/18 17:27:25.
Analytics no longer adds IsEditor attribute to all events. Wasn't actually used by anyone anymore.
#AUTOMERGE using branch Orion-Dev-General-To-UE4-Dev-Framework of change#2982723 by Wes.Hunt on 2016/05/18 17:29:40.
Modernize FAnalyticsEventAttribute usage.
Replaced FAnalyticsEventAttribute various ctors with a perfect forwarding one that can convert them to strings.
* The Name must be convertible to a string
* The value must be convertible to a string via an AnalyticsConversion::ToString() overload.
* Added/expanded the supported conversions to strings to analytics attribute values. See AnalyticsConversion.h which contains all the previously supported conversions and more.
Added MakeAnalyticsEventAttributeArray(), which uses variadic templates to create an array of event attributes inline, which can be passed to RecordEvent[Json] and efficiently taken ownership of:
RecordEvent("EventName", MakeAnalyticsEventAttributeArray(
"Attr1", false,
"Attr2", 42.0,
"Attr3", SomeMap,
"Attr4", SomeArray);
#AUTOMERGE using branch Orion-Dev-General-To-UE4-Dev-Framework of change#2983780 by Wes.Hunt on 2016/05/19 13:51:48.
Added missing assignment copy/move ops to FAnalyticsEventAttribute. Doh, should have looked at more usages of PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS...
#AUTOMERGE using branch Orion-Dev-General-To-UE4-Dev-Framework of change#2983864 by Wes.Hunt on 2016/05/19 14:17:05.
Change 2989988 on 2016/05/25 by Wes.Hunt
Fix usage of FAnalyticsEventAttribute constructor using a bitfield that was invalidated by the change to make FAnalyticsEventAttribute use a perfect forwarding constructor. bitfields cannot be perfect-forwarded... :(
Change 2990493 on 2016/05/25 by Joe.Graf
Added tooltips to the collision analyzer's buttons
#CodeReview: james.golding
Change 2991064 on 2016/05/26 by James.Golding
- Remove many Animation headers from Engine.h
- Remove AnimationAsset.h from SkeletalMeshComponent.h, Character.h, CharacterMovementComponent.h
Change 2991113 on 2016/05/26 by Benn.Gallagher
Fixed edge case in random sequence player where we might trigger an extra loop when waiting on a blend to finish. And made it impossible for a shuffle list to start with the animation that is currently playing (seemingly duplicating the anim).
Change 2991163 on 2016/05/26 by Rolando.Caloca
DF - Rename and refactor some morph target compute shader in prep for interop with skin cache
Change 2991167 on 2016/05/26 by Jon.Nabozny
Add `#include "DataTable.h"` to GameplayTagsManager.h. FGameplayTagTableRow is derived from FTableRowBase which isn't necessarily included. This issue is hidden in most cases as "Engine.h" includes "DataTable.h".
Change 2991183 on 2016/05/26 by Wes.Hunt
Disable general forwarding constructor for AnalyticsEventAttribute for non arithmetic types, so they are free to choose other overloads more appropriately.
Change 2991199 on 2016/05/26 by Wes.Hunt
Drastically reducing the headers dependencies on analytics headers. Analytics headers no longer appear in PCH files, and rarely if ever appear in a header file.
IAnalyticsProviderModule.h only touches 8 source files.
Analytics.h only touches 8 source files.
IAnalyticsProvider.h only touches 5 headers and 97 source files.
AnalyticsET.h only touches 12 source files.
Change 2991301 on 2016/05/26 by James.Golding
Fix CIS for Fortnite
Change 2991319 on 2016/05/26 by James.Golding
Fix CIS for Orion
Change 2991373 on 2016/05/26 by Joe.Graf
Tweaked the tooltip text for the collision analyzer record button to be correct for both states
Added a common button style so that the buttons have a consistent look
#CodeReview: james.golding
Change 2991401 on 2016/05/26 by James.Golding
Fix UT CIS
Change 2991406 on 2016/05/26 by James.Golding
Fix Ocean CIS
Change 2991491 on 2016/05/26 by Lina.Halper
Moved MorphTarget.h
- Checked in modified functions fo AnimationRuntime for other features coming up
- Should not change any behavior of existing content
#code review: James.Golding, Rolando.Caloca
Change 2991494 on 2016/05/26 by Wes.Hunt
Fix for Unity error in AnalyticsET module after hedaer dependency reduction
Change 2991503 on 2016/05/26 by Jon.Nabozny
Fix issue where FConstraintInstance (inside UPhysicsConstraintComponent) is not editable in InstanceEditor but is editable in BlueprintEditor.
#JIRA UE-31267
Change 2991562 on 2016/05/26 by Zak.Middleton
#ue4 - Reduce allocations during movement and overlap queries and when grabbing shapes from physx actors.
Change 2991586 on 2016/05/26 by James.Golding
More CIS fixes for Orion and Fortnite
Change 2991673 on 2016/05/26 by Wes.Hunt
Another non-unity fix for Analytics include dependency reduction.
Change 2991733 on 2016/05/26 by Zak.Middleton
#dev - Test map, 50 walking dudes.
Change 2991781 on 2016/05/26 by Lina.Halper
Back out revision 15 from //UE4/Dev-Framework/Engine/Source/Runtime/Engine/Private/Animation/AnimationRuntime.cpp
- Back out a part of changes that I didn't mean to check in.
Change 2991922 on 2016/05/26 by Zak.Middleton
#ue4 - Maybe fix Mac build.
Change 2991957 on 2016/05/26 by Joe.Graf
Fixed the collision analyzer file open text (said project instead of collision)
Change 2991991 on 2016/05/26 by Lina.Halper
Fix compile error
Change 2992089 on 2016/05/26 by Zak.Middleton
#ue4 - Fix Mac/PS4 build.
Change 2992108 on 2016/05/26 by Wes.Hunt
Yet another non-unity fix for Analytics header inclusion reduction.
Change 2992190 on 2016/05/26 by Zak.Middleton
#ue4 - Mark FHitResult, FOverlapResult, FOverlapInfo as POD types. Avoids destructors etc when in TArrays.
Change 2992593 on 2016/05/27 by Martin.Wilson
Build fixes for non editor platforms
Change 2992885 on 2016/05/27 by Rolando.Caloca
DF - Fix crash on thumbnails
#jira UE-31398
Change 2993058 on 2016/05/27 by Lukasz.Furman
fixed behavior tree getting stuck on ResumeLogic call
#jira OR-22498
Change 2993064 on 2016/05/27 by Zak.Middleton
#ue4 - Fix root motion network corrections not clearing root motion data.
udn: https://udn.unrealengine.com/questions/294985/jittering-in-character-movement-during-networked-m.html
#jira UE-31316
Change 2993215 on 2016/05/27 by Lukasz.Furman
gameplay debugger fixes: navmesh rendering is not hidden after disabling tool, player stuck in spectator mode after disabling tool, confusing version description for categories without data packs
added replicated input bindings for debugger's categories
#ue4
Change 2993521 on 2016/05/27 by Zak.Middleton
#ue4 - Reduce allocations in UI Canvas items.
Change 2993995 on 2016/05/30 by Mieszko.Zielinski
Temporary fix for BBKeySelector not handling properly multiple UObject subtypes #UE4
#jira UE-31435
Change 2993998 on 2016/05/30 by Mieszko.Zielinski
Improves handling of a special case in EQS score normalization, where all items have the same score #UE4
We used to set the normalized score of 1 for all items, which was counter intuitive if all items have scored 0 in an unnormalized test. The improve handling detects that and assigns score of 0 in that case.
Change 2993999 on 2016/05/30 by Mieszko.Zielinski
Fixed FEQSParametrizedQueryExecutionRequest converting non-BB values into EQS params wrong #UE4
Change 2994000 on 2016/05/30 by Mieszko.Zielinski
Exposed UNavigationInvokerComponent as part of ENGINE_API so that it can be spawned procedurally in C++ in game specific code #UE4
Change 2994003 on 2016/05/30 by Mieszko.Zielinski
Fixed naming of console variable controllin v-logging of FGameplayAttribute #UE4
The old name was copy-pasted from somewhere.
Change 2994007 on 2016/05/30 by Mieszko.Zielinski
Fixed unregistering listeners from perception system not clearing up all data #UE4
Also, introduced two precisely named functions, GetCurrentlyPerceivedActors and GetKnownPerceivedActors to replace ambiguous GetPerceivedActors
Also, renamed UAIPerceptionComponent::TActorPerceptionContainer to UAIPerceptionComponent::FActorPerceptionContainer
Change 2994475 on 2016/05/31 by Wes.Hunt
Fix Unity build failure for analytics inclusion reduction for IOSFlurry.
[CL 2994701 by Marc Audy in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2719147 on 2015/10/07 by Mark.Satterthwaite
Allow the shader cache to perform some precompilation synchronously on load before falling back to asynchronous compilation to balance load times against total time spent precompiling. Added a stat to the group that reports how long the precompile has been running until it completes so it is easier to track.
Change 2719182 on 2015/10/07 by Mark.Satterthwaite
Refactor the ShaderCache's internal data structures and change the way we handle recording whether a particular predraw state has been submitted to try and make it more efficient.
Change 2719185 on 2015/10/07 by Mark.Satterthwaite
Merging CL #2717701: Try and fix random crashes on Mac when manipulating bound-shader-states caused by ShaderCache potentially providing a bogus shader state pointer on exit from predraw.
Change 2719434 on 2015/10/07 by Mark.Satterthwaite
Make sure that Mac ensures reports have a source context and a sane callstack when sent to the crash-reports server.
Change 2724764 on 2015/10/12 by Josh.Adams
[Initial AppleTV support]
Merging //depot/YakBranch/... to //UE4/Dev-Platform/...
Change 2726266 on 2015/10/13 by Lee.Clark
PS4 - Calc reserve size required for DMA copy when using unsafe command buffers
Change 2726401 on 2015/10/13 by Mark.Satterthwaite
Merging CL #2716418: Fix UE-15228 'Crash Report Client doesn't restart into project editor on Mac' by reporting the original command line supplied by LaunchMac, not the modified one that strips the project name. The CRC can then relaunch as expected.
#jira UE-15228
Change 2726421 on 2015/10/13 by Lee.Clark
PS4 - Don't try to clear invalid targets
Change 2727040 on 2015/10/13 by Michael.Trepka
Merging CL 2724777 - Fixed splash screen rendering for images with DPI different than 72
Change 2729783 on 2015/10/15 by Keith.Judge
Fix huge memory leak in Test/Shipping configurations, caused because I am a numpty.
Change 2729847 on 2015/10/15 by Mark.Satterthwaite
Merging CL #2729846: On OS X unconstrain windows from the dimension of the parent display when in Windowed mode - it is OK for them to be larger in this case. They do need to be repositioned if on the Primary display so that they don't creep under the menu bar and become unmovable/unclosable and Fullscreen windows still need to be constrained to a single display. We can now take screenshots of windows that are larger than the display & not get grey bars beyond the cutoff.
#jira UE-21992
Change 2729865 on 2015/10/15 by Keith.Judge
Fast semantics - Finish up resource transitions, adding resource decompression where appropriate and using non-fast clears where we can't determine the resource transition.
Change 2729897 on 2015/10/15 by Keith.Judge
Fast Semantics - Make sure all GetData() calls are made safe with GPU fences.
Change 2729972 on 2015/10/15 by Keith.Judge
Removed the last vestiges of ID3D11DeviceContext/ID3D11DeviceContext1 from the Xbox RHI. Everything now uses ID3D11DeviceContextX directly.
This should be marginally quicker as it stops a double call to ClearState().
Change 2731503 on 2015/10/16 by Keith.Judge
Added _XDK_VERSION to the DDC key for textures, which should solve the issue of the tiling mode changing in August XDK (and future changes Microsoft may inflict).
Change 2731596 on 2015/10/16 by Keith.Judge
Fast Semantics - Add deferred resource deletion queue to make deleted resources be actually deleted a number of frames later so that the GPU is definitely finished with them. Hooked up the temporary SRVs for dynamic VBs as a first step.
Change 2731928 on 2015/10/16 by Michael.Trepka
PR #1659: Mac/Build.sh handles additional arguments (Contributed by judgeaxl)
Change 2731934 on 2015/10/16 by Michael.Trepka
PR #1618: added clang 3.7.0 -Wshift-negative-value ignore in JpegImageWrapper.cpp (Contributed by bsekura)
Change 2732018 on 2015/10/16 by Mark.Satterthwaite
Emit a shader code cache for each platforms requested shader formats, this is separate to the targeted formats as not all can or need to be cached.
- The implementation extends the ShaderCache's hooks in FShaderResource's serialisation function to capture the required shaders.
- Each target platform has its own list of cached shader formats, analogous to the list of targeted RHIs. Presently only the Mac implements this.
- Code cached shaders are now compressed (for size) to reduce the overhead associated with keeping all the shader code around - this works esp. well for text-based formats like GLSL.
Change 2732365 on 2015/10/16 by Josh.Adams
- Packaging a TVOS .ipa now works (still haven't tried any of the Editor integration like Launch On)
Change 2733170 on 2015/10/18 by Terence.Burns
Fix for Android IAP query not returning entire inventory.
Change 2733174 on 2015/10/18 by Terence.Burns
Fix Movie player issue where wait for movie to finish isnt being respected.
Seems a stray bUserCanceled event flag was causing this not to be observed.
Added some verbose logging to apple movie player.
Change 2733488 on 2015/10/19 by Mark.Satterthwaite
Added the ability to merge the .ushadercache files used by the ShaderCache to store shader & draw state information.
- Fixed a bug that would cause invalid shader membership and draw state information to be logged.
- Added a separate command-line tool to merge shader cache files, currently Mac-only but in theory should work on other platforms too.
Change 2735226 on 2015/10/20 by Mark.Satterthwaite
Fix temporal AA rendering on GL/Mac OS X - you can't rely on EyeAdaptation values unless SM5 is available so only perform that code on SM5 & we must correctly clamp saturate(NaN) to 0 as the current hlslcc won't do that for us (& is required by the HLSL spec). The latter used to be clamped in the AA_ALPHA && AA_VELOCITY_WEIGHTING code block that was removed recently.
#jira UE-21214
#jira UE-19913
Change 2736722 on 2015/10/21 by Daniel.Lamb
Improved performance of cooking stats system.
Change 2737172 on 2015/10/21 by Daniel.Lamb
Improved cooking stats performance for ddc stats.
Changing GetUObjectArray() -> GUObjectArray to avoid redundant function calls in places like weak pointers/GC/object iterators
[CL 2686461 by Robert Manuszewski in Main branch]
I think MainFrame can normally assume that generic commands have been registered by slate application but not in the case of a cook
#jira UE-17346
[CL 2621812 by Matthew Griffin in Main branch]
If this ensure is hit in your game, you need to guard code that is editor-only via either the Editor module type, or checking IsRunningGame()
[CL 2612784 by Michael Noland in Main branch]
Newly installed versions of the engine will now attempt to copy the project-agnostic config settings from a previous engine installation. This happens by way of a versioned manifest that copies old versions when the manifest does not exist, or is a different version. This code path is benign for non-installed versions of the engine (or FPaths::ShouldSaveToUserDir() is false).
EditorGameAgnosticSettings and EditorUserSettings ini paths have been renamed to EditorSettings and EditorPerProjectUserSettings respectively to better convey their purpose. In general, most settings should be saved in EditorSettings (project-agnostic) so that they apply regardless of which project is open. We have some way to go migrating existing settings for this to be the case, however.
Some previously per-project configuration files are now project-agnostic (such as Editor.ini, EditorKeyBindings.ini, and EditorLayout.ini)
GEditor->Access...Settings and GEditor->Get...Settings have been removed in favor of direct access of the CDO through GetMutableDefault<> and GetDefault<> respectively. Global config ini filenames that are not set up are now neither loaded nor saved on build machines, to handle the problem of indeterminate state more generically.
This addresses UETOOL-270 (Most editor preferences should be project-agnostic)
[CL 2517558 by Andrew Rodham in Main branch]
Made the Project Browser window a bit higher so it's clear that there's description text below the template image.
#jira UE-9085 - new project browser window clipping
[CL 2511581 by Richard TalbotWatkin in Main branch]
- Linkers are no longer UObjects. Renamed ULinker, ULinkerLoad and ULinkerSave to FLinker, FLinkerLoad, FLinkerSave respectively
- Linkers are now associated with their UPackages
- Linker version is now stored in UPackages
- Async loading is now performed on a separate thread (if platform supports it and only in cooked builds), with the exception of PostLoad which is still done on the game thread
- Added UObject::IsPostLoadThreadSafe() function to determine if PostLoad is thread safe and can be executed on the async loading thread (defaults to false)
- UObject creation is now thread safe and can be performed on any thread
- Move many of the linker/UObject globals into FUObjectThreadContext (TLS)
- GetAsyncLoadPercentage() now takes PostLoad into account
- More async loading stats
- Added AtomicallySetFlags/ClearFlags to UObject
- Made FModuleManager thread safe.
- Added FGCScopeGuard as means of preventing GC from executing from non-game thread
- It's possible to disable async loading thread through ini settings.
- Cancelling async loading will now also trigger GC
- Implemented a basic version of async streaming priorities.
Change 2410813 by Mikolaj Sieluzycki:
Change Sleep in while loop to ConditionalSleep in FMultiReaderSingleWriterGT
Change 2410734 by Mikolaj Sieluzycki:
Make FModuleManager thread safe.
Change 2399879 by Mikolaj Sieluzycki:
Basic version of async streaming priorities.
Change 2410707 by Mikolaj Sieluzycki:
Implement conditional and no stat versions of sleep.
Change 2371939 by Robert Manuszewski:
Async Loading Improvements: adding more stats (accumulators)
Change 2372403 by Robert Manuszewski:
Fixing compile errors when STATs are not enabled
Change 2371526 by Robert Manuszewski:
AsyncLoading Improvements (WIP)
Change 2407198 by Robert Manuszewski:
Re-implementing delegate fixes for Async Loading
Change 2407425 by Robert Manuszewski:
Re-implementing cancelling async loading in the async loading branch.
Change 2484362 by Robert Manuszewski:
Making it possible to disable async loading thread through ini settings.
Change 2484744 by Robert Manuszewski:
Minimizing locks in GC and other threads when handling UObjects
Change 2480190 by Robert Manuszewski:
Fixing infinite stall after canceling async loading in non-cooked builds
Change 2484268 by Robert Manuszewski:
Fixing crash when allocating permanent object pool.
Change 2489761 by Robert Manuszewski:
Fixing BulkData using linker archive on the main thread even if the linker was created on the async loading thread.
Change 2493624 by Robert Manuszewski:
Cancelling async loading will now also trigger GC
Change 2487881 by Robert Manuszewski:
Making ShaderIdMap operations thread safe.
Change 2488067 by Robert Manuszewski:
Fixing GetAsyncLoadPercentage. It will now also respect PostLoad.
Change 2458640 by Robert Manuszewski:
Fixing crash in PIE
Change 2458825 by Robert Manuszewski:
Fixing a few crashes when streaming and the package is missing.
Change 2476935 by Robert Manuszewski:
Fixing crash while async loading ANavigationData
Change 2477361 by Robert Manuszewski:
Fixing crashes in cooked game
Change 2480095 by Robert Manuszewski:
Making FUObjectArray more thread safe
Change 2475443 by Robert Manuszewski:
Re-enabling single-threaded async loading path for the editor and platforms that don't support multithreading.
Change 2475458 by Robert Manuszewski:
Making sure bulk data is only loaded on a separate thread if it's not being loaded on the async loading thread.
Change 2476661 by Robert Manuszewski:
Fixing FlushAsyncLoading not flushing everything
Change 2401089 by Jaroslaw Surowiec:
Core - Added AtomicallySetFlags/ClearFlags to UObject, added a comment to ThisThreadAtomicallyClearedRFUnreachable
[CL 2498249 by Robert Manuszewski in Main branch]
*because of tons of changes, I will supply the changelists in the email because it was too large for this checkin*
[CL 2483008 by Todd Eckert in Main branch]
Stopped the "Compiling C++ Code" message in the editor MainFrame always having a cancel button
FModuleCompilerStartedEvent now passes a bool to say whether the hot-reload/compile operation is being run async, or whether it's blocking. We now only show the cancel button for async compiles, as the UI is otherwise blocked waiting for the compile to finish.
Added a bWaitForCompletion input parameter to DoHotReloadFromEditor. This mirrors the RebindPackages API that DoHotReloadFromEditor internally calls, and prevents UPackFactory needing to perform a manual tick.
[CL 2437789 by Matthew Griffin in Main branch]
UETOOL-213 - Minimize Slate FString -> FText conversion (remove SLATE_TEXT_ATTRIBUTE)
This fixes any editor/engine specific code that was passing text to Slate as FString rather than FText.
[CL 2399803 by Jamie Dale in Main branch]
* Moved Slate.h into SlateBasics.h and began shifting less commonly used headers into SlateExtras.h.
* Slate.h now simply includes SlateBasics.h and SlateExtras.h.
* Slate.h includes a deprecated warning now to indicate that SlateBasics.h + specific includes should be used instead.
* Moved dozens of inlined functions using Slate widgets into .cpp files to avoid header dependencies.
* All code samples now include SlateBasics.h and SlateExtras.h so future shifts will not break most those projects, but not trigger the deprecation warning of including Slate.h.
#BUN
[CL 2329610 by Wes Hunt in Main branch]
#ttp 345522: HotReload: Should not try to link DLLs when target is up to date
#change Added code to handle up-to-date state of modules in hot-reload code.
#change Added ECompilationResult::UpToDate and ECompilationResult::Canceled, ECompilationResult::Failed()
#change UBT: added -canskiplink command line param and support for skipping link actions when there was nothing to compile
#change extended the duration of re-compile notifications (TTP# 346604 NUXF-246 Hot compile fail message fades)
#change Added 'Compile Canceled' notification (instead of 'Compile Failed')
[CL 2302307 by Robert Manuszewski in Main branch]