#rnx
#rb none
#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870586 by ryan durand in Main branch]
We've had several cases where the previously default alphabetical sorting caused performance issues when it wasn't needed. We now require you to explicitly choose either slow alphabetical sorting or fast non-alphabetical order.
The fast order does not decode, access or compare actual string data, but the order is not stable between process runs.
#rb steve.robb
[CL 5915265 by Johan Torp in Dev-Core branch]
Encoding improvements
* New hash table implementation
--- Move away from 16-bit hashes since we need more than 64k buckets to hold 2M entries efficiently
--- Change to CityHash64, which is faster and stronger
--- Remove hardcoded max limit
* NAME_INDEX changed from contigouos int to monotonically increasing int
--- Opens up for future deduplication schemes that are better than number suffix dedup.
--- Saves some memory since we don't need to maintain a contiguous array
--- Typed up to cause compile errors when used as integer directly
* Avoid touching data repeatedly, normal path only does single hash of data
* New constructor that allows supplying string length up front
* Avoid dynamic allocations in string conversions >= 128 characters
* Avoid extra copying when splitting numbers
* More efficient IsPureAnsi check
* Only do one global lazy initialization call instead of multiple
* Switch to faster RW locks
* Switch from single lock to sharded hash map with separate locks
* Memory optimizations that reduces per entry overhead: 4 bytes slots, 2 byte headers and don't store null terminator
Improved API & documentation
* Document that IsValid() rarely makes sense
* Hide global state such as GetNames()
* Reduce amount of implementation details visible in header
* NameTypes.h size down by ~1/3 while adding documentation, stronger type safety and new APIs
Future possibilities
* Memory savings: Removing public NAME_INDEX and global FName array allows using the 32-bit FNameEntryId for arbitrary deduplication schemes. This can save both actual stored strings memory by deduplication and half the size of FName instances from 8B to 4B in shipping / test configs by removing the number part.
* Implementation can be tweaked further, for instance could persist 32-bit slot index hash inside slot to increase encoding performance in development / debug at the cost of memory.
Perf & mem results for internal project:
* Editor startup wall time: 12% speedup, 22.0s -> 19.5s
--- Warm disk and asset registry cache
--- Some gains from nametable serialization improvements
--- Some of these gains might be from orthogonal asset discovery optimizations
* Win64 Test Client memory usage with ~400k names: 30.3Mb -> 22.2Mb
#rb steve.robb, pj.kack
#jira UE-59973
[CL 5774657 by Johan Torp in Dev-Core branch]
Slate Changes: Allowed menu builder to be optionally searchable. Added a default parameter to control this.
#jira UE-68733 - Users are able to type into a selected pinned command widget as if they are trying to search the widget for something
#rb Jurre.deBaare
[CL 4769617 by Thomas Sarkanen in Dev-Anim branch]
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 4005617 by Danny.Bouimad
Fixing TM-AnimPhys lighting so it works on all platforms
#jira UEENGQA-19924
Change 4014898 by Aaron.McLeran
Adding simple delay feature
Change 4025071 by Lina.Halper
Fix and more potential fix for invalid bone index issue
http://crashreporter/Buggs/Show/2052839http://crashreporter/Crashes/Show/46656562
#jira: UE-51931
Change 4042493 by Lina.Halper
Fix issue with sequence evaluator to handle properly when jumps from end to front or front to end
#jira: UE-58429
Change 4042892 by Lina.Halper
Fix issue with being able to drag/drop montage onto anim track in sequencer
#jira: UE-57863
Change 4043553 by Ethan.Geller
#jira UE-58340 Handle calls to FVoiceCaptureWindows::GetVoiceData outside of existing data calls. #rb none
Change 4043613 by Lina.Halper
Fix issue with incorrect usage of staticclass
#jira: UE-54413
Change 4044069 by James.Golding
PR #4455: Add FAnimNode_StateMachine subclassing support. (Contributed by redfeatherplusplus)
#jira UE-54599
Change 4044070 by James.Golding
PR #4349: Final points on a line test were broken, changed Plane.PlaneDot to FM. (Contributed by DSDambuster)
#jira UE-53554
Change 4044072 by James.Golding
Add ENGINE_API to UPhysicsHandleComponent so it can be subclassed
#jira UE-56397
Change 4044073 by James.Golding
PR #4611: Expose a few API's so it's possible to make custom anim graph nodes using these objects. (Contributed by ill)
#jira UE-57004
Change 4044075 by James.Golding
PR #4618: Bugfix: typo in path for CustomMeshComponent (case error) (Contributed by malavon)
#jira UE-57077
Change 4044077 by James.Golding
Add ClassGroup to some components
#jira UE-57587, UE-57609
Change 4044080 by James.Golding
PR #4515: Adding API export macro to ACableActor (Contributed by maxtunel)
#jira UE-55515
Change 4044082 by James.Golding
Remove unused CopySkinnedModelData function
#jira UE-57623
Change 4044083 by James.Golding
Fix per-poly collision for skel meshes. Make sure to call UpdateKinematicBonesToAnim if bEnablePerPolyCollision is set, even if no bodies
Integration of CL 3971421 from Release-4.19 stream
#jira UE-56405
Change 4044084 by James.Golding
Add option to preview 'fixed bounds' in SkelMesh editors.
Change 4044086 by James.Golding
Remove unused RigidInfluenceIndex from CPU skinning code
Change 4044310 by James.Golding
Roll back changes to make PhysX cool fails a log instead of warning (CL 3995372, UE-56466), now that content is fixed
Change 4044416 by Lina.Halper
Provide BP interface to get curve list of names
#jira: UE-52623
Change 4044419 by Lina.Halper
added notification for updating pose asset
#jira: UE-56233
Change 4046929 by Ethan.Geller
#jira none add my developer folder to QAGame. #fyi dan.reynolds
Change 4047064 by Ethan.Geller
[Dev-AnimPhys] #jira UE-57890 add additional binaries for Steam Audio to LibPhonon.Build.cs. #rb none
Change 4047564 by Lina.Halper
Fix issue of not regenerating when reimport mesh
#jira: UE-58284
Change 4047630 by Ethan.Geller
Fix syntax error in libPhonon. #jira none #rb none
Change 4048050 by Thomas.Sarkanen
Allowed "Follow Bone" to be popped out of the menu into the viewport
This allows for quick re-selection of the bone to follow, avoiding multiple clicks
Tweaks and extends the "pinned command list" system to allow dynamic text in labels and labels to be hidden.
#jira UE-53070 - Follow bone - Follow selected bone
Change 4048064 by Thomas.Sarkanen
Validate any bone references during compilation
Bone references that are set to something other than NAME_None will be verified against the skeleton.
Updated various anim nodes to call the base class ValidateAnimNodeDuringCompilation
#jira UE-55680 - Anim graph nodes that use FBoneReference all need validation in ValidateAnimNodeDuringCompilation
Change 4048468 by James.Golding
PR #4319: Allow UAnimNotify_PlayMontageNotify to be inherited by other dlls (Contributed by DSDambuster)
#jira UE-53390
Change 4048470 by James.Golding
Implement ApplyWorldOffset to CableComponent, to handle origin shifting
#jira UE-53560
Change 4048471 by James.Golding
PR #4396: fix cachebones for subclasses of FAnimNode_SkeletalControlBase (Contributed by tmiv)
#jira UE-53799
Change 4048474 by James.Golding
PR #4423: Rename confusing argument in LineBoxIntersection (Contributed by Hybrid0)
#jira UE-54145
Change 4048485 by James.Golding
Fix compile error display from PoseDriver node
#jira UE-58306
Change 4048489 by James.Golding
Finish support for ProceduralMeshComponent supporting multiple UV channels
#jira UE-54049
Change 4048678 by Thomas.Sarkanen
Allowing blend space samples to be optionally moved off-grid
Grid samples are now each optionally snapped.
#jira UE-56116 - Allow blend spaces to optionally use off-grid sample points
Change 4048773 by Lina.Halper
Support pose factory with name input
#jira: UE-55859
Change 4048844 by David.Hill
Material Proxy Settings
Updating the max on the material proxy texture size - old value could cause int32 overflow.
#jira: UE-55441
Change 4049464 by Lina.Halper
update curve is expensive, and we're doing multiple times with same curve sets. I'm changing it so that it only updates main, and copy from main instance to sub/post.
#jira: UE-58459
Change 4050939 by Aaron.McLeran
PR #4649: Activated reverbs will now take priority when world settings are used (i.e. no volume proxy is in use) (Contributed by Brandon-Wilson)
#jira UE-57546
Change 4050954 by Aaron.McLeran
PR #4594: Added class type to allow inherited versions of UAudioComponents to be created (Contributed by korypostma)
#jira UE-56454
Change 4050960 by Aaron.McLeran
Attempt to fix linux build.
Change 4051247 by James.Golding
Fix ProcMeshComp UpdateSection not copying all UV sets
Add test case for ProcMeshComp with multiple UVs
#jira UE-54049
Change 4051250 by James.Golding
Add bUseHighPrecisionTangentBasis option to SkeletalMesh
Change SkeletalMesh source data to store tangents at higher precision
#jira UE-58525
Change 4051616 by Thomas.Sarkanen
Mass scale is no longer incorrectly clamped
This now allows mass scales below 0.01 and above 100.
#jira UE-49572 - MassScale has some edge cases for skeletal mesh component and small numbers
Change 4051619 by Thomas.Sarkanen
Fixed notify drag/drop on high DPI displays
#jira UE-55690 - Animation Notifies Do Not Move Past the Center of Timeline On a High DPI Display
Change 4051626 by Thomas.Sarkanen
Fix anim dynamics debug rendering
#jira UE-53902 - Anim Dynamics node is missing wireframe simulation box in preview
#jira UE-57983 - GitHub 4674 : UE-57910 Fix the angular limits display issue while selecting the AnimDynamics node
Change 4051628 by Thomas.Sarkanen
Constraints and bodies now rotate in their own local space in the physics asset editor
When local coordinate system is applied
#jira UE-50345 - rotating constraints or bodies in Phat with local axis
Change 4051634 by Thomas.Sarkanen
Automatic rules for state transitions are now shown in tooltips
#jira UE-57689 - Animation State Machine Transitions that use bAutomaticRuleBasedOnSequencePlayerInState, should indicate that in the transition
Change 4051636 by Thomas.Sarkanen
NotifyTriggerChance is now hidden for nodify states as it has no effect
#jira UE-55351 - NotifyTriggerChance should be grayed out for UAnimNotifyState
Change 4051669 by Thomas.Sarkanen
Fixed accidental operation of pinned commands when closing them
#jira UE-54051 - Unpinning settings will toggle the next setting
Change 4051671 by Thomas.Sarkanen
Fix crash importing skeletal mesh with no vertices
Not a fix for the jira, but found while investigating
#jira UE-56330 - FBX Files Do Not Import After Using the Facial Anim Importer Unless Project is Reopened
Change 4051684 by James.Golding
Fix high precision tangents when CPU skinning and mesh merging
Remember bExistingUseHighPrecisionTangentBasis when re-importing SkelMesh
#jira UE-58525
Change 4051686 by James.Golding
PR #4297: Output animation name with ensure() - useful when debugging (Contributed by DSDambuster)
#jira UE-53259
Change 4051801 by Jurre.deBaare
A BlendSpace that puts the same asset on samples can stop its own animation on Switch
#fix Ensure that we don't cause divide-by-zero situations when sampling blendspace data
#jira UE-54030
Change 4051806 by Jurre.deBaare
Fix geometry cache reimport + serialization issues
Change 4051807 by Jurre.deBaare
Currently, it's not possible to assigned a material to a Geometry Cache .uasset
#fix EditAnywhere rather than VisibleAnywhere
#jira UE-58212
Change 4051809 by Jurre.deBaare
GeomCache: Crash/Bug: When importing file
#fix Ensure that we have a valid first frame when trying to import a sequence, if not error-out
#jira UE-58285
Change 4051813 by Jurre.deBaare
GeomCache: Bug: Normals Broken
#jira UE-58287
GeomCache - Normals are Bad on Import
#jira UE-58283
#fix ensure that we triangulate mesh attributes when necessary
#misc per-attribute indices check
Change 4051816 by Jurre.deBaare
Alembic QOL
- Fix issue with reimport object flags not being applied
- Now also store sampling data as part of Alembic asset import data
Change 4051817 by Jurre.deBaare
PR #4550: Fixes bug where "Merge Actors" or HLOD proxies result in too many mesh sections (Contributed by trond)
#fix Integrated pull-request in different form
#jira UE-55976
Change 4051818 by Jurre.deBaare
Emissive isn't baked correctly in TM-MeshbakeMap
#fix ensure that we OR and Max the material flags and emissive scale
#jira UE-54889
Change 4051819 by Jurre.deBaare
Crash on project load when GeometryCache plugin is disabled
#fix No longer force-load the geometry cache module as it was moved to be a plugin
#jira UE-57875
Change 4051820 by Jurre.deBaare
CLONE - Editor crash when Propagating Vertex Colors to Asset's source mesh
#fix IsValidIndex check
#jira UE-57127
Vertex painting
Change 4051828 by Jurre.deBaare
Merging negative-scaled actors breaks materials
#fix Make sure we also reverse the section indices when a static mesh has a mirrored transform
#jira UE-56953
Change 4051834 by Jurre.deBaare
Unclear warnings when generating clusters in persistent level when sublevels have HLOD disabled
#fix improved warning text + added uobject link to level in content browser
#jira UE-55734
Change 4051993 by Jurre.deBaare
Update Alembic automated test ground truth
#jira none
Change 4052937 by James.Golding
Remove now-unused version (merged change to skel source data from Main instead)
Change 4053291 by Aaron.McLeran
Fix for CIS
#jira none
Change 4053375 by Aaron.McLeran
#jira UE-58716 Allow ability to bypass volume-weighting with using sound wave priority
Change 4057170 by Thomas.Sarkanen
Fix shadow variable warning
#jira UE-58806 - Linux: Shadow Variable Warnings building Editor - PhysicsAssetEditorEditMode.cpp
Change 4057653 by Lina.Halper
Fix the issue with showing same item multiple times when opening control rig blueprint many times
#jira: UE-58107
Change 4057701 by Jurre.deBaare
//UE4/Dev-AnimPhys - Step 'Run Automated Tests' has completed with 13 Errors
#fix reupdate alembic ground truths, little bit of a weird state
#jira UE-58818
Change 4057710 by Ethan.Geller
[Dev-AnimPhys] #jira UE-58004 Early exit if finish was called before StartSubmixRecording. #rb Aaron.McLeran
Change 4059295 by Ethan.Geller
#jira UE-58004 Reduce logs from fatal to error, fix serialize crash. #rb aaron.mcleran
Change 4061061 by Aaron.McLeran
Fixing animphys build from recent merge from main.
#jira UE-58909
Change 4053154 by Aaron.McLeran
#jira UE-58708 Fix to mic component to reduce clicks/pops on mic input.
Fix was to simplify the way audio is copied from mic input. This change was used on the GDC demo floor for a number of features.
[CL 4062611 by Aaron McLeran in Main branch]
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3805828 by Gil.Gribb
UE4 - Fixed a bug in the lock free stalling task queue and adjusted a comment. The code is not current used, so this is not actually change the way the code works.
Change 3806784 by Ben.Marsh
UAT: Remove code to compile UBT when using UE4Build. It should already be compiled as a dependency of UAT.
Change 3807549 by Graeme.Thornton
Add a cook timer around VerifyCanCookPackage. A licensee reports this taking a lot of time so it'll be good to account for it.
Change 3807727 by Graeme.Thornton
Unhide the text asset format experimental editor option
Change 3807746 by Josh.Engebretson
Remove WER from iOS platform
Change 3807928 by Robert.Manuszewski
When async loading, GC Clusters will be created after packages have been processed to avoid situations where some of the objects that are being added to a cluster haven't been fully loaded yet
Change 3808221 by Steve.Robb
GitHub #4307 - Made GetModulePtr() thread safe by not using GetModule()
^ I'm not convinced by how much thread-safer this is really, but it's tidier anyway.
Change 3809233 by Graeme.Thornton
TBA: Misc changes to text asset commandlet
- Rename mode to "loadsave"
- Add -outputFormat option which can be assigned "text" or "binary"
- When saving binary, use a differentiated filename so that source assets aren't overwritten
Change 3809518 by Ben.Marsh
Remove the outdated UnrealSync automation script.
Change 3809643 by Steve.Robb
GitHub #4277 : fix bug; FMath::FormatIntToHumanReadable 3rd comma and negative value
#jira UE-53037
Change 3809862 by Steve.Robb
GitHub #3342 : [FRotator.h] Fix to DecompressAxisFromByte to be more efficient and reflect its intent accurately
#jira UE-42593
Change 3811190 by Graeme.Thornton
Add support for writing specific log channels to their own files
Change 3811197 by Graeme.Thornton
Minor updates to output formatting and timing for the text asset commandlet
Change 3811257 by Robert.Manuszewski
Cluster creation will now be time-sliced
Change 3811565 by Steve.Robb
Define out non-monolithic module functions.
Change 3812561 by Steve.Robb
GitHub #3886 : Enable Brace-Initialization for Declaring Variables
Incorrect semi-colon search removed after discussion with author.
Test added.
#jira UE-48242
Change 3812864 by Steve.Robb
Removal of some unproven code which was supposed to fix hot reloading BP class functions in plugins.
See: https://udn.unrealengine.com/questions/376978/aitask-blueprint-nodes-disappear-when-their-module.html
#jira UE-53089
Change 3820358 by Ben.Marsh
PR #4358: Incredibuild use ShowAgent by default (Contributed by projectgheist)
Change 3822594 by Ben.Marsh
UAT: Improvements to log file handling.
- Always create log files in the final location, rather than writing to a temp directory and copying in later.
- Now supports -Verbose and -VeryVerbose for increasing log verbosity, rather than -Verbose=XXX.
- Keep a backlog of log output before the log system is initialized, and flush it to the log file once it is.
- Allow buildmachines to specify the uebp_FinalLogFolder environment variable, which is used to form paths for display. When build machines copy log files elsewhere after UAT finishes (eg. a network share), this allows error messages to display the right location.
Change 3823695 by Ben.Marsh
UGS: Fix issue where precompiled binaries would not be shown as available for a change until scrolling the last submitted code change into the buffer (other symptoms, like de-focussing the main window would cause it to go back to an unavailable state, since the changes buffer was shrunk).
Now always queries changes up to the last change for which zipped binaries are available.
Change 3823845 by Ben.Marsh
UBT: Exclude C# projects for unsupported platforms when generating project files.
Change 3824180 by Ben.Marsh
UGS: Add an option to show changes by build machines, and move the "only show reviewed" option in there too (Options > Show Changes).
#jira
Change 3825777 by Steve.Robb
Fix to return value of StringToBytes.
Change 3825810 by Ben.Marsh
UBT: Reduce length of include paths for MSVC toolchain.
Change 3825822 by Robert.Manuszewski
Optimized PIE lazy pointer fixup. Should be up to 8x faster now.
Change 3826734 by Ben.Marsh
Remove code to disable TextureFormatAndroid on Linux. It seems to be an editor dependency.
Change 3827730 by Steve.Robb
Try to avoid decltype(auto) if it's not supported.
See: https://udn.unrealengine.com/questions/395644/build-417-with-c11-on-linux-ttuple-errors.html
Change 3827745 by Steve.Robb
Initializer list support for TMap.
Change 3827770 by Steve.Robb
GitHub #4399 : Added a CONSTEXPR qualifiers to FVariant::GetType()
#jira UE-53813
Change 3829189 by Ben.Marsh
UBT: Now always writes a minimal log file. By default, just contains the regular console output and any reasons why actions are outdated and needed to be executed. UAT directs child UBT instances to output logs into its own log folder, so that build machines can save them off.
Change 3830444 by Steve.Robb
BuildVersion and ModuleManifest moved to Core, and parsing of these files reimplemented to avoid a JSON library.
This should be revisited when Core has its own JSON library.
Change 3830718 by Ben.Marsh
Fix incorrect group name being returned by FStatNameAndInfo::GetGroupName() for stat groups.
The editor populates the viewport stats list by calling this for every registered stat and stat group (via FLevelViewportCommands::HandleNewStatGroup). The menu entry attempts to show the stat name with STAT_XXX stripped from the start as the menu item label, with the free-form text description as a tooltip.
For stat groups, the it would previously just return the stat group name as "Groups" (due to the raw naming convention of "//Groups//STATGROUP_Foo//..."). Since this didn't match the expected naming convention in FLevelViewportCommands::HandleNewStat (ie. STAT_XXX or STATGROUP_XXX), it would fail to add it.
When the first actual stat belonging to that group is added, it would add a menu entry for the group based on that, but the stat description no longer makes sense as a tooltip for the group. As a result, all the editor tooltips were junk.
#jira UE-53845
Change 3831064 by Ben.Marsh
Fix log file contention when spawning UBT recursively.
Change 3832654 by Ben.Marsh
UGS: Fix error panel not being selected when opened, and weird alignment/color issues on it.
Change 3832680 by Ben.Marsh
UGS: Fix failing to detect workspace if synced to a different stream. Seems to be a regression caused by recent P4D upgrade.
Change 3832695 by Ben.Marsh
UGS: Invert the options in the 'Show Changes' submenu for simplicity.
Change 3833528 by Ben.Marsh
UAT: Script to rewrite source files with public include paths relative to the 'Public' folder. Usage is: RebasePublicIncludePaths -UpdateDir=<Dir> [-Project=<Dir>] [-Write].
Change 3833543 by Ben.Marsh
UBT: Allow targets to opt-out of having public include paths added for every dependent module. This reduces the command line length when building a target, which has recently become a problem with larger games (due to Microsoft's compiler embedding the command line into each object file, with a maximum length of 64kb). All engine modules are compiled with this enabled; games may opt into it by setting bLegacyPublicIncludePaths = false; from their .target.cs, as may individual modules.
Change 3834354 by Robert.Manuszewski
Archetype pointer will now be cached to avoid locking the object tables when acquiring its info. It should also be faster this way regardless of any locks.
#jira UE-52035
Change 3834400 by Robert.Manuszewski
Fixing crash on exit caused by cached archetypes not being cleaned up before static exit cleanup.
#jira UE-52035
Change 3834947 by Steve.Robb
USE_FORMAT_STRING_TYPE_CHECKING removed from FMsg::Logf and FMsg::Logf_Internal.
Change 3835004 by Ben.Marsh
Fix code that relies on dubious behavior of requiring referenced "include path only" modules having their _API macros set to be empty, even if the module is actually implemented in a separate DLL.
Change 3835340 by Ben.Marsh
Fix errors making installed build from directories with spaces in the name.
Change 3835972 by Ben.Marsh
UBT: Improved diagnostic message for targets which don't need a version file.
Change 3836019 by Ben.Marsh
UBT: Fix warnings caused by defining linkage macros for third party libraries.
Change 3836269 by Ben.Marsh
Fix message box larger than the screen height being created when a large number of modules are incompatible on startup.
Change 3836543 by Ben.Marsh
Enable SoundMod plugin on Linux, since it's already supported through the editor.
Change 3836546 by Ben.Marsh
PR #4412: fix type mismatch (Contributed by nakapon)
Change 3836805 by Ben.Marsh
Fix commandlet to compile marketplace plugins.
Change 3836829 by Ben.Marsh
UBT: Fix ability to precompile plugins from installed engine builds.
Change 3837036 by Ben.Marsh
UBT: Write the previous and new contents of intermediate files to the log if they change. Makes it easier to debug unexpected rebuilds.
Change 3837037 by Ben.Marsh
UBT: Fix engine modules having inconsistent definitions depending on whether modules are only referenced for their include paths vs being linked into a binary (due to different _API macro).
Change 3837040 by Ben.Marsh
UBT: Remove code that initializes members in ModuleRules and TargetRules objects before the constructor is run. This is no longer necessary, now that the backwards-compatible default constructors have been removed.
Change 3837247 by Ben.Marsh
UBT: Remove UELinkerFixups module, now that plugins and precompiled modules do not require hacks to force initialization (since they're linked in as object files).
Encryption and signing keys are now set via macros expanded from the IMPLEMENT_PRIMARY_GAME_MODULE macro, via project-specific macros added in the TargetRules constructor.
Change 3837262 by Ben.Marsh
UBT: Set whether a module is an engine module or not via a default value for the rules assembly. All non-program engine and enterprise modules are created with this flag set to true; program targets and modules are now created from a different assembly that sets it to false. This removes hacks from UEBuildModule needed to adjust behavior for different module types based on the directory containing the module.
Also add a bUseBackwardsCompatibleDefaults flag to the TargetRules class, also initialized to a default value from a setting passed to the RulesAssembly constructor. This controls whether modules created for the target should be configured to allow breaking changes to default settings, and is set to false for all engine targets, and true for all project targets.
Change 3837343 by Ben.Marsh
UBT: Remove the OverrideExecutableFileExtension target property. Change the only current use for this (the MayaLiveLinkPlugin target) to use a post build step to copy the file instead.
Change 3837356 by Ben.Marsh
Fix invalid character encodings.
Change 3837727 by Graeme.Thornton
UnrealPak: KeyGenerator: Only generate prime table when required, not all the time
Change 3837823 by Ben.Marsh
UBT: Output warnings and errors when compiling module rules assembly in a way that allows them to be double-clicked in the Visual Studio output window.
Change 3837831 by Graeme.Thornton
UBT: When parsing crypto settings, always load legacy data first, then allow the new system to override it. Provides the same key backwards compatibility that the editor settings class gives
Change 3837857 by Robert.Manuszewski
PR #4404: Make FGCArrayPool singleton global instead of per-CU (Contributed by mhutch)
Change 3837943 by Robert.Manuszewski
PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch)
Change 3838451 by Ben.Marsh
UBT: Fix exceptions thrown on a background thread while caching C++ includes not being caught and logged correctly. Now captures exceptions and re-throws on the main thread.
#jira UE-53996
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 3843790 by Graeme.Thornton
UnrealPak: Log the size of all encrypted data
Change 3844258 by Ben.Marsh
Fix plugin compile failure when created via new plugin wizard. Passing -plugin on the command line is unnecessary, and is now reserved for packaging external plugins for the marketplace.
Also extend the length of time that the error toast stays visible, and don't delete the plugin on failure.
#jira UE-54157
Change 3845796 by Ben.Marsh
Workaround for slow performance of String.EndsWith() on Mono.
Change 3845823 by Ben.Marsh
Fix case sensitive matching of platform names in -TargetPlatform=X argument to BuildCookRun.
#jira UE-54123
Change 3845901 by Arciel.Rekman
Linux: fix crash due to lambda lifetime issues (UE-54040).
- The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+).
(Edigrating 3819174 to Dev-Core)
Change 3846439 by Ben.Marsh
Revert CL 3822742 to always call Process.WaitForExit(). The Android target platform module in the editor spawns ADB.EXE, which inherits the editor's stdout/stderr handles and forks itself. Process.WaitForExit() waits for EOF on those pipes, which never occurs because the forked process never terminates.
Proper fix is probably to have the engine explicitly duplicate stdout/stderr handles for new pipes to output process, but too risky before copying up to Main.
Change 3816608 by Ben.Marsh
UBT: Use DirectoryReference objects for all include paths.
Change 3816954 by Ben.Marsh
UBT: Remove bIncludeDependentLibrariesInLibrary option. This is not widely supported by platform toolchains, and is not used anywhere.
Change 3816986 by Ben.Marsh
UBT: Remove UEBuildBinaryConfig; UEBuildBinary objects are now just created directly.
Change 3816991 by Ben.Marsh
UBT: Deprecate PlatformSpecificDynamicallyLoadedModules. We no longer have any special behavior for these modules.
Change 3823090 by Ben.Marsh
UAT: Improve logging for child UAT instances.
- Calling RunUAT now requires an identifier for prefixing into the parent log, which is also used to determine the name of the log folder.
- Stdout is no longer written to its own output file, since it's written to the parent stdout, the parent log file, and the child log file anyway.
- Log folders for child UAT instances are left intact, rather than being copied to the parent folder. The derived names for the copied names were confusing and hard to read.
- Output from UAT is no longer returned as a string. It should not be parsed anyway (but may be huge!). ProcessResult now supports running without capturing output.
Change 3826082 by Ben.Marsh
UBT: Add a check to make sure that all modules that are precompiled are correctly marked to enable it, even if they are part of the build target.
Change 3827025 by Ben.Marsh
UBT: Move the compile output directory into a property on the module, and explicitly pass it to the toolchain when compiling.
Change 3829927 by James.Hopkin
Made HTTP interface const correct
Change 3833533 by Ben.Marsh
Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.
Change 3835826 by Ben.Marsh
UBT: Precompiled targets now generate a separate manifest for each precompiled module, rather than adding object files to a library. This fixes issues where object files from static libraries would not be linked into a target if a symbol in them was not referenced.
Change 3835969 by Ben.Marsh
UBT: Fix cases where text is being written directly to the console rather than via logging functions.
Change 3837777 by Steve.Robb
Format string type checking added to FOutputDevice::Logf.
Fixes for those.
Change 3838569 by Steve.Robb
Algo moved up a folder.
[CL 3847482 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb none
#rnx
============================
MAJOR FEATURES & CHANGES
============================
Change 3760710 by Thomas.Sarkanen
Fix crash deleting primitives in PhAT
Crash in tooltip generation for shapes. Tree items still exist in the frame before the tree gets regenerated (as the widget defers their destruction a frame), so they can end up pointing at out of date data.
#jira UE-52404 - Crash deleting bodies
#tests deleted primitives in PhAT
Change 3760798 by Martin.Wilson
Initialize PosesToEvaluate so that we don't get stale data crashes after reinitializing
#Jira UE-52343
Change 3761312 by Martin.Wilson
Fix for infrequent crash on module start up
Change 3761333 by Danny.Bouimad
Fixed the Cable actor test correctly, shouldn't fail on cooked platforms any more!
Change 3761550 by Aaron.McLeran
Engine changes requested by oculus for spatializer interface
Change 3761728 by Martin.Wilson
Fix crash when undoing a change on a skeletal mesh that uses virtual bones
#Jira UE-52475
Change 3762032 by Ethan.Geller
#jira UE-49076 Implement PR for VOIP bug fix on Mac
Change 3762109 by Aaron.McLeran
Enabling bAllowAnyoneToDestroyMe on audio components
Change 3762125 by Aaron.McLeran
Checking in missing file
Change 3762568 by Aaron.McLeran
Fixing ogg vorbis 5.1 channel ordering channel maps in audio mixer
Fix is to create separate 5.1 channel maps for various output channel counts and pull those channel maps if the source file was decoded from vorbis. This pattern is copied from old xaudio2source code which handles 5.1 channel mapping seperately. Alternative solution would be to swizzle vorbis channels during cook, but this would break backward compatibility. We'll consider that solution in the future once we remove the old audio engine code.
Change 3762571 by Aaron.McLeran
Adding multichannel file support.
- Spoofing the multi-channel file importer tool by allowing a single multichannel file to generate data in the same way
- Moved the wave serializer code from audio capture plugin to audio.h/.cpp for general use
Change 3762626 by Aaron.McLeran
Adding ability to automatically tag ambisonics files.
Change 3762627 by Aaron.McLeran
Fixing up source buses to be more useful
- Added pre and post source effect bus sends types.
- Adjusted where in the source generation pipeline distance-based filtering is applied to a source. Source audio is sent to source buses immediately after source effect chain generation and before per-source distance-based filters are applied and distance attenuation.
Change 3762652 by Aaron.McLeran
Fix for device hot swap
Change 3762725 by Ethan.Geller
Fixing multichannel indices so that it matches the multichannel cook
Change 3762738 by Ethan.Geller
Add ambisonics plugin support
Change 3762739 by Ethan.Geller
Updating oculus audio plugin
- Base implementation by Peter Sterling at Oculus
- Ambisonics decoding using Oculus API implemented by Ethan
Change 3763687 by Martin.Wilson
Fix bug in GUID customization that leaves editor in an active transaction + Expose core property set code so other guid customizations can reuse it
#Jira UE-52510
Change 3764412 by Ethan.Geller
Fix the incremental build, pt 2
Change 3764721 by Ethan.Geller
Fix the build, take 3
Change 3764767 by Martin.Wilson
Rebuild array children properties when an item is added. Solves missing item crash if the user immediately tries to set the value of the new item
#Jira UE-52537
Change 3764845 by Aaron.McLeran
Making audio devices call flush after update and before endplay is called to ensure flush is called on audio devices.
Prevents hang on releasing sound wave procedural references in GC.
Change 3766047 by Thomas.Sarkanen
Pinnable command list widget
Added a new "pinnable command list" widget. Shift-clicking a menu option in either the skeleton tree filter or the viewport menus will 'pin' the command outside of the menu. This allows for easier access to commands that are frequently used.
Minor Slate change - added virtual(s) to FUICommandList so commands can be forwarded when executed.
#jira UE-51807 - Add 'quick filter' and visualization toggles UI to PhAT
Change 3766111 by Thomas.Sarkanen
CIS fix
Change 3766273 by Lina.Halper
Rename PostBlendPhysics to FinalizeAnimationUpdate
Change 3768507 by Thomas.Sarkanen
CIS fix
Change 3768637 by James.Golding
Add 'GetSectionFromProceduralMesh' util function
#jira UE-49262
Change 3768649 by Lina.Halper
Moved the automation test to tests folder
#jira:UE-46250
Change 3768675 by Benn.Gallagher
Fixed incorrect deprecated angular velocity accessor.
Change 3768776 by Benn.Gallagher
Fix for skeletal mesh editor crash importing more than 5 LODs
#jira UE-52263
Change 3768804 by Martin.Wilson
Live Link Virtual subjects
Virtuals subjects are created within the client and contain the bones of multiple real subjects
Change 3768874 by Martin.Wilson
UAnimSequenceBase is now entirely exported with ENGINE_API
#Jira UE-48020
Change 3769318 by Lina.Halper
- Animation system owns previous bone transform with revision number, so that it can send to renderer when render recreated.
- Framenumber still exists because clothing system uses it, and I'm planning to talk to Benn about it next week when he comes back
#jira: UEAP-272
Change 3769714 by Lina.Halper
Fix CIS
Change 3770672 by James.Golding
Expose API for changing 'Use CCD' flag at runtime
#jira UE-50332
Change 3770675 by James.Golding
Add test map for 'Set Use CCD' function
Change 3770711 by Thomas.Sarkanen
Multi viewports and bone-locked cameras in animation editor viewports
All animation-related editors now have the ability to open up to 4 seperate viewports onto the same scene, each with their own settings.
Fixed up bounds following to actually work correctly (now follows without lag).
Added the ability to follow (and orbit) a specified bone as well.
#jira UE-47127 - Add the Ability to Open Multiple Viewports on the Same Scene.
#jira UE-49690 - "Camera Follow" in Persona Editor cannot be enabled
Change 3770786 by Lina.Halper
Support curve in copy pose node
#jira: UE-50182
Change 3770943 by James.Golding
Fix 'NODEBUG' option for PVD CONNECT console command (should only send profile data)
Fix from Kier at NVIDIA
#jira UE-52444
Change 3771145 by Benn.Gallagher
Added ability to control whether or not a post process instance runs on a skeletal mesh component. Exposed both to blueprints and anim editor suite
#jira UE-49747
Change 3772262 by Benn.Gallagher
Defaulted the clothing create menu to use the skeletal mesh physics asset
#jira UE-51607
Change 3772389 by Thomas.Sarkanen
Added a keyboard shortcut to toggle between body and constraint selection
Shortcut is Ctrl+T by default.
#jira UE-51804 - Add a quick switch between selected constraints and bodies
Change 3772393 by Thomas.Sarkanen
Constraints are now displayed only once in the physics asset editor tree view
User constraints are still displayed twice, however.
#jira UE-51808 - Constraints in PhAT should only be displayed once in the tree
Change 3772404 by James.Golding
Fix Modify Curve AnimNode not calling CacheBones on source pose
#jira UE-52129
Change 3772418 by Benn.Gallagher
Allowed clothing visualizations to be enabled while clothing paint mode is active.
Fixed crash attempting to visualize backstops when the clothing data has no backstops.
#jira UE-47042
Change 3772964 by Thomas.Sarkanen
Expose sequence recording settings in Persona editors
Added layout extender to Persona module, so external tabs can now be added to all Persona-based editors easily.
Added a structure details view to edit the default animation settings.
Hooked default animation settings up to Persona animation recording.
#jira UE-48416 - Set Frame Rate and Length of Recordings in Persona in Editor
Change 3772967 by Martin.Wilson
Add NativeBeginPlay function to AnimInstance
#jira UE-51351
PR #4135: Add NativeBeginPlay to AnimInstance (Contributed by Vaei)
Change 3772986 by Thomas.Sarkanen
Added "Show Only Selected Constraints" to the physics asset editor
#jira UE-51805 - Add 'show only selected constraints' option to PhAT
Change 3773012 by Benn.Gallagher
Added facility to debug skel mesh component to extend the viewport text seen in skeletal mesh editor and added lines for current cloth value
#jira UE-42354
Change 3773132 by Martin.Wilson
Added Uncheck all unconnected pins for BreakStruct nodes
#jira UE-51136
PR #4110: Uncheck all unconnected pins from BreakStruct node... (Contributed by projectgheist)
Change 3773158 by Benn.Gallagher
Added auto-range feature to cloth view ranges, and a way for tools to extend those ranges when necessary
#jira UE-48109
Change 3773895 by Jurre.deBaare
Move material baking out of experimental
#fix Removed experimental settings gating around Material Baking functionality
#jira UE-52685
Change 3773898 by Jurre.deBaare
Change log message wording when Simplygon fails to initialise to ensure it does not block CIS (error triggers a CIS error and will halt the build)
Change 3773899 by Jurre.deBaare
Add keybind for switching between paint / erase color while mesh painting
#fix Added new command for switching fore and background colors in the mesh painter (defaults to X as shortcut)
#jira UE-52197
Change 3773900 by Jurre.deBaare
Hotkey to enable and disable post processing in the preview scene settings
#fix Added hotkey and command for toggling Post Processing in Preview Scenes
#jira UE-48111
Change 3773933 by Martin.Wilson
Add missing file (for live link monolithic build failure)
Change 3773949 by Jurre.deBaare
Right click add selected to HLOD cluster / create cluster
#fix Partially implemented the request, added context menu to HLOD level nodes in the HLOD outliner treeview to allow creating a new cluster from the current level viewport selection
#jira UE-48334
Change 3773950 by Jurre.deBaare
HLOD cluster drawing should not use AHLODSelectionActor but regular in-viewport drawing
#fix removed old behaviour using a spawned actor to represent a selected HLOD cluster, and replaced it will simple debug drawing (this is a lot less bug prone and much cleaner)
#jira UE-49094
Change 3773964 by James.Golding
Mark FBodyInstance::ResponseToChannels_DEPRECATED as 'WITH_EDITORONLY_DATA'
#jira UE-52545
Change 3773978 by Thomas.Sarkanen
Allow edits to physics sim options to be undone/redone
Added RF_Transactional to the object
#jira UE-48046 - Undo/redo does not work in Physics Asset Editor's Physics/Details menu
Change 3773982 by Martin.Wilson
Add pre and post conversion callbacks to root motion conversion in character movement component
#jira UE-51966
Change 3773988 by Thomas.Sarkanen
Duplicating CL 3773896 from Fortnite:
Push non-rendered anim updates back onto the worker thread
Now when meshes are set to EMeshComponentUpdateFlag::AlwaysTickPose, we optionally kick of a task to perform parallel update only (no evaluation).
#jira UE-46710 - Animation updates run on the main thread when Evaluation task doesnt run
Change 3773999 by Martin.Wilson
Fix incorrect merge
Change 3774030 by Thomas.Sarkanen
Renamed "Create Joints" to "Create Constraints"
#jira UE-50861 - New Physics Asset window reads "Joints" instead of "Constraint"
Change 3774031 by Thomas.Sarkanen
Fixed typo in comment
#jira UE-50841 - Typo in Vertex Weighting Type setting when creating new Physics Asset
Change 3774200 by Lina.Halper
Fix crash with empty element in the constraint setup
#jira: UE-52686
Change 3774236 by Ori.Cohen
Fix crash when destructible component doesn't mark its killed actors as IgnoreActiveActors
#jira UE-52320
Change 3774284 by James.Golding
Fix constructor order CIS error in AudioMicerSubmix.cpp
Change 3774511 by James.Golding
Fix up removed RevisionNumber param
Change 3774724 by Lina.Halper
Fix of motion blur change of previous bone transform
Change 3775493 by Thomas.Sarkanen
Duplicating CL 3775488 from Fortnite:
Prevented skeletal meshes that are not being ticked due to URO from dispatching tick tasks
#jira FORT-61157 - Run anim update on worker, even if not visible
Change 3775508 by James.Golding
Fix compilation without PhysX, move DeferredReleaseCallback outside WITH_PHYSX block
Change 3775538 by James.Golding
Fix Mac CIS due to missing virtual destructor in IDeferredReleaseCallback
Change 3775921 by Ori.Cohen
Better fix for destructible crash (also fix CIS)
#jira UE-52762
Change 3776054 by Benn.Gallagher
Fixed crash deleting max distance mask from a clothing data entry.
#jira UE-52723
Change 3776063 by Thomas.Sarkanen
Fix static analysis warning
Change 3776331 by Jurre.deBaare
Hierarchical LOD Outliner scrollbar doesn't appear
#fix removed AutoHeight from parent vertical box around HLOD outliner details view
#jira UE-52756
Change 3776704 by Martin.Wilson
Fix array properties not always refreshing when new items are added
#UE-52760
Change 3776755 by Thomas.Sarkanen
Duplicating CL 3776656 from Fortnite:
Fix notifies not getting fired in cases where AlwaysTickPose was set on skeletal mesh components
This was causing AIs to get stuck in montage playback in some circumstances
#jira FORT-61324, FORT-60558
Change 3777385 by Aaron.McLeran
#jira UE-52786 Fix for broken spatialization on xaudio2, old audio engine.
Change 3778233 by Lina.Halper
Removed android from oculus audio platform
Change 3778714 by Ethan.Geller
#jira UE-52818 remove Android from Oculus Audio platforms
Change 3779004 by Lina.Halper
Include "Features/IModularFeatures.h" to cpp
Fix build error
Change 3780324 by Thomas.Sarkanen
Duplicating CL 3778679 from Fortnite-Main:
Fix 100% Linux server crash - dont attempt to run threaded work in a single-threaded environment
We dont attempt to run animation update work multi-threaded in the same conditions that we didnt attempt to run animation eval work previously.
#jira FORT-61548
Change 3763999 by Ethan.Geller
remove space from ambisonics mixer name, fix build
Change 3774470 by James.Golding
Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ 3774039
[CL 3780967 by Thomas Sarkanen in Main branch]