Upgrade notes: second parameter of GetFunctionCallspace overrides should be removed - it served no purpose
#rb Michael.Noland
#ROBOMERGE-SOURCE: CL 6635880 via CL 6639399
#ROBOMERGE-BOT: (vundefined-6620334)
[CL 6639673 by dan oconnor in Main branch]
Clamp values after scaling to prevent too large numbers being passed to FMath::RoundToInt which would result in unexpected values being read.
#jira UE-64430
#rb ryan.gerleve
[CL 4400357 by Peter Engstrom in Dev-Networking branch]
Added ability for unit tests to partially rewind/restart execution, at specific stages, to save time.
#rb none
[CL 4134299 by John Barrett in Dev-Networking branch]
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3808185 by Cody.Albert
Added missing calls to FEditorViewportClient::AddReferencedObjects in overrides
Change 3809824 by Michael.Trepka
Improved the way we generate groups in Xcode project's source code navigator. They are now sorted alphabetically and have correct paths so Xcode no longer displays them in red. Also, added __INTELLISENSE__ to preprocessor definitions for indexing to improve indexing without game header files generated.
Change 3810089 by Jamie.Dale
Fixed PO files failing to import translations containing only whitespace
Change 3811281 by Matt.Kuhlenschmidt
PR #4331: Toggle SIE shortcut only in PIE (Contributed by projectgheist)
Change 3813031 by Matt.Kuhlenschmidt
Fix undocked tabs not dropping at users mouse location
#jira UE-53427
Change 3813361 by Brandon.Schaefer
Print what SDL video driver we are using
Change 3818430 by Matt.Kuhlenschmidt
PR #4365: Incorrect font name and forgotten undef (Contributed by projectgheist)
Change 3818432 by Matt.Kuhlenschmidt
PR #4366: Asset Color Strip updates correct on drag and drop (Contributed by projectgheist)
Change 3818436 by Matt.Kuhlenschmidt
PR #4367: Improved logging (Contributed by projectgheist)
Change 3819886 by Matt.Kuhlenschmidt
Add a way to optionally disable the warning about referenced actors being moved to other levels. Useful for bulk actor moves via script
Change 3819888 by Matt.Kuhlenschmidt
Avoid crashing when a window size becomes too large to render. Instead just ensure and clamp to the maximum allowed size. Avoids crashes where the screen dimensions are saved with super large numbers for unknown reasons
Change 3821773 by Brandon.Schaefer
Fix crash when importing to level
#jira UE-31573
Change 3821892 by Jamie.Dale
Improved the localized asset cooking so that it only cooks L10N variants if their source asset is cooked
#jira UE-53010
Change 3823714 by Christina.TempelaarL
#jira UE-52179 added support for grayscale PSD files
Change 3826805 by Christina.TempelaarL
#jira UE-49636 SceneCaptureComponent2D hidden actor and show only actors disabled in blueprints
#jira UE-53445 SceneCaptureComponent2D hidden actors always disabled in details layout
Change 3828444 by Anthony.Bills
Add LXC container script for building third party libraries.
The intention is that this should become the only way to rebuild the third party libraries that require system dependencies not included in the cross-compile toolchain and also to rebuild the toolchains. Other third party libraries without any system dependencies could be rebuilt via the cross-compile toolchains/UBT.
This script has been tested running on CentOS 7 and Ubuntu 17.10.
Buy default the x86 and x86_64 builds will be built against a CentOS 6 container (and targeting glibc 1.12) and the aarch64 and armhf builds will use an Ubuntu Ubuntu Trusty (14.04) but this is not yet complete.
Change 3828754 by Brandon.Schaefer
Linux: Fix gamepad thumbstick clicks not registering (github #4209 thanks J??rn M??ller)
#jira UE-45722
#review-3828733 Arciel.Rekman
Change 3830414 by Brandon.Schaefer
Remove circular referencing to a parent window. Move to use AddSP vs AddRaw as well to be safe manually remove ourselves from the selection event delegate list due to Linux pending deletion of windows.
Looks like this should fix UE-28322 as well which I've removed the work around placed in for that.
#jira UE-53918
#review @michael.trepka, @matt.kuhlenschmidt, @arciel.rekman
Change 3830916 by Brandon.Schaefer
More verbose message about missing VK extensions (from Marcin Undak)
#review-3830710 marcin.undak, arciel.rekman
Change 3831339 by Brandon.Schaefer
Default to as-needed for debug mode
#jira none
#review-3830658 Arciel.Rekman
Change 3833102 by Jamie.Dale
Re-added warning for duplicate package localization IDs when gathering asset localization
Change 3834600 by Jamie.Dale
Optimized asset registry filter intersection
Change 3838024 by Brandon.Schaefer
Remove tracking of CLion/CMake build files (from github #4346 thanks reapazor!)
#jira UE-53551
#review-3835803 arciel.rekman
Change 3839969 by Michael.Dupuis
#jira UE-52289: When OnRegister is called on the component make sure our PerInstanceRenderData is up to date
Prevent a possible crash if ClearInstanceSelection was called on a component with no PerInstanceRenderData existing
Change 3840049 by Michael.Dupuis
#jira UE-52975: Was always performing the equivalent of an Add, so now we use the Transform during the duplicate
Change 3840071 by Matt.Kuhlenschmidt
- Combine some shader params for slate in order to reduce overhead setting uniform buffers
- Added better stats for slate draw call rendering
- cleaned up huge lambda in Slate rendering main function so we can read the main slate rendering function again
Change 3840291 by Michael.Dupuis
#jira UE-53053: Was having a mismatch between the remove reorder and the actual remove
Change 3840840 by Michael.Dupuis
#jira UE-53944: Make sure the LOD generated is in the valid range to prevent the crash
Change 3842072 by Michael.Dupuis
#jira UE-50299: Include NumSubsection in calculation of component quad factor
Change 3842487 by Christina.TempelaarL
#jira UE-50573 HighResShot has wrong res in immersive mode
Change 3845702 by Matt.Kuhlenschmidt
PR #4381: DefaultASTCQualityBySpeed too high max value. (Contributed by kallehamalainen)
Change 3845706 by Matt.Kuhlenschmidt
PR #4388: Only restore window if minimized (Contributed by projectgheist)
Change 3845993 by Christina.TempelaarL
#jira UE-41558 crash when selecting PostProcessingVolumes in separate levels
Change 3856395 by Brandon.Schaefer
No longer using ALAudio on Linux
#jira UE-53717
Change 3858324 by Michael.Trepka
Preserve command line arguments in Xcode project when regenerating it
Change 3858365 by Michael.Dupuis
#jira UE-52049: There was a case where adding and removing multiple time would lead to reordering the instances and this would cause the regeneration of the random stream for all the reorded instances.
Change 3858492 by Michael.Trepka
Updated dependencies for Mac dSYM files so that only cross-referenced modules have their dSYMs recreated on subsequent builds instead of all modules.
Change 3859470 by Michael.Trepka
CIS fix. Make sure a scheme file exists before trying to read it when generating Xcode project.
Change 3859900 by Joe.Conley
Fix for "Check Out Assets" window not properly receiving focus.
Change 3865218 by Michael.Dupuis
#jira UE-45784: Exposed the possibility to edit LDMaxDrawDistance
Change 3866957 by Michael.Dupuis
#jira UE-42509: Added BodyInstance to ULandscapeSplineSegment and ULandscapeSplineControlPoint
Deprecated bEnabledCollision and migrate data as it's replaced by BodyInstance
Change 3867220 by Cody.Albert
Fixed Project Launcher scrollbar to properly stay anchored at the bottom of the scroll area.
Change 3869117 by Michael.Dupuis
#jira UE-42509:Fixed compile error when not having editor data
Change 3872478 by Arciel.Rekman
Linux: disable PIE if compiler enables it by default.
Change 3874786 by Michael.Dupuis
#jira UE-46925: Remove the guessing functionality when importing a heightmap, and instead propose to the user valid size that can be used for the import through a combo button.
Improved usability of the UI by disabling size field when no file was specified
Change 3875859 by Jamie.Dale
Implemented our own canonization for culture codes
Change 3877604 by Cody.Albert
We now validate actor names passed to SetActorLabel to ensure None isn't passed in, which can corrupt levels
Change 3877777 by Nick.Shin
PhysX build fix - this came from CL: 3809757
#jira UE-54924 Cannot rebuild Apex/PhysX/NvCloth .emscripten missing
Change 3881693 by Alexis.Matte
Fix local path search to not search in memory only
#jira UE-55018
Change 3882512 by Michael.Dupuis
#jira none : Fixed screen size calculation to take aspect ratio into account correctly
Change 3886926 by Arciel.Rekman
Linux: fixed checking clang settings during the cross-build (UE-55132).
#jira UE-55132
Change 3887080 by Anthony.Bills
Updated SDL2 build script.
- Now allows compiling inside a CentOS 6 or Ubuntu 12.04 container with wayland support when using the ContainerBuildThirdParty.sh.
- Added multiple build arch support to the BuildThirdParty script and pass this down to the SDL2 build script.
Change 3887260 by Arciel.Rekman
Linux: fix leaking process handles in the cross-toolchain.
Change 3889072 by Brandon.Schaefer
Fix RPath workaround, to better handle both cases
#jira UE-55150
#review-3888119 @Arciel.Rekman, @Ben.Marsh
Change 3892546 by Alexis.Matte
Remove fbx exporter welded vertices options
#jira UE-51575
Change 3893516 by Michael.Dupuis
Remove static mesh instancing async buffer filling, as with all the changes made, it's no longer necessary, the cost of loading very large buffer is negligable
Rebuild the occlusion tree when using foliage.DensityScale with something other than 1.0
Change 3894365 by Brandon.Schaefer
Pass FileReference over a raw string to the LinkEnvironment
#jira none
#review-3894241 @Ben.Marsh, @Arciel.Rekman
Change 3895251 by Brandon.Schaefer
Use X11 pointer barriers to bound the cursor to a region over warping the pointers. Patch from Cengiz
#jira UE-25615
#jira UE-30714
#review-3894886 @Arciel.Rekman
Change 3897541 by Michael.Dupuis
#jira UE-53787: Added guard if for some reason the material is null we should not try to draw using this material
Change 3904143 by Rex.Hill
#jira UE-55366: Fix crash when overwriting existing level during level save as
#jira UE-42426: Map '_BuiltData' can now be deleted when selected at same time as map
- Map '_BuiltData' package is now garbage collected when switching maps in the editor
Change 3906373 by Brandon.Schaefer
Fix splash image. Use alias format for big/little endian machines.
#jira none
Change 3906711 by Rex.Hill
#jira UE-42426: BuiltData now deleted with maps
Change 3907221 by Cody.Albert
Add support for relative asset source paths in content plugins
Change 3911670 by Alexis.Matte
Fix assetimportdata creation owner
#jira UE-55567
Change 3912382 by Anthony.Bills
Linux: Add binaries for GoogleTest and add to BuildThirdParty script.
Change 3914634 by Cody.Albert
Added missing include that could cause compile errors if IWYU was disabled.
Change 3916227 by Cody.Albert
Fixing some cases where we check #ifdef WITH_EDITOR instead of #if WITH_EDITOR
Change 3917245 by Michael.Dupuis
#jira UE-35097: Fixed crash when creating a new landscape with 2x2 subsection and material containing grass spawning
Change 3918331 by Anthony.Bills
Linux: Bundled Mono - Explicilty pick libc.so.6 as libc.so is a linker script and store the config file directly.
Change 3920191 by Rex.Hill
#jira UE-44197 Fix saving sub-level level causing MapBuildData to be deleted
Improved MapBuildData rename, move, duplicate, copy
Change 3920333 by Matt.Kuhlenschmidt
Render target clear color property now settable in editor
#jira UE-55347
Change 3926094 by Michael.Dupuis
#jira UE-51502: Added some min/max values to foliage and grass settings to prevent overflow/crash
#coderevew jack.porter
Change 3926243 by Michael.Dupuis
#jira UE-54669: cleaned up invalid/duplicate shader and moved some shaders to appropriate list
Change 3926760 by Jamie.Dale
Added support for TTC/OTC fonts
These can be used via a sub-face index on FFontData, which can be set via a new combo in the font editor. You can also see the cached list of sub-faces within a font file from the UFontFace asset.
Change 3927793 by Anthony.Bills
Mono: Remove SharpZipLib and references from bundled Mono.
#review-3887212 @ben.marsh, @michael.trepka
Change 3928029 by Anthony.Bills
Linux: Add support for UnrealVersionSelector.
- Supports using UVS to launch without a project file. This will then launch the selected engine's project wizard.
- Linux UVS uses Slate for the version selection and error log dialogs.
- Mime-types and desktop file support added to DesktopPlatformLinux to allow associating with UVS as per the Windows binary and git builds.
- Icons added for Linux.
#review-3882197 @arciel.rekman, @brandon.schaefer
Change 3931293 by Alexis.Matte
Add generic Levenshtein edit distance to core algo. This algorithm will help suggesting name matching when users have to resolve material name conflict when re-import fbx meshes.
Add also plenty of automation tests for it.
#jira none
Change 3931436 by Arciel.Rekman
Stop RHI thread before shutting down RHI.
- Prevents crashes for some drivers that create TLS objects with destructors; those destructors will get called after the thread exited, but the library will already be unloaded on RHI shutdown.
Change 3934287 by Alexis.Matte
Fix crash when re-importing skeletal mesh. Skinned component render data resource is now release when re-importing.
#jira none
Change 3937585 by Lauren.Ridge
Added labels to the colors stored in the theme bar.
Change 3937738 by Alexis.Matte
Make sure content browser do not show a preview asset created when we cancel an export animation preview
#jira UE-49743
Change 3941345 by Michael.Dupuis
#jira UE-26959: Prevent reusing multiple type the same grass type into the same material grass output node
Change 3941453 by Michael.Dupuis
#jira UE-47492: Added a guard to validate LayerIndex
Change 3942065 by Jamie.Dale
Fixed crash trying to use FSlateApplication when it wasn't available (eg, in a commandlet)
Change 3942573 by Alexis.Matte
Fix static analysis
Change 3942623 by Michael.Dupuis
#jira 0
Cast to ulong as TaskIndex * NumStripes could exceed an int limit and add an assert if the wraparound is negative
Change 3942993 by Matt.Kuhlenschmidt
PR #4547: Verify the return value of FT_New_Memory_Face (Contributed by jorgenpt)
Change 3942998 by Matt.Kuhlenschmidt
PR #4554: Cleanup log printing (Contributed by projectgheist)
Change 3943003 by Matt.Kuhlenschmidt
PR #4534: Prevent Fatal log when alt tabbing during a level save (Contributed by projectgheist)
Change 3943011 by Matt.Kuhlenschmidt
PR #4518: edit (Contributed by pdlogingithub)
Change 3943027 by Matt.Kuhlenschmidt
PR #4524: Notifications always render on the screen with the main viewport (Contributed by projectgheist)
Change 3943074 by Matt.Kuhlenschmidt
PR #4484: Add group actor to folder (Contributed by ggsharkmob)
Change 3943079 by Matt.Kuhlenschmidt
PR #4431: Git Plugin: replace usage of the 2 cli args "--work-tree" and "--git-dir" by "-C" (Contributed by SRombauts)
Change 3943092 by Matt.Kuhlenschmidt
PR #4434: Git plugin: configure the default remote URL 'origin' (Contributed by SRombauts)
Change 3943132 by Matt.Kuhlenschmidt
PR #4247: Add File picker to Git Path setting on GitSourceControl (Contributed by shiena)
Change 3943141 by Matt.Kuhlenschmidt
PR #4303: Fix ULevelExporterT3D so that it works in a commandlet (Contributed by DSDambuster)
Change 3943349 by Jamie.Dale
Cleaned up PR #4547
Made the assert non-fatal to avoid it being able to take down the editor if you load up a bad font.
Fixed some code that was deleted during the merge.
Change 3943976 by Michael.Trepka
Copy of CL 3940687
Fixed long link times when building for Mac in Debug by passing -no_deduplicate flag to the linker, which is what Xcode does in Debug configs.
#jira none
Change 3944882 by Matt.Kuhlenschmidt
Fix a few regressions with scene viewport activation locking can capturing the cursor in editor
#jira UE-56080, UE-56081
Change 3947339 by Michael.Dupuis
#jira UE-55664: Fixed undo/redo buffer handling so we remove from the beginning of the buffer during undo buffer where buffer is at max memory and from the end during redo operation.
Fixed cancel also to re add removed transaction at the end or the start depending if we're doing a redo or undo operation
Fixed the Undo History UI to listen to an event when the undo buffer changed instead of checking every frame, as when the buffer was full, no changes would occur, thus no UI update.
Change 3948179 by Jamie.Dale
Fixed monochromatic font rendering
- All non-8bpp images are now converted to 8bpp images for processing in Slate.
- We convert the gray color of any images not using 256 grays (eg, monochromatic images that use 2 grays).
- Fixed a case where the temporary bitmap wasn't being deleted.
- Fixed a case where the bitmap could be used after it was deleted.
- Added a CVar (Slate.EnableFontAntiAliasing) to control whether you want anti-aliased (256 grayscale) rendering (default), or monochromatic (2 grayscale) rendering.
Change 3949922 by Alexis.Matte
Ensure fbx node name are not empty when loading a fbx file. I use the same naming convention as Maya
#jira UE-56079
Change 3950202 by Rex.Hill
Fix crash during editor asset automation tests.
Now skips showing modal progress window when opening asset editor window. ActiveTopLevelWindow is not set when modal windows are open.
#jira UE-56112
Change 3950484 by Michael.Dupuis
#jira UE-52176: delete the Cluster tree when the builder is no longer needed
Change 3954628 by Michael.Dupuis
Bring back 4.19/4.19.1 Landscape changes
Change 3957037 by Michael.Dupuis
#jira UE-53343: Add foliage instances back when changing component size
Changed the formulation for the Clip/Expand behavior to make it more explicit on what will happen
Added SlowTask stuff to manage big landscape change
Change 3959020 by Rex.Hill
Rename/move file MallocLeakDetection.h
Change 3960325 by Michael.Dupuis
Fixed static analysis
Change 3961416 by Michael.Dupuis
#jira UE-46100: Exposed UseDynamicInstanceBuffer on Foliage type, so user can decide if they want to update them dynamically
#jira UE-55092: Fixed the warning to appear when having resource array as empty but VB as set up
Added data conssitency that when using Dynamic buffer, Keep CPU Access should also be true, even if implicitly it's already the case, now it's explicit
Change 3962372 by Michael.Trepka
Copy of CL 3884121
Fix for SProgressBar rendering incorreclty on Mac
#jira UE-56241
Change 3964931 by Anthony.Bills
Linux: Add cross-compiled binary of UVS Shipping.
Change 3966719 by Matt.Kuhlenschmidt
Fix parameters out of order here
#jira UE-56399
Change 3966724 by Matt.Kuhlenschmidt
PR #4585: Export symbols for the FDragTool (Contributed by Begounet)
Change 3966734 by Matt.Kuhlenschmidt
PR #4596: fix the slider issue of the HighResolutionScreenshot window (Contributed by mamoniem)
Change 3966739 by Matt.Kuhlenschmidt
Removed duplicated code
#jira UE-56369
Change 3966744 by Matt.Kuhlenschmidt
PR #4602: Fixes check for existing extensions when generating "All Extensions". (Contributed by PhilBax)
Change 3966758 by Matt.Kuhlenschmidt
PR #4604: Fixed an issue where the Modules and DebugTools tabs would be unrecognized after startup if docked in the level editor (Contributed by tstaples)
Change 3966780 by Matt.Kuhlenschmidt
Fix crash accessing graph node title widgets when objects have become stale.
#jira UE-56442
Change 3966884 by Alexis.Matte
Fix speedtree uninitialized values
#jira none
Change 3967568 by Alexis.Matte
Do not override the screensize when importing a skeletal mesh, let the value set by the AddLodInfo function
#jira UE-56493
Change 3968333 by Brandon.Schaefer
Fix order of operation
#jira UE-56400
Change 3969070 by Anthony.Bills
Linux: Make sure to set the UE_ENGINE_DIRECTORY
#jira UE-56503
#review-3966609 @arciel.rekman, @brandon.schaefer
Change 3971431 by Michael.Dupuis
#jira UE-56515: Fixed an issue where ForcedLOD > MaxLOD and make sure that LastLOD will at least contain current streamed in LOD.
#jira UE-56517: When using ParallelInitView 1 there was a memory leak related to a reallocate that happen with the TArray of FMemstack
Pass correctly LODDistanceFactor instead of View.LODScale as we do not want StaticMeshScale to affect us.
Change 3971467 by Matt.Kuhlenschmidt
Fixed crash deleting a texture with texture painting on it
#jira UE-56994
Change 3971557 by Matt.Kuhlenschmidt
Fix temporary exporter objects being potentially GC'd and causing crashes during export
#jira UE-56981
Change 3971713 by Cody.Albert
PR #4597: [FPS Template] Small null pointer check fix and cleanup (Contributed by TheCodez)
Change 3971846 by Michael.Dupuis
#jira UE-56517: Properly "round" the count so we have the right amount of memory reserved
#jira UE-56515: Still had a edge case left, so when using forced lod i simply make sure the value is in valid range, and allocate all the required data for this range
Change 3973035 by Nick.Atamas
Line and Spline rendering changes:
* Lines/Splines now use 1 UV channel to anti-alias (this channel can be used for texturing)
* Anti-aliasing filter now adjusted based on resolution
* Modified Line/Spline topology to accomodate new UV requirements
* Disabled vertex snapping for anti-aliased lines/splines; previously vertexes were snapped, but vertex positions did not affect line rendering (behavior effectively unchanged)
* Splines now adaptively subdivided to avoid certain edge-cases
Change 3973345 by Nick.Atamas
- Number tweaks to maintain previously perceived wire thickness in various editors.
Change 3977764 by Rex.Hill
MallocTBB no longer debug fills bytes in development configuration
Change 3978713 by Arciel.Rekman
UVS: Fix stale dependency.
Change 3980520 by Matt.Kuhlenschmidt
Fix typo
#jira UE-57059
Change 3980557 by Matt.Kuhlenschmidt
Fixed negative pie window sizes causing crashes
#jira UE-57100
Change 3980565 by Matt.Kuhlenschmidt
PR #4628: Fixed revert action, now correctly uses CanRevert() condition (Contributed by Kryofenix)
Change 3980568 by Matt.Kuhlenschmidt
PR #4626: UE-57111: Handle CaptureRegion for HighResShot in PIE (Contributed by projectgheist)
Change 3980580 by Matt.Kuhlenschmidt
PR #4567: [Editor UI] Pick Parent Class dialog: set keyboard focus and handle Escape & Enter (Contributed by SRombauts)
Change 3980581 by Matt.Kuhlenschmidt
PR #4565: [Editor UI] Add C++ Class dialog: set keyboard focus and handle Escape & Enter (Contributed by SRombauts)
Change 3981341 by Jamie.Dale
Re-added GIsEditor condition around package namespace access
#jira UE-55816
Change 3981808 by Ryan.Brucks
Added LandscapeProxy functions to push RenderTarget data to Heightmaps and Weightmaps
Change 3983344 by Jack.Porter
#include fixes for CL 3981808
#jira 0
Change 3983391 by Jack.Porter
One for #include fix for CL 3981808
#jira 0
Change 3983562 by Michael.Dupuis
#jira UE-53787: Make sure the material array is valid before trying to generate static mesh batch element
#jira UE-56451: Instead of asserting, simply skip this element as it had invalid custom data anyway, so we can't render it
Change 3983600 by Matt.Kuhlenschmidt
PR #4289: Pragma Once/Include guard cleanup (Contributed by projectgheist)
Change 3983637 by Matt.Kuhlenschmidt
PR #4408: Add a template pregeneration hook (Contributed by mhutch)
Change 3984392 by Michael.Dupuis
#jira UE-56314: Correctly apply LODBias on calculated LOD
Fixed some Landscape popping that could occur when we were forcing a LOD that didn't match the component screen size
Change 3984950 by Rex.Hill
Optimized texture import speed 2-3x depending on number of cpu cores and image size
Change 3985033 by Rex.Hill
File drag and drop is more quick to respond when editor is in background
#jira UE-57192
Change 3986218 by Jack.Porter
Missing template parameter fix for CL 3981808
#jira 0
Change 3986376 by Michael.Dupuis
#jira UE-56453: Do not use the CreateDynamicMaterialInstance as it will change the parenting of the actor used material, instead simply use the function to generate the MID and parent it correctly.
Change 3989391 by Matt.Kuhlenschmidt
Fix constant FName lookup in level editor when checking various states of level editor tabs
Change 3990182 by Rex.Hill
Optimize editor startup time: GetCurrentProjectModules
Change 3990365 by Alexis.Matte
Fix crash with spline mesh when the attach SM get a new imported LOD
#jira UE-57119
Change 3991151 by Rex.Hill
VR Editor module now waits to load images until VR mode activated in editor. Saves 0.4 seconds of editor startup time.
Change 3991164 by Rex.Hill
Optimize editor startup time: FindModulePaths()
- Invalidates cache when search paths added
- Use cache during wildcard searches containing * and ?
Change 3995366 by Anthony.Bills
Update BuildCrossToolchain script to allow a Linux host targeting multiple Linux architectures (including the hosts arch). Added a patch to support a gcc 4.8.5 based toolchain on windows (potentially useful for users crosscompiling using GCC and libstdc++ and targeting CentOS 7).
#review-3848487 @arciel.rekman, @brandon.schaefer
Change 3996109 by Jamie.Dale
Reworked BP error messages to be more localization friendly
#jira UETOOL-1356
Change 3996123 by Michael.Dupuis
#jira UE-57427: Update random color on load of the component
#jira UE-56272:
Change 3996279 by Merritt.Cely
Removed hardware survey from editor
#jira an-2243
#tests launched the editor
Change 3996626 by Alexis.Matte
Fix crash when SkeletalMesh tangent buffer is empty after the build and we serialize the tangent array.
#jira UE-57227
Change 3996663 by Max.Chen
Sequencer: Fix fbx animation export - rotation and scale channels were flipped.
#jira UE-57509
#jira UE-57512
#jira UE-57514
Change 4000331 by Brandon.Schaefer
Add a GFNameTableForDebuggerVisualizers_MT back only for Unix under the Core module
#review-3999426 @Arciel.Rekman
#jira UE-55298
Change 4000450 by Matt.Kuhlenschmidt
Another guard against a factory being destroyed during import
#jira UE-57674
Change 4000459 by Matt.Kuhlenschmidt
Added check for valid game viewport to see if this is the problem in UE-57677
#jira UE-57677
Change 4000493 by Matt.Kuhlenschmidt
Remove stale GC'd components when refreshing paint mode to prevent crashes
#jira UE-52618
Change 4000683 by Jamie.Dale
Fixed target being incorrect when added via the Localization Dashboard
#jira UE-57588
Change 4000738 by Alexis.Matte
Add a section settings to ignore the section when reducing
#jira UE-52580
Change 4000920 by Alexis.Matte
PR #4219: Fix for SColorGradingPicker preventing PIE (Contributed by projectgheist)
author projectgheist projectgheist@gmail.com
Change 4001432 by Alexis.Matte
Add a fbx re-import resolve material windows, user can now help resolving the material in case the importer fail to found a match.
Change 4001447 by Jamie.Dale
Fixed property table not working with multi-line editable text
Change 4001449 by Jamie.Dale
PR #4531: Localization multiline fix (Contributed by Lallapallooza)
Change 4001557 by Alexis.Matte
Fix a check in fbx scene importer, in case the user import a fbx LOD group with no geometry under it
#jira UE-57676
Change 4002539 by Alexis.Matte
Make the fbx importer global transform options persist in the config file
#jira UE-50897
Change 4002562 by Anthony.Bills
Linux: Enable UVS registering for git builds only and remove old Mono and pre-UVS script code.
Change 4003241 by Alexis.Matte
Fix the staticmesh import socket logic, it was duplicating socket when re-importing
#jira UE-53635
Change 4003368 by Michael.Dupuis
#jira UE-57276:
#jira UE-56239:
#jira UE-54547:
Make sure we can't go above MaxLOD even for texture streaming
Change 4003534 by Alexis.Matte
Fix re-import mesh name match
#jira UE-56485
Change 4005069 by Michael.Dupuis
#jira UE-57594: Add a guard to prevent crash if we have an invalid resource for the heightmap texture (happen when component is deleted, for example)
Change 4005468 by Lauren.Ridge
Widgets should not be removed from parent when they are pending GC
#jira UE-52260
Change 4006075 by Michael.Dupuis
Fixed foliage density scaling to be applied even in editor, except in Foliage edit mode.
Change 4006332 by Arciel.Rekman
UBT: Adding support for bundled toolchains on Linux.
- Authored by Anthony Bills, with modifications.
Change 4007528 by Matt.Kuhlenschmidt
PR #4665: Source control History Window: enlarge column Description (Contributed by SRombauts)
Change 4007531 by Matt.Kuhlenschmidt
PR #4656: UE-57200: Ignore reference to actor if same actor (Contributed by projectgheist)
Change 4007548 by Matt.Kuhlenschmidt
PR #4664: Set Password on EditableText (Contributed by projectgheist)
Change 4007730 by Brandon.Schaefer
Add a new way to symbolicate symbols for a crash at runtime
Two new tools are used for this.
1) dump_syms Will generate a symbol file, which is to large to read from at runtime
2) BreakpadSymbolEncoder Takes the dump_syms file and encodes it in such a way we can do
a binary search at runtime to find a Program Counter to a symbol we are looking for
#review @Arciel.Rekman, @Anthony.Bills
#jira UETOOL-1206
Change 4008429 by Lauren.Ridge
Fixing undo bug when deleting user widgets from the widget tree
#jira UE-56394
Change 4008581 by Cody.Albert
Reinitialize needs to set the audio and caption tracks in addition to the video track or the currently selected track will be lost
Change 4009605 by Lauren.Ridge
Added Recently Opened assets filter under Other Filters in the Content Browser
Change 4009797 by Anthony.Bills
Linux: Update MultiArchRoot path to not cache. Move in tree toolchain location to match UBT convention and make sure the MultiArchRoot is checked before the system.
Change 4010266 by Michael.Trepka
Copy of CL 4010052
Moved some key event handling calls to the main thread on Mac to satisfy new macOS requirements
#jira UE-54623
Change 4010838 by Arciel.Rekman
Linux: limit allowed clang versions to 3.8-6.0.
Change 4012160 by Matt.Kuhlenschmidt
Changed the messagiing on the crash reporter dialog to reflect new bug submission process
#jira UE-56475
Change 4013432 by Lauren.Ridge
Fix for non-assets attempting to add to the Content Browser's recent filter
#jira none
Change 4016353 by Cody.Albert
Improved copy/paste behavior for UMG editor:
-Pasting in the designer while a canvas is selected will place the new widget under the cursor
-Pasting multiple times while a canvas panel is selected in the hierarchy view will cascade the widgets starting at 0,0
-Pasting while something that isn't a panel is selected is now allowed, and will cascade the pasted widgets off the position of the selected widget (as siblings)
-Newly pasted widgets will now be selected automatically
-Pasting multiple widgets at once will try and maintain their relative positions if they're being pasted into a canvas panel
Change 4017274 by Matt.Kuhlenschmidt
Added some guards against invalid property handle access
#jira UE-58026
Change 4017295 by Matt.Kuhlenschmidt
Fix trying to apply delta to a mix of scene components and non scene components. Its acceptable to not have scene components in the selected component list
#jira UE-57980
Change 4022021 by Rex.Hill
Fix for audio desync and video fast-forwarding behavior.
There long delay (500ms+) until samples start arriving unless we use RequestedTimeCurrent.
After delay occurs samples begin arriving at accelerated speed until caught up to playback time leading to visual and audio problems.
#jira UE-54592
Change 4023608 by Brandon.Schaefer
Downscale memory if we dont have enough
#jira UE-58073
#review-4023609 @Arciel.Rekman
Change 4025618 by Michael.Dupuis
#jira UE-58036: Apply world position offset correctly
Change 4025661 by Michael.Dupuis
#jira UE-57681: Added guard to prevent possible crash if either we have an invalid material or the material parent is invalid
Change 4025675 by Michael.Dupuis
#jira UE-52919: if no actor was found in the level skip moving the instances
Change 4026336 by Brandon.Schaefer
Manually generate *.sym files for Physx3
This should be done in the BuildPhysx file
Change 4026627 by Rex.Hill
Fix memory leak fix when playing video and main thread blocks
#jira UE-57873
Change 4029635 by Yannick.Lange
Fix VRMode loading assets only when VRMode starts.
#jira UE-57797
Change 4030288 by Jamie.Dale
Null FreeType face on load error to prevent potential crashes
Change 4030782 by Rex.Hill
Fix save BuildData after changing reflection capture in a new level
#jira UE-57949
Change 4033560 by Michael.Dupuis
#jira UE-57710: Added some guard to prevent crash/assert
Change 4034244 by Michael.Trepka
Copy of CL 4034116
Fixed arrow keys handling on Mac
Change 4034708 by Lauren.Ridge
PR #4699: UE-8508: Update config file to keep folder color in sync (Contributed by projectgheist)
#jira UE-58251
Change 4034746 by Lauren.Ridge
PR #4701: Add option to close tabs to the right of the active tab (Contributed by jesseyeh)
#jira UE-58277
Change 4034873 by Lauren.Ridge
Fix for not being able to enter simulate more than once in a row.
#jira UE-58261
Change 4034922 by Lauren.Ridge
PR #4387: Commands mapped in incorrect location (Contributed by projectgheist)
#jira UE-53752
Change 4035484 by Lauren.Ridge
Tentative fix for crash on pasting comment. All other accesses to UMaterialExpressionComment check its validity first
#jira UE-57979
Change 4037111 by Brandon.Schaefer
Try to use absolute path from dladdr if we can to find the sym files
#jira UE-57858
#review-4013964 @Arciel.Rekman
Change 4037366 by Brandon.Schaefer
Dont check the command line before its inited
#review-4037183 @Arciel.Rekman
#jira UE-57947
Change 4037418 by Alexis.Matte
Remove the checkSlow when adding polygon
Change 4037745 by Brandon.Schaefer
Use as much info as we can during ensure
Just as fast as the old way but with more information
#review-4037495 @Arciel.Rekman
#jira UE-47770
Change 4037816 by Rex.Hill
Import mesh optimization, BuildVertexBuffer
Change 4037957 by Arciel.Rekman
UBT: make it easier to try XGE on Linux.
Change 4038401 by Lauren.Ridge
Reordering is now correctly handled by undo. Reordering and then undoing will no longer cause a "ghost" widget to also be part of the tree.
#jira UE-58206
Change 4039612 by Anthony.Bills
Unix: Check for null StdOut and ReturnCode parameters, otherwise the code may dereference a null variable when the process fails to create.
Change 4039754 by Alexis.Matte
Remove the Render meshdescription, no need to carry this temporary data in the staticmesh
Change 4039806 by Anthony.Bills
Linux: UVS fixes
- Update to use new Unix base platform.
- Use bin/bash instead of usr/bin/bash (may need revisiting later).
- Recompile Shipping version with changes.
- Update Setup.sh to run from correct CWD (due to current limitations in the relative directory handling).
Change 4039883 by Lauren.Ridge
PR #4576: Save editor config to file first time a fav folder is added in the co. (Contributed by projectgheist)
#jira UE-56249
Change 4040117 by Lauren.Ridge
Replacing widgets should now also clear out references to the widget
#jira UE-57045
Change 4040790 by Lauren.Ridge
Tentative fix for Project Launcher crash when platform info not found
#jira UE-58371
Change 4042136 by Arciel.Rekman
UBT: refactor of LinuxToolChain to make it leaner and more configurable.
- Made it possible to override SDK passed to the toolchain.
- Simplified the code by using the same executable names on Windows and Linux (as .exe is optional), except where File.Exists() is needed (also remove a few)
- Some minor renames to make it clear that SystemSDK means system compiler (which otherwise may be unclear)
- Made changes to accomodate the new debug format.
Change 4042930 by Brandon.Schaefer
GCoreObjectArrayForDebugVisualizers was changed to FChunkedFixedUObjectArray reflect that in the Unix part
Change 4043539 by Brandon.Schaefer
Fix callsite address being used at times for the Program Counter
Fix only reporting the actual callstack and not the crash handling callstacks
#review-4041370 @Arciel.Rekman
#jira UE-58477
Change 4043674 by Arciel.Rekman
Added Linux ARM64 (AArch64) lib for MikkTSpace.
- Now required for standalone games due to EditableMesh runtime plugin.
Change 4043677 by Arciel.Rekman
Linux: updated ARM64 (AArch64) version of SDL2.
Change 4043690 by Arciel.Rekman
Linux: allow compiling VulkanRHI for AArch64 (ARM64).
Change 4045467 by Brandon.Schaefer
Add Anthony Bills SetupToolchain.sh script
Used to download the latest toolchain
Change 4045940 by Michael.Trepka
Return empty list instead of null from Mac GetDebugInfoExtensions() in UBT
#jira UE-58470
Change 4046542 by Alexis.Matte
Fix skeletal re-import material assignation
#jira UE-58551
Change 4048262 by Brandon.Schaefer
Rebuild SDL with pulse audio libs
#jira UE-58577
Change 3887093 by Anthony.Bills
Add bundled mono binary for Linux.
- Unify some of the script structure across Mac and Linux.
- This currently uses the same mono C# assemblies as Mac to keep the additional source size down.
- If the Mac mono version is updated, the Linux version will also need to be updated to match the same mono git revision.
- The system version of mono can still be used by setting the UE_USE_SYSTEM_MONO env var to 1.
Change 4003226 by Michael.Dupuis
Refactored StaticMeshInstancing to now use a command buffer to communicate with the GPU to prevent concurent access issues. It's mostly used in Editor or if runtime changes occur, otherwise the data is built and send to the GPU directly without keeping CPU copy.
Changed how the density scaling was applied to be more optimal
Removed UseDynamicInstanceBuffer as the concept is now irrelevant
Change 3833097 by Jamie.Dale
Localization Pipeline Optimization
Manifest/Archives:
Added FLocKey to keep an immutable string and its hash. This is used in several places within manifests and archives to minimize string hashing. FLocTextHelper also now take these in its API.
This also fixes some places where manifests were being iterated by key rather than source string (as this was causing redundant work).
Portable Object:
Cleaned up a lot of redundant code, changed things to use FLocKey, and simplified a lot of string manipulation to use algorithms instead (which proved to be faster).
Asset Gathering:
Optimized the way garbage collection runs while gathering from assets so that we avoid purging assets that we still need to gather from (or are still active dependencies). This also sorts the assets so that we can try and evict dependencies from memory as soon as possible (in much the same way that the cooker does).
Automation:
The gather commandlet can now take multiple configs to process. This is used by automation to avoid starting the editor several times (which can save a significant amount of start-up overhead).
[CL 4052378 by Lauren Ridge in Main branch]
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3809757 by Jon.Nabozny
Fixup BuildPhysx to only set up HTML5 when needed.
Change 3812325 by Jake.Leonard
Fix keyed debug messages from getting scaled to 0 and thus not appearing at all. This appears to be a bug in main as well. Only -1 keyed messages (which are handled differently) will display anything at all as the scale application was removed.
#Jira UE-53579
Change 3828032 by Jon.Nabozny
Make sure the State is set before triggering delegates in FLwsWebSocket.
Change 3837391 by John.Barrett
NetcodeUnitTest updates for better CIS/automation support.
Change 3837392 by John.Barrett
Fixed performance issue with processing piped output for large numbers of unit tests, and fixed unit test windows overlapping - plus other bugfixes.
Change 3837397 by John.Barrett
Moved a unit test to the 'Obsolete' folder.
Change 3837476 by John.Barrett
Reduced unwanted OSS-null logspam.
Change 3844506 by Jake.Leonard
Implementing missing steam leaderboard implementations. Also streamlines and fixes the friends leaderboard too.
#Jira UE-53474,UE-53475,UE-53476
Change 3844803 by Jake.Leonard
Fixing the Steam Leaderboard to allow for overwrite instead of increment.
Please see Jira for recent comments
#Jira UE-24791
Change 3844829 by Jake.Leonard
Does the following:
* Add message on the screen while the presence test is running to let users know that the test is still running.
* Remove the FUniqueNetIDString dependencies in the test
* Fix the Steam Rich Presence from having to do an unnecessary cast
#Jira UE-53066,UE-54177
Change 3851997 by Jake.Leonard
Remove one of the double steam p2p dump prints. Now the socket subsystem is the only one that prints, which will cover more cases anyways and limits the potential of duplicate prints.
Also changes the dump interval to 10s from 3s.
#Jira: UE-53763
Change 3882307 by John.Barrett
Fixed packet flooding protection, and handling of packets with errors, so that they don't delay further packet processing.
When there's an error receiving a packet, make sure the wrong/previous-packets address isn't used for logging.
Change 3882311 by John.Barrett
Restricted socket recv code from CL 3026398/3209824 to TCP, as with UDP it prevented telling the difference between the socket having no data to receive, and receiving a 0-length UDP packet.
This is important for protecting against DoS attacks.
Change 3894785 by Jake.Leonard
Fix replays not ending properly when the user goes to end their PIE instance.
#Jira UE-54488
Change 3902627 by Jake.Leonard
Fix the demo time values being incorrect if our delta would push us to the end of the replay. Since we're done, we early out of the functions before we have a chance to update the DemoCurrentTime variable. This causes issues with UI elements as it looks like the replay is not over but it actually is.
#Jira UE-54483
Change 3902632 by Jake.Leonard
Fix voice issues on seamless travel for NullOSS
#Jira UE-54899
Change 3904775 by Jake.Leonard
Properly grab the correct world context (we were sometimes grabbing the editor instead, when we wanted the PIE world). These changes will allow us to reliably end the demos. Improves the fix in 3894785.
#Jira UE-54488
Change 3968022 by Ryan.Gerleve
PR #4538: Guarantee Return Value of 0 When GetPortNo() Fails (Contributed by XenonicDev)
Change 3994505 by Jake.Leonard
Fix some shootergame minor bugs:
1. If there's no map selector UI option, just search for all maps. This fixes the only seeing Sanctuary bug (first option in the maplist)
2. Always make the server push gametype (which is just TeamDeathmatch by default)
#Jira none
Change 3999511 by Jake.Leonard
FArchive serializer for FUniqueNetIdSteam
#Jira none
Change 4014550 by Jake.Leonard
Fix Steam Dedicated Server from linking steamclient dlls, which should not be necessary.
This fix introduces a new launch argument (-force_steamclient_link) that can be used to force the steamclient link anyways for licensees who might have required this under extreme circumstances.
#Jira UE-55183
Change 4017165 by Jake.Leonard
Modification of the leaderboard test interface to add more tests as well as arbitrary rank fetches.
Command is "online test leaderboards [optional arbitrary user id for lookup]"
#Jira UE-53533
Change 4017215 by Jake.Leonard
Fix MULTIHOME returning the incorrect ip address on Linux and Android
#Jira UE-57463
Change 4024116 by Ryan.Gerleve
Fix for the transform of spawned rollback actors in replays now that gc is not guaranteed to happen between the destroy and respawn
#jira none
#AUTOMERGE using branch FNMain->DevNetworking of change#3876761 by Brian.Bekich on 2018/02/07 11:06:24.
Change 4024119 by Ryan.Gerleve
Better fix for replay gc changes with rollback actors - rename pending kill copy out of the way first
#jira none
#AUTOMERGE using branch FNMain->DevNetworking of change#3877425 by Brian.Bekich on 2018/02/07 15:14:42.
Change 4024125 by Ryan.Gerleve
Allow replays to ignore rpcs while fast forwarding (demo.FastForwardIgnoreRPCs)
#jira FORT-67138
#AUTOMERGE using branch FNMain->DevNetworking of change#3877483 by Brian.Bekich on 2018/02/07 15:31:41.
Change 4024126 by Ryan.Gerleve
Save additional state of rollback actors in replays to be applied upon respawn (demo.SaveRollbackActorState)
Convert FRepState in object replicator to a shared pointer
#jira none
#AUTOMERGE using branch FNMain->DevNetworking of change#3877681 by Brian.Bekich on 2018/02/07 16:52:11.
Change 4024131 by Ryan.Gerleve
[+] Add -csvdemostarttime and -csvdemoendtime command line arguments to automate CSV profiles when running replays. Since these commands use the playback time of the replay, they are much more reliable than the loading screen method we used previously.
#jira none
#AUTOMERGE using branch FNMain->DevNetworking of change#3879630 by Luke.Thatcher on 2018/02/08 14:26:01.
Change 4024155 by Ryan.Gerleve
Fixed potential null access in DemoNetDriver
#jira none
#AUTOMERGE using branch FNMain->DevNetworking of change#3882753 by Jeff.Farris on 2018/02/09 16:46:43.
Change 4024158 by Ryan.Gerleve
Fixup issues with Demo Recording and Playback when using Streaming Levels.
#jira FORT-65185
#AUTOMERGE using branch FNMain->DevNetworking of change#3889448 by Jon.Nabozny on 2018/02/14 13:09:22.
Change 4024164 by Ryan.Gerleve
Create Burn In for DemoRecording / Replays
#jira NONE
#AUTOMERGE using branch FNMain->DevNetworking of change#3890879 by Jon.Nabozny on 2018/02/15 01:31:47.
Change 4024176 by Ryan.Gerleve
Added DemoNetDriver::IsSavingCheckpoint.
#jira none
#AUTOMERGE using branch FNMain->DevNetworking of change#3897504 by Jeff.Farris on 2018/02/19 12:55:37.
Change 4024178 by Ryan.Gerleve
Fix up edge cases in Replays where Actors were being destroyed inappropriately.
#jira None
#AUTOMERGE using branch FNMain->DevNetworking of change#3903472 by Jon.Nabozny on 2018/02/22 09:40:02.
Change 4024181 by Ryan.Gerleve
Support the notion of Rewindable Actors for replays. These are actors that shouldn't be destroyed during scrubbing.
#jira FORT-71396
#AUTOMERGE using branch FNMain->DevNetworking of change#3908062 by Jon.Nabozny on 2018/02/24 11:59:27.
Change 4024184 by Ryan.Gerleve
Add functions to DemoNetDriver to support testing for changes in replicated state.
Clean up RepLayout DiffProperties, support passing flags in, add a flag to include conditional properties.
#AUTOMERGE using branch FNMain->DevNetworking of change#3908132 by ryan.gerleve on 2018/02/24 16:25:20.
Change 4024194 by Ryan.Gerleve
Change a cvar to GetValueOnAnyThread
#AUTOMERGE using branch FNMain->DevNetworking of change#3910273 by ryan.gerleve on 2018/02/26 16:34:44.
Change 4024197 by Ryan.Gerleve
Replication Graph v1. This is the new system for dedicated server performance in BR. It is currently disabled by default. Other changes to engine should have no practical impact on existing behavior.
#jira nojira
Engine Changes Summary
-------------------------------------------
UNetConnection::>ActorChannels no longer public. This is to prevent code from adding/removing actor channels from underneath the ReplicationDriver.
UActorChannel::Close() returns int64 for num bits written. int64 is used because that is what FBitWriter uses.
UNetconnection::DestroyedStartupOrDormantActorGUIDs now private. Add/Remove/Reset methods are exposed. This is so RepDriver can intercept these calls (when present).
Added USimulatedClientNetConnection. Use net.SimulateConnections command to add them.
New UNetDriver::ForceNetUpdate function. Notifies replication driver that force net update was called.
UNetDriver::DestroyedStartupOrDormantActors now wraps the FActorDestructionInfo in TUniquePtr. This is so pointers to destruct infos are stable within the map and rep driver can keep track of them in its own list.
UNetDriver::GetFunctionRepLayout exposed as ENGINE_API for RepDriver use.
UNetDriver::ProcessRemoteFunction changes a bit.
-Forwards to RepDriver if present. The intention is to give RepDriver the chance to change routing logic and do its own traffic bookkeeping on the RPC.
-A new function, ProcessRemoteFunctionForChannel exists for the meat of the RPC call which RepDriver probably doesn't want to change and is free to call.
-Removed FRepLayout::SendPropertiesForRPC first UObject parameter because it was not used.
New function UNetDriver::NotifyActorDormancyChange for when actor dormancy changes.
New Functions UNetDriver::AddNetworkActor/RemoveNetworkActor. These forward to the rep driver if present.
-Really want to get rid of public access to GetNetworkObjectList() outside of net code. Doesn't seem easy without breaking backcompat.
New Function UNetDriver::NotifyActorTearOff for when tear off happens.
-bTearOff is public though. RepGraph requires the explicit TearOff() call to notify the system about tear off actors. I'm not sure how to fix this with deprecation warnings. (Keep variable public but warn if accessed)
New UNetDriver::RemoveClientConnection function should be the only place that removes ClientConnections. Forwards to RepDriver.
-Again, would like to make ClientConnections private but it is used all over the place. (Thankfully only one place removes from it).
New UNetDriver::NotifyActorFullyDormantForConnection. So RepGraph can intercept and do its book keeping.
Made UNetDriver::IsLevelInitializedForActor public.
Made UNetDriver::FlushActorDormancyInternal to hold common code that happens when Dormancy is flushed or changes.
FNetworkObjectList::FindOrAdd has optional bool parameter for if actor info was actually added.
UWorld has new delegates for when all starting actors are initialized and registered with networking.
-TODO: NavSystem and AI system should make use of this. The currently has direct function calls into them.
Moved checks for bPendingDormancy/Dormant into UActorChannel::StartBecomingDormant rather than at the callsite(s).
Added GReplicationGatherPriortizeTimeSeconds, GServerReplicateActorTimeSeconds, GReplicateActorTimeSeconds, GNumReplicateActorCalls. These are for new Replication CSV stat group (disabled by default).
FObjectReplicator::QueueRemoteFunctionBunch drops MustBeMappedGUIDs if it suppresses the RPC call. This fixes a bug that exists in both systems.
UWorld::SpawnActor now adds network actor after PostSpawnInitialize rather than prior. This is so the initial location of the actor can be used.
-Deferred actor spawning can still make this not the case, but without this change there is no chance of the actor location being correct.
-In this case, I care about this for FN building actors who do not use deferred spawning.
Added STAT_NetServerGatherPrioritizeRepActorsTime which is the total Server Rep Actor time minus the time spent in ReplicateActor.
-Removed STAT_NumRelevantActors because it made no sense (set to whatever connection repped last).
-STAT_NumReplicatedActors now sum of replicated actors on all connections for the frame.
-STAT_NumReplicatedActorBytes now sum of replicated property bytes on all connections per frame. Does not track package map guid bytes.
-FRepLayout BuildSharedSerializationForRPC/ClearSharedSerializationForRPC exposed as ENGINE_API for RepGraph to use.
Non Networking Engine Changes:
Added optional RenderColor parameter to K2_DrawBox.
ULevel::HasVisibilityChangeRequestPending and ULevel::IsNetActor exposed as ENGINE_API so ReplicationGraph module can call it.
Added AHUD::OnHUDPostRender callback for easier debug huds that don't revolve around players or debug actor targets.
#AUTOMERGE using branch FNMain->DevNetworking of change#3914530 by david.ratti on 2018/02/28 10:53:10.
Change 4024210 by Ryan.Gerleve
DemoNetDriver properly unreadies level status in OnLevelRemovedFromWorld.
#jira none
#AUTOMERGE using branch FNMain->DevNetworking of change#3919218 by ryan.gerleve on 2018/03/01 18:50:11.
Change 4024213 by Ryan.Gerleve
UDemoNetDriver now properly associates actor channel close bunches with the actor's level. Fixes ensures & asserts that were occurring during replay playback due to trying to handle these channel closes while the level was streamed out.
Moved the check for IsRecording in the ConditionallyCreatePacketManager functions to an if, since the check can now be triggered while the demo net driver is shutting down.
#jira FORT-71916
#AUTOMERGE using branch FNMain->DevNetworking of change#3919321 by ryan.gerleve on 2018/03/01 19:26:43.
Change 4024217 by Ryan.Gerleve
Fix for placed actors not respawning in some cases when scrubbing in a replay: don't add startup actors that are destroyed due to level streaming out to a replay checkpoint's destroyed actor list. Added some verbose (off by default) logging to help detect these cases.
#jira FORT-73939
#AUTOMERGE using branch FNMain->DevNetworking of change#3923164 by ryan.gerleve on 2018/03/03 11:19:37.
Change 4024310 by Ryan.Gerleve
Replication Graph:
* Fix issue with dormancy node not fully reseting when spatialization grid is rebuilt
* Improved some logging when failures do happen
* Added Net.RepGraph.Spatial.BiasCreep cvar to force spatial rebuild every frame
* Added blacklist of classes that can never cause a spatial rebuild.
* Fixed issue with dynamic actors changing cull distances dynamically.
* Removed unused rep graph node.
#jira none
#AUTOMERGE using branch FNMain->DevNetworking of change#3931497 by david.ratti on 2018/03/07 11:58:14.
Change 4024316 by Ryan.Gerleve
Replication Graph
-Fix issue where dependant actor channels could stay open
-Fix global actor channel timeout property to actually be used
#jira none
#AUTOMERGE using branch FortniteMainEngine_to_DevNetworkingEngine of change#3933936 by david.ratti on 2018/03/08 08:22:35.
Change 4024365 by Ryan.Gerleve
Added some debug functions: Net.RepGraph.PrintAllActorInfo, FortRepGraph.PrintRouting
Minor cleanup, additional comments
#jira none
#AUTOMERGE using branch FortniteMainEngine_to_DevNetworkingEngine of change#3936644 by David.Ratti on 2018/03/09 11:13:37.
Change 4024369 by Ryan.Gerleve
Fix repgraph crash with certain spawned actors
#jira none
#AUTOMERGE using branch FortniteMainEngine_to_DevNetworkingEngine of change#3937302 by David.Ratti on 2018/03/09 15:03:02.
Change 4024382 by Ryan.Gerleve
Initial work for high priority RPCs. This will allow damage RPCs to be sent immediately at the top of a frame rather than at the end. Currently disabled while testing.
#jira none
#AUTOMERGE using branch FortniteMainEngine_to_DevNetworkingEngine of change#3944887 by David.Ratti on 2018/03/14 10:01:35.
Change 4024384 by Ryan.Gerleve
#UE4 Explicitly discarding the ReplicationDriver in UNetDriver::Shutdown. Fixes a crash when shutting down a net driver when the replication graph object is listening to delegates.
#jira nojira
#AUTOMERGE using branch FortniteMainEngine_to_DevNetworkingEngine of change#3946884 by Bob.Tellez on 2018/03/14 22:03:36.
Change 4024391 by Ryan.Gerleve
GameplayDebugger support for ReplicationGraph. AGameplayDebuggerCategoryReplicator will start replicating once a replication owner is set on it.
#jira none
#AUTOMERGE using branch FortniteMainEngine_to_DevNetworkingEngine of change#3949584 by David.Ratti on 2018/03/16 08:36:01.
Change 4024394 by Ryan.Gerleve
Fix crash in rep graph when spatialization gets rebuilt while dormancy actors were in a particular state.
Dormancy nodes still had delegates registered for their contained actors. Though they dumped the list of actors, they would still get notification when the actors' dormancy changed which would cause them to readd the actors some times. If these nodes overlapped between rebuilds, actors could get readded to the same node twice which ultimately leads to them not being fully removed when they do get destroyed, and garbage AActor* trying to replicate. Net.RepGraph.Verify can catch these problems.
To fix, we are going to MarkPendingKill the GridCell nodes rather than keeping them around and just reseting their actor lists. They will get recreated as needed.
They could have also manually unregistered each of their delegates but this is more complicated and probably performs worse overall (though spatial rebuild is rare/should never really happen in a real game). Just marking the uobject pending kill will suppress the delegate callbacks to the nodes.
#jira FORT-76555
#AUTOMERGE using branch FortniteMainEngine_to_DevNetworkingEngine of change#3952558 by David.Ratti on 2018/03/19 09:19:09.
Change 4024395 by Ryan.Gerleve
RepGraph was not "undormatizing" actors when streaming levels were reloaded like legacy was.
#jira FORT-76729
#AUTOMERGE using branch FortniteMainEngine_to_DevNetworkingEngine of change#3959632 by david.ratti on 2018/03/22 12:51:19.
Change 4024398 by Ryan.Gerleve
Fix for dormant actors not opening actor channel for multicast rpcs in some cases. Use the global cull distance rather than the per-connection which is cleaered for dormancy trickle.
#jira FORT-76101
#AUTOMERGE using branch FortniteMainEngine_to_DevNetworkingEngine of change#3960888 by david.ratti on 2018/03/22 19:23:00.
Change 4024402 by Ryan.Gerleve
Fix dormant actors being instant destroyed not playing their death gameplay cue
#jira FORT-76101
#AUTOMERGE using branch FortniteMainEngine_to_DevNetworkingEngine of change#3965842 by david.ratti on 2018/03/26 17:23:31.
Change 4024403 by Ryan.Gerleve
More robust fix for rep graph having multiple channels for the same actor open simulataneously. Guarded behind CVar_RepGraph_FixDuplicateChannels.
Add a replication driver hook for UActorChannel::CleanUp.
Don't replicate actors or RPCs if the channel is closing.
Don't clear the channel pointer on FConnectionReplicationActorInfo as soon as the channel closes, but wait until it's cleaned up to either clear the channel if the actor's dormant or remove the actor info from the map completely otherwise.
Fixed missing include in ReplicationGraphDebugging.
#jira FORT-77769
#AUTOMERGE using branch FortniteMainEngine_to_DevNetworkingEngine of change#3975732 by ryan.gerleve on 2018/03/30 16:03:25.
Change 4024415 by Ryan.Gerleve
Fix potential actor channel churning by making sure the close frame num is never lowered. This could happen for short-lived dependant actors.
Removed CVar_RepGraph_FixDuplicateChannels: we definitely need this behavior to always be on.
#jira FORT-79292
#AUTOMERGE using branch FortniteMainEngine_to_DevNetworkingEngine of change#3980479 by david.ratti on 2018/04/03 08:25:53.
Change 4024419 by Ryan.Gerleve
Enable Net.RepGraph.EnableRPCSendPolicy by default. This makes damage/weapon firing RPCs be flushed immediately rather than at the end of the frame, resulting in less latency between clients while shooting.
#jira none
#AUTOMERGE using branch FortniteMainEngine_to_DevNetworkingEngine of change#3981390 by david.ratti on 2018/04/03 13:24:34.
Change 4024423 by Ryan.Gerleve
enable Replication csv category by default (when CSV profiling is enabled) on server builds
#jira none
#AUTOMERGE using branch FortniteMainEngine_to_DevNetworkingEngine of change#3981553 by david.ratti on 2018/04/03 14:04:38.
Change 4024424 by Ryan.Gerleve
Replication Graph. These are mostly for engine related purposes/cleanup.
-Don't remove TornOff actors from rep graph when they are destroyed. They are removed when they are torn off already. Fixes benign log warnings.
-When an actor causes spatialization rebuild, set the bias such that the actor is in the middle of new cell. This mitigates the issue where spatialization would be rebuilt every frame once an actor moves "away from the grid".
-When rebuilding spatilization, force garbage collection after tearing down old nodes. This is to mitigate OOMs. You are already going to hitch because of the rebuild anyways.
-Removed some dead/debug code that isnt needed.
#jira none
#AUTOMERGE using branch FortniteMainEngine_to_DevNetworkingEngine of change#3984296 by David.Ratti on 2018/04/04 12:52:54.
Change 4024427 by Ryan.Gerleve
Allow setting thresholds for actor replication frequency buckets to help balance them out if too many actors end up in one bucket.
#jira none
#AUTOMERGE using branch FortniteMainEngine_to_DevNetworkingEngine of change#3990318 by david.ratti on 2018/04/06 14:47:58.
Change 4024475 by Ryan.Gerleve
Const-corrected a few parameters
#jira none
#AUTOMERGE using branch FortniteMainEngine_to_DevNetworkingEngine of change#3904240 by Ryan.Gerleve on 2018/02/22 15:18:50.
Change 4030975 by Jake.Leonard
Fixing Linux configs to move the proper configs into the right files.
#Jira none
Change 4031710 by Jake.Leonard
Implementation #3 of Steam Auth:
Features:
----------------
* Most of stuff from Implementation #2
* Blocks users from progressing unless they pass valid keys to the auth system
* Overrides for licensees to change the behavior
* Requires little to no configs
* Has no P2P mesh support
#Jira UE-10686, UE-50441, UE-50444
Change 4034520 by David.Ratti
Spot edit rep graph fixes from FN
-Fix issue where actor channel is created to queue an unreliable rpc, but then times out before actor is returned from rep graph pull. (update time out frame when queueing the rpc)
-Fix issue where we weren't properly handling DORM_Never when trying to detect dormancy changes.
Change 4037513 by Jon.Nabozny
Fixup some misused clamps reported by users.
Change 4042569 by Brian.Bekich
Add sample repgraph implementation to ShooterGame
#jira UENET-879
Change 4046889 by Brian.Bekich
- Rep graph and nodes now share the graph globals
- Fix rep graph world not being updated when using seamless travel
- Set ShooterSpectatorPawn to not replicate by default to fix rep graph spam
- Move ShooterPickup actors to the static spatialized list
#jira UE-58540
Change 4048648 by Ryan.Gerleve
Change replication driver warning to log.
#jira UE-58578
Change 4048939 by Brian.Bekich
Adding null check for game viewport client to OnPreLoadMap
#jira UE-58579
[CL 4051554 by Ryan Gerleve 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
============================
MAJOR FEATURES & CHANGES
============================
Change 3596568 by Ryan.Gerleve
Restore changelist 3594583
Change 3613386 by John.Barrett
When a NetConnecton rejects a channel, stop processing further bunches from the same ChIndex, within the same packet.
Fixes an edge case triggered by NetcodeUnitTest.
Change 3613422 by John.Barrett
Added net.ForceNetFlush CVar, to force flushing of bunches as soon as they are comitted to the NetConnection buffer.
Helps give more useful stack traces, when tracing packet sends - but should be considered potentially unstable.
Change 3617584 by John.Barrett
Error/warning log tweak, to help with NetcodeUnitTest automation support.
Change 3630704 by Jon.Nabozny
Fix issue where CurrentWorld is null after CancelTravel is called from StartTravel.
Change 3633371 by Ryan.Gerleve
Merged, from Mike.Fricker: send a single RPC for updating level visibility and loaded status when possible
- This is an optimization to avoid RPC spam when there are a large number of players connected
- We now send a single RPC for each local player upon connection or match start to tell the server which levels are visible
- We now send a single RPC from the server to each connected client to tell them which levels they should have loaded
- There are still some cases where we don't batch the RPCs, such as when levels are loaded on the fly in the client.
Change 3639159 by Jon.Nabozny
Fixup code assuming Actor outers were ULevels.
Change 3640190 by Jake.Leonard
First pass Play in Editor replays. Should be backwards compatible with existing replays.
#Jira UENET-659
Change 3643356 by Jake.Leonard
Do not error out if we have a valid pending net game. Current code was erroring and then would attempt to browse again, even though our travel is correct.
#Jira UE-49672
Change 3648785 by Jake.Leonard
Add explicit nullcheck
#Jira UE-49928
Change 3649319 by Jake.Leonard
Fix the double achievement, save and leaderboard write in shooter game if you are a listen server.
All of these functions require a localplayer, which is not true in any case but a listen server.
An RPC that fires off to everyone will end up pushing these stats anyways (since clients write their own stats unless we have server authentication which I don't think UE4 doesn't supports anyways)
#Jira UE-14327
Change 3659736 by Jake.Leonard
Fix steam voice not working after a seemless travel.
#Jira UE-44432
Change 3660990 by John.Barrett
Major NetcodeUnitTest refactor, providing infrastructure for Fortnite MCP support.
Full changes:
- Added UnitTask class, for performing complex game/environment specific setup for UnitTest's, at different stages of execution. Multiple UnitTask's can be assigned to a UnitTest, but they will execute sequentially, and will block UnitTest progression until complete.
- Added FUnitLogInterface, as a generic interface for UNIT_LOG logging, and optionally redirecting logs back to the parent UnitTest for MinimalClient's and UnitTask's - refactored all log related code to be based on this class
- Refactored more ClientUnitTest code into MinimalClient, to reduce co-dependence, and to allow MinimalClient use by UnitTask's - and planned future refactors.
- Added improved tracking/interface, for identifying log events belonging to a particular unit test
- Added ability to specify join URL options, for MinimalClient
- Fixed MinimalClient connections, that were broken by changes to the base control channel messages
- Corrected some relevant logs not getting hooked by the UnitTest log window
- Suppress PackageMap warning/error logs, caused by NetcodeUnitTest hooks, that were triggering automation failures
Change 3660996 by John.Barrett
Added full search highlighting, plus search error tips, to the NetcodeUnitTest log windows.
Full changes:
- Added search highlighting, with checkbox for enabling/disabling highlighting
- Added 'tooltip' notifying when a search failed, and when a search wraps/restarts from the top/bottom
- Focus the search edit box, when the search tab is opened
Change 3660997 by John.Barrett
Added support for reflection with USoftObjectProperty, plus other reflection tweaks.
Full changes:
- Now support reflection with USoftObjectProperty, with cast to FSoftObjectPtr, and can assign soft object properties using strings
- Added support for UStruct-casting with compile-time checks, using GetStructRef (NOTE: Alters the state of the reflection object)
- Adjusted FFuncReflection, to allow modification (rather than just reading) of UFunction parameters
- Added casting of UEnum values to/from strings, and verified proper enum support
- Fixed conversion of UFunction parameter values to strings, due to transient variables not getting exported
- Tightened const-correctness in the internal code
Change 3660999 by John.Barrett
Added simple 'Process Log Watches', to allow use of quick inline delegates/lambda's, to monitor the log output of any process run by a unit test.
Change 3661001 by John.Barrett
Added '-DumpRPCs' commandline parameter in NetcodeUnitTest, which will dump all received RPC calls (plus full parameters) to the log.
Has a bug (feature) where it will also dump all sent RPC's as well - distinguish based on Server/Client prefix.
Other changes:
- Adjusted FProcessEventHook to support global/process-wide hooks for UE4 VM events (particularly RPC's)
Change 3661003 by John.Barrett
Added 'FScopedLogSuppress' to NetcodeUnitTest, for suppressing logs within a certain scope - and fixed a bug with the LogTrace command spamming the log.
Change 3661007 by John.Barrett
Minor NetcodeUnitTest tweaks/fixes.
Change 3661338 by John.Barrett
Fixed Linux compile warning.
Change 3663237 by John.Barrett
Attempted static analysis fixes.
Change 3664787 by John.Barrett
Reduced logspam from scoped logging - and more attempted static analysis fixes.
Change 3674073 by John.Barrett
Another static analysis fix.
Change 3677370 by John.Barrett
Static analysis fixes...
Change 3678820 by John.Barrett
Added '-NetDriverOverrides' commandline parameter, to allow overriding of multiple named net driver definitions, without modifying the config file. See code for documentation.
Change 3679833 by John.Barrett
Added comment to clarify ambiguous code.
Change 3683251 by John.Barrett
Improved 'wrong network actors list' error log.
Change 3683252 by John.Barrett
Added CVars to Steam online subsystem: "OSS.SteamInitServerOnClient" for disabling server API init on clients (to allow running Steam server + client on same computer), and "OSS.SteamUnitTest" to force-enable Steam for unit testing.
Change 3683253 by John.Barrett
Updated NetcodeUnitTest to work with arbitrary net drivers, plus minor refactoring/fixes.
Change 3683254 by John.Barrett
Added unit tests for testing basic net driver functionality, for the IP, HTML5 and Steam net drivers.
Change 3683599 by John.Barrett
Fixed missing includes.
Change 3705189 by Ryan.Gerleve
Changing filetype in attempt to fix a merge issue
Change 3705219 by Ryan.Gerleve
Just delete the file, it's not needed anyway.
Change 3719300 by John.Barrett
Restricted NUTActor spawning on servers, to only happen as part of unit tests.
Change 3719305 by John.Barrett
Made NetcodeUnitTest plugins Developer-only, and enabled them all by default, for automation tests.
Change 3719943 by Jake.Leonard
Test harness for Online Presence Interface.
This does require the testing user to have friends and be connected to the platform.
Usage is "online test presence [OPTIONAL ID]". The id passed should be an arbitrary non-friend. If no id is passed, the arbitrary lookup test is skipped.
This test does wait for presence updates for about two minutes, after this time if no updates are recieved, the harness will mark the test as a failure.
#Jira UE-41232
Change 3720402 by Jake.Leonard
Steam Rich Presence
* Adds a new Steam Presence interface
* Auto-updates presence/status information
* Fixes up some of the rich presence issues in addition to pushing advertisements of users joining game servers reliably (which should also bandaid UE-10686 until secure sessions are implemented, I was not able to fully test this).
#Jira UE-41232
Change 3720467 by Jake.Leonard
Fixing warnings with test interface.
Change 3720533 by Jake.Leonard
Fix ordering warnings
Change 3723717 by Brian.Bekich
change package flag check to account for objects being PIE packages
#jira UE-51513, UE-51601
Change 3723982 by Ryan.Gerleve
PR #4098: Delete ensure for not found nefield during replay (Contributed by ymartel06)
Change 3724030 by John.Barrett
Minor NetcodeUnitTest refactor - implemented a tweaked version of GitHub pull #4097 (by GeorgeR).
Have left out server parms change, as intentionally don't use full project path.
Change 3724047 by Ryan.Gerleve
PR #4096: Fix ENetDormancy enum states to be exposed properly and fix typo in DORN_MAX (Contributed by konflictue)
Updated from original PR to fix spelling and add enum redirect for DORN_MAX.
Change 3724845 by John.Barrett
#PR 4097: Specify full project path for client/server executable (contributed by GeorgeR).
Change 3725519 by Brian.Bekich
Adding local file replay from single file, supports playback/recording and live playback, compression, and recording/updating of events
#jira UENET-847
Change 3726561 by Jake.Leonard
Limit demos to a single active playback in editor.
Also prevent errors from causing crashes in shootergame because it forces global world destruction.
#Jira UE-51582
Change 3728494 by Brian.Bekich
Fix for pvs studio
Change 3730150 by Brian.Bekich
Handle replication of startup actors that get renamed
#jira UE-51387
#jira UE-46951
Change 3730230 by Brian.Bekich
- Prevent warnings from Start/EndSession when no session exists in ShooterGame
- Changed warnings to logs in connection status events
- Disable "Paused" presence key in ShooterGame, it is trivial to spam it in offline games and hit rate limit errors on console
#jira UE-51252
Change 3734054 by John.Barrett
Added support for partial packets to NetcodeUnitTest, to support unusually large connect URL's used by Fortnite.
Fixed a bug where the full connect URL was not passed to NMT_Login.
Added FScopedNetNameReplace class, for replacing FName's serialized during replication.
Change 3734056 by John.Barrett
Adjusted -DumpRPCs commandline parameter, to allow filtering for specific RPC's (with partial string matches), in the format:
-DumpRPCs="RPC1,RPC2"
Change 3734180 by Brian.Bekich
Fix for single process PIE dedicated server ticking objects it should not
#jira UE-15947
Change 3744491 by John.Barrett
Fixed FName crash/exploit while accessing invalid hardcoded names.
#JIRA UENET-787
Change 3750058 by Ryan.Gerleve
Disable net.UseAdaptiveNetUpdateFrequency by default. This causes too many regressions for users who are not using ForceNetUpdate() aggressively.
#jira UE-45681
Change 3750650 by John.Barrett
Added "-MaxAlloc=x" commandline parameter, for limiting the maximum size of any single memory (re)allocation, for debugging.
Change 3750651 by John.Barrett
Adjusted ClientUnitTest to allow overriding of the MinimalClient class.
Fixed AssertDisable command.
Change 3751738 by John.Barrett
Fixed missed non-shipping check.
Change 3752561 by John.Barrett
Made NMT_Login serialize RequestURL as a string again, instead of a TArray - as the latter had no checks for strings with invalid data, which allowed reading past the end of the raw array data.
Also increased the maximum string serialize size, while processing NMT_Login, to allow Fortnite's enormous join URL's - this removes the need to use TArray for the join URL.
#JIRA UENET-850
Change 3752562 by John.Barrett
Made the MinimalClient use a string for the NMT_Login URL again.
Change 3758533 by John.Barrett
Moved NetcodeUnitTest CIS/Automation commandline to file - to help with future tweaks.
Change 3758901 by Brian.Bekich
Modify FSimpleAbstractSocket_FSocket::Send to handle partial sends
#jira UE-52393
Change 3761445 by Brian.Bekich
Fix for temporary scopelocks in steam user cloud interface
Change 3761503 by John.Barrett
Adjusted serialization of TArray's to FArchive's, to properly handle serialization of invalid/negative ArrayNum values, and to limit maximum serialization for archives used by the netcode.
#JIRA UENET-850
Change 3764345 by Ryan.Gerleve
PR #4225: Allow dedicated servers to use voice subsystem override (Contributed by sswires)
Change 3772444 by John.Barrett
Adjusted control channel message defines, to require checking that received parameters were serialized successfully, before executing the message.
Change 3772445 by John.Barrett
Updated control channel messages, to check that parameters were serialized properly.
Change 3773647 by John.Barrett
Fixed a crash/exploit with the lobby ServerKickPlayer function.
#JIRA UENET-732
Change 3775618 by John.Barrett
Made array serialization security fix, more limited in scope, to fix issue with ArrayNum serialization.
Change 3788035 by Jake.Leonard
Fix the test presence harness crashing because the subsystem doesn't have a presence interface hooked up. Also prevent crashes due to already being in a session when the command runs.
#Jira UE-52806, UE-52810
Change 3790676 by Jake.Leonard
Add a world destruction watch to make sure that nothing crashes during the presence test incorrectly due to dangling deleted pointers.
#Jira UE-52961
Change 3792485 by Ryan.Gerleve
Fix merge issues
Change 3793285 by Jake.Leonard
Check to see if the perf counter module is loaded before trying to write stats. This causes perfcounters module to not be loaded during garbage collection.
See comments in JIRA ticket.
#Jira UE-51619
Change 3793402 by Jake.Leonard
Fix the timer that did not clean up properly in a very specific case, thus causing the timer to fire after a test has completed. This now will end the timers correctly.
#Jira UE-52961
Change 3793517 by Jake.Leonard
Fix randrange going out of bounds during a presence test.
#Jira UE-52961
Change 3793563 by Jake.Leonard
Fix yet another crash in the presence test where the world is null while spamming the test command several times in rapid succession.
#Jira UE-52961
Change 3797866 by Bart.Hawthorne
Remove check that would get hit if the player tries to server travel to a world that has the same name as a uasset. Instead, log the failure. The player can then travel using the full path of the umap.
#jira UE-51605
Change 3801245 by Bart.Hawthorne
Fix oodle2.h include directive
[CL 3802705 by Bart Hawthorne in Main branch]
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3780878 by Nick.Darnell
UMG - Providing more information when the compile fails to find a bindable widget.
Change 3780855 by Gil.Gribb
UE4 - Fixed a linear search in EDL that caused performance problems for very large maps. Saves half the load time in FN-BR.
Change 3780803 by Thomas.Sarkanen
Dont create animation tasks for skeletal meshes that have no anim instance
This avoids some wasted work for non-animated attachments, such as pickaxes
#jira FORT-61523 - Don't create anim worker tasks if no AnimBP
Change 3780741 by Yenal.Kal
#jira FORT-60177
Fixed the bug where the anim branching points (begin and end) may be triggered twice incorrectly.
Change 3780663 by Gil.Gribb
UE4 - Batching for audio thread commands.
Change 3780466 by Ben.Marsh
Add error matcher for generic Microsoft errors (eg. 'cl : Command line error D8049 : command line too long to fit in debug record')
Change 3779937 by Nick.Darnell
UMG - Adding an accessor on UUserWidget to get the owning player state easier, since it's a common operation.
Change 3779858 by Sam.Zamani
#http
use separate "-multihomehttp" instead of "-multihome" for routing http socket
#jira FORT-61666
#tests none
Change 3779288 by Michael.Trepka
Changed FMacConsoleOutputDevice::Serialize to use FString's GetNSString() instead of converting the string using FPlatformString::TCHARToCFString to make it safer in case of garbage text passed in Data
#jira FORT-59762
Change 3779062 by Mike.Fricker
Merged CL 3731188 and CL 3733311 from //UE4/Dev-Editor.
----
Improve responsiveness of Open Asset dialog.
On large projects, there's a noticeable delay when opening and searching/filtering assets.
Stopwatch measurements on my machine (seconds for ~122,000 assets):
before with this CL
ctrl-P 1.4 0.45
search 1.8 0.55
CollectionManagerModule was the main culprit for search/filter slowness.
Open Asset delay was due to filtering out plugin content. We were doing a lot of redundant work for what is essentially a read-only operation.
Change 3778954 by Nick.Darnell
Slate - Making the Horizontal and Vertical analog keys configurable in the navigation config. Tweaking how fast the navigation is with the analog stick, trying to tune the feeling.
Change 3778896 by Ben.Marsh
Separate FNameEntrySerialized from FNameEntry, rather than deriving from it. It has to be allocated differently, and many fields cannot be shared between the two.
#jira
Change 3778807 by Ben.Marsh
Fix Tencent include paths not registering if workspace directory contains a space.
Tencent include paths currently have a trailing backslash, and this is surrounded by quotes if the root directory contains a space. The backslash is interpreted as escaping the trailing double quote.
#jira
Change 3778686 by Luke.Thatcher
Reduced impact of dynamic vertex buffer RHI stall in D3D12
- In most cases we can avoid the stall if the vertex buffer has never been used before.
- Only when a buffer has an existing SRV do we need to stall.
- Also, delete copy and move constructors of FD3D12ResourceLocation. Moving or copying an instance of this class leads to double free crashes, so this is now a compile error rather than a runtime crash.
This saves an average of 2ms frame time in a StW lastperftest replay, with r.screenpercentage 10.
#jira FORT-61390
Change 3778679 by Thomas.Sarkanen
Fix 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 3778591 by Ben.Woodhouse
Add build config to FPSChart HTML output
#jira FORT-56478
Change 3778175 by ben.marsh
Remove code to trigger an ensure on Arxan guards. We already send analytics for this, and don't need this legacy path. There is a large number of incoming ensures with this callstack that are clogging up crash reporter.
Will remove all the surrounding code in a later update to a development branch.
#jira
Change 3777750 by Chris.Gagnon
- Slate now supports a CustomBoundary Navigation type wich allows a custom handler if the boundary is hit.
- This provides the ability to have normal navigation while within the boundary and the custom function only on the boundary.
- This differs from Custom which is a full override of the navigation behavior.
Change 3777678 by Bob.Tellez
#UE4 Fix a bug that was causing fastpath nodes in non-nativized BPs to not be fastpath
Change 3776962 by Bob.Tellez
#UE4 Fix warning about missing virtual destructor by making a struct final (like other RHICommands)
Change 3776656 by Thomas.Sarkanen
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 3776655 by Bob.Tellez
#UE4 CIS fix after 3776629
Change 3776650 by Bob.Tellez
Counting uplugin and uproject files as code changes so UGS will trigger code builds on checkins containing these files
Change 3776649 by Nick.Darnell
UMG - Fixing a rare crash when destructing a widget in the designer. It's trying to remove widgets from a half garbage collected panel.
Change 3776629 by Bob.Tellez
#UE4 Using a more efficient data structure for keeping track of visited nodes when verifying EDL.
Change 3776328 by James.Golding
Add command line option (-statnamedevents) for enabling named events
Change 3776024 by Nick.Darnell
Slate - Adding an accessor to SSafeZone to get the amount of padding that will be added, given some scale.
Change 3775569 by Gil.Gribb
UE4 - Fixed bugs with r.DelaySceneRenderCompletion
Change 3775543 by Luke.Thatcher
[XBOXONE] [~] Remove stall in D3D12 CreateRHIBuffer
- Buffer update is enqueued as a task on the RHI thread instead of stalling the RHI thread for the duration of the update.
Change 3775488 by Thomas.Sarkanen
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 3775219 by Bob.Tellez
#UE4 Dont SerializeThumbnails when calling savepackage while editoronly data is excluded (cooking). This saves a lot of memory while cooking
Change 3774886 by Mike.Fricker
Fixed occasional crash when backing out to lobby
- Don't force DF data to be updated when the mesh isn't in the world or has no scene interface
#jira FORT-60863
Change 3774767 by Ori.Cohen
Fix race condition for creating statid in test configs
Change 3774682 by Bob.Tellez
#UE4 Don't bother clearing cached platform data during shutdown purge since there may be a lot of it and it takes a while to destroy it.
Change 3774621 by Bob.Tellez
#UE4 Move Tree rebuilding during cook from Serialize to PreSave to avoid building the tree multiple times for a single platform. Also properly clear out CacheMeshExtendedBounds.
Change 3774201 by Gil.Gribb
UE4 - Fixed rare crash caused by unmounting pak files.
Change 3773920 by Gil.Gribb
UE4 - Added experimental option r.StartPrepassParallelTranslatesImmediately which allows the parallel translate tasks from the prepass to start before we init shadows. Disabled by default.
Change 3773896 by Thomas.Sarkanen
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 FORT-61157 - Run anim update on worker, even if not visible
Change 3773886 by Gil.Gribb
UE4 - Reduced r.RHICmdMinCmdlistForParallelSubmit from 2 to 1.
Change 3773882 by Gil.Gribb
UE4 - Improved profiler markers when they are used without stats to cover the task graph and some things related to the parallel renderer.
Change 3773461 by Gil.Gribb
UE4 - Increased the granularity of the ParallelFor blocks for greater load balancing.
Change 3773459 by Gil.Gribb
UE4 - Adds TLS caches for MallocBinned2 to the Audio thread.
Change 3773458 by Gil.Gribb
UE4 - Added an experimental option to do the slate render before waiting for the rendering tasks.
Change 3773011 by Robert.Manuszewski
Header (uasset) and export (uexp) files will now be compared seperately when running cook commandlet with -diffonly to avoid situations where a mismatch in size of the header produces more differences between exports.
+ Renamed ini setting to ignore header differences from SkipHeaderDiff to IgnoreHeaderDiff
Change 3772867 by Thomas.Sarkanen
Nativization now correctly generates and builds code for "Client" builds
Overall this is a bunch of hacks, but necessary for nativization to work at present. Once the cooker and UAT both have a concept of "Client" targets, this can be implemented properly.
Instead of building to a "Client" directory, we build to "Game" for client-only platforms (like PS4, XboxOne)
Also we need to add "Client" targets to the whitelist for the nativized assets plugin, as UBT still thinks it is building for "Client"
#jira FORT-52823 - Nativizing Player Animation Blueprints
Change 3772408 by Robert.Manuszewski
Cook commandlet will now report full property name when running a diff against the existing cook (-diffonly)
Change 3772359 by Thomas.Sarkanen
Improvements to the Cpp backend to allow VC++ to compile nativized code more effectively
Added a new scoped helper to wrap areas of the code in PRAGMA_DISABLE_OPTIMIZATION. This helps with functions that are large tables or long lists of initializations.
Split anim node initialization up into functions, called from a seperate function dedicated to initializing anim nodes. This splits the 5k+ line constructor into mutiple smaller functions, which the compiler has no problems with.
Overall (along with splitting up the anim BP into functions in the asset) this reduces compilation time for the worst-case compilation unit from ~11m 40s to ~2m 32s.
#jira FORT-52823 - Nativizing Player Animation Blueprints
Change 3771975 by Zak.Middleton
Fix character proxies doing up to two floor check when only rotation changes. Add some optional verbose logging to FindFloor() and ComputeFloorDist().
#jira FORT-61134
Change 3771421 by Ori.Cohen
Fix CIS
Change 3771052 by Robert.Manuszewski
Package diff improvements (-diffonly mode for cooker). Exposed max diffs to report to ini and added the ability to suppress header differences reporting as they are usually a result of differences in exports anyway.
Change 3771039 by Bob.Tellez
#UE4 Allowing use of -FPS in PGO profile builds
Change 3770747 by Ori.Cohen
Added missing stat named events for anim bp
Change 3769616 by Arciel.Rekman
UBT: Use response files for compiler when compiling for Linux.
- Some command lines are too long when cross-compiling on Windows, which is a problem for non-unity builds (or local changes that result in exclusion of checked out files from the lumped units).
Change 3769457 by Gil.Gribb
UE4 - Added eviction to r.DoLazyStaticMeshUpdate. It just removes 10 prims a frame in a rolling fashion.
Change 3769136 by Michael.Noland
Engine: Improve IsServerDelegateForOSS to allow it to use the play world during PIE even if no context was passed in
Change 3768736 by Robert.Manuszewski
More debug info for ensure in FLinkerSave when a name that has not yet been mapped is being serialized
#jira FORT-60943
Change 3768634 by Robert.Manuszewski
Small optimization to FEDLCookChecker::Verify function
Change 3768603 by Robert.Manuszewski
Merging CL #3766740 by Steve.Robb
TMultiMap::Append added.
Change 3768586 by Ben.Woodhouse
csv profiler screen message
Change 3768506 by Thomas.Sarkanen
Duplicating CL 3764661 from Paragon:
Only update Children attached to Sockets in USkeletalMeshComponent::PostBlendPhysics().
Saves ~20% of STAT_UpdateChildTransforms and ~10% of STAT_UpdateLocalToWorldAndOverlaps in 5ofEach_Dusk_vs_Dusk automation test.
#jira OR-46341
#tests LaneMinionFXTests, monolith w/ full teams.
Change 3768504 by Thomas.Sarkanen
Duplicating CL 3758315 from Paragon:
Optimized PostAnimEvaluation when URO is skipping a frame with no interpolation. Skip unnecessary work.
PreEvaluateAnimation() is now only called if we're about to evaluate anims. PostEvaluateAnimation() is also called only if we have evaluated animations.
Therefore PostEvaluateAnimation() has been pulled inside of PostAnimEvaluation() instead of FinalizeTransforms.
Added a call to ConditionallyDispatchQueuedAnimEvents() in the event that we're not calling PostBlendPhysics because we have not evaluated or interpolated anims.
Added missing call to PostEvaluateAnimation() for PostProcessAnimInstance.
#jira OR-46341
#tests minion FX perf map, lane minion test map, monolith match with 2 full teams.
Change 3768097 by Bob.Tellez
#UE4 Fix non-editor CIS
Change 3767957 by Bob.Tellez
#UE4 Fix an issue that was causing FullLoadAndSave to fail to cache platform data for textures that were created by landscape on mobile and another issue that caused parallel saving to fail in landscape (when cooking for mobile targets)
Change 3767906 by Mike.Fricker
Add Blueprint functions to query parameters from MIC
- GetScalarParameterValue
- GetTextureParameterValue
- GetVectorParameterValue
MIDs already had these functions, but MICs did not.
Change 3767737 by Max.Preussner
Engine: Fix for external textures referenced by a material before being associated with a media player never having their uniform expressions recached
#author jack.porter
#jira FORT-59777
Change 3767735 by Bob.Tellez
#UE4 Setting Opened to false in FOutputDeviceFile::TearDown so if the device file gets initialized again it will do the same initialization logic as the first time.
#jira FORT-60918
Change 3767244 by Ethan.Geller
#jira FORT-60885 Merge in fix for memory leak from 4.18.1.
Change 3766567 by Marc.Audy
Fix initialization ordering warnings
Change 3766443 by Jian.Ru
Submit PSO locking fix again as it has passed local tests
Change 3766362 by Ori.Cohen
Added the ability to get concurrent captures in Test configurations without having to turn full stats on
Change 3766277 by Marc.Audy
Shrink Skinned and Skeletal Mesh Component, FBodyInstance, and UBodySetup
Change 3766275 by Marc.Audy
Better pack UTexture* classes
Change 3766272 by Thomas.Sarkanen
Fixes to enable auto-nativization for animation blueprints
For blend profiles in particular, I've added subobject support to the fake import table building for nativized assets:
- In FEmitterLocalContext::FindGloballyMappedObject, if we dont find the referenced asset then we traverse the object's outer chain if it is a subobject. We add it to UsedObjectInCurrentClass if we find its outer.
- Updated the structure used to build the fake import table to include a specified outer. Beforehand we assumed that all objects referenced by the import table were 'top-level'.
- Updated the fake import table building code in FLinkerLoad::CreateDynamicTypeLoader() to use the new specified outer if found. This asserts if it couldnt find the outer in the already-parsed dependencies (as it reverse-iterates). If in the general case thius turns out to be a problem we can move this to a two-pass system.
Disabled fast-path optimization when running a native anim BP, as native code is faster!
#jira FORT-52823 - Nativizing Player Animation Blueprints
#jira FORT-57378 - Perf optimization: animation blueprint improvements
Change 3766215 by Marc.Audy
Shink FFromatContainer from 88 bytes to 24 by storing in TSortedMap instead of TMap
Change 3765664 by Michael.Noland
Engine: Add support for sets to FJsonObjectConverter::JsonValueToUProperty
Change 3765624 by Marc.Audy
Create helper macro in Archive.h for encapsulating needed steps for serializing a bitpacked boolean
Change 3765200 by Nick.Darnell
Slate - Fixing a memory leak in the invalidation panel. It never cleared out the cached textures and materials it kept alive during retention.
Change 3764881 by Wes.Hunt
Fix FApp::Get/SetIdleTimeOvershoot. It was overwriting IdleTime, which made FrameTimeWithoutSleep look like FrameTimeWithSleep.
#jira FORT-60585
#review-3764882 @arciel.rekman
Change 3763872 by Max.Chen
Sequencer: Set default completion mode for all sections to project default.
Copy from Dev-Sequencer
#jira UE-49480
Change 3763871 by Max.Chen
Sequencer: Add config for default completion mode for movie scene sequences. The default for level sequences is RestoreState. All others, such as UMG are set to KeepState.
Copy from Dev-Sequencer
#jira UE-49480
Change 3763810 by Gil.Gribb
UE4 - remove some init timing spew in programs (i.e. UHT)
Change 3762939 by Robert.Manuszewski
Removing all locks from FEDLCookChecker to improve SavePackage performance
Change 3762851 by Bob.Tellez
Duplicating CL#3740778 from //UE4/Dev-Editor
Fixed issue with content browser column sorting
#jira UE-49460
Change 3762660 by Bob.Tellez
#UE4 Fix a few parallelsave threading problems.
Change 3761861 by Marc.Audy
Fix archive complaints about bitfield
Change 3761802 by Marc.Audy
Pack FTimeline, FHitResult, FAnimUpdateRateParameters, FMeshBuildSettings
Change 3761299 by Matt.Kuhlenschmidt
Fix levels not being lockable/unlockable if they are not checked out
#jira FORT-60086
Change 3760422 by Bob.Tellez
#UE4 Stop caching or clearing platform data when saving concurrently. This was causing threading problems in materials.
Change 3760113 by Jian.Ru
Back out changelist 3759715 as it causes a crash on UGS autotest
Change 3759761 by Jian.Ru
Clean up some debug comments
Change 3759715 by Jian.Ru
Removing excessive locking when accessing PSO caches.
Change 3759285 by Nick.Darnell
Editor - Fixing the length of the datatable row dropdown in the editor.
Change 3758334 by Alexis.Matte
Fix a crash when importing morph target there was a unsync between some buffer depending on the import options
#jira UE-52319
Change 3758332 by Ben.Marsh
Fix output subfolder being appended twice when generating project files. Causes incorrect command line when launching from Visual Studio.
#jira
Change 3758215 by Brian.Bekich
Make Tint property of FSlateBrush NotReplicated now that it is WITH_EDITORONLY_DATA so that cooked clients can connect to uncooked servers
Change 3757702 by Bob.Tellez
#UE4 Fix -NoConcurrentSave cook option in FullLoadAndSave
Change 3757545 by ben.marsh
Suppress Arxan warning about being unable to install a default guard at it's default location.
Change 3757452 by Aaron.McLeran
#jira FORT-59675 Client Crash in __delayLoadHelper2()
Fixing build error on linux.
Change 3757389 by Hongyi.Yu
Fixed the crash in UEditorEngine::CheckForWorldGCLeaks() when load a level (level A), PIE, load a sublevel of level A and then load another level.
#jira FORT-58283
Change 3757229 by Aaron.McLeran
#jira FORT-59675 Client Crash in __delayLoadHelper2()
Change 3757077 by Max.Preussner
MediaAssets: Fix for media texture crashing if media player is generated from GC clustered blueprint
#jira FORT-59774
#jira UE-51943
#tests none
Change 3756854 by Mike.Fricker
Fix "double-delete" crash when using level streaming
- Backed out unintentional network checksum change!
Change 3756790 by Bob.Tellez
#UE4 Fix inconsistency with how FSoftObjectPtr case is managed between FLinkerSave and FArchiveSaveTagImports, which would cause a cook ensure under some circumstances
Change 3756639 by Arciel.Rekman
Pool memory (only 64KB allocations) on servers (FORT-60342).
- Has a fixed cost of 1GB virtual memory usage.
#jira FORT-60342
Change 3755995 by Alexis.Matte
Fix crash when importing morph target with "built in" tangent option
#jira UE-52319
Change 3755896 by Arciel.Rekman
Remove unnecessary switch for profiling (part of FORT-58878).
- -fno-omit-stack-pointer is only needed when getting callstacks for perf.
#jira FORT-58878
Change 3755711 by Mike.Fricker
Fix "double-delete" crash when using level streaming
- Initialize network GuidCache entries as soon as Guids are registered on the server so that we can fill them out with valid information before the object is destroyed. Fixes issues when a guid is exported for the first time to send a destroy to clients. (from RyanG)
Change 3755701 by David.Ratti
FObjectReplicator no longer a GCObject since adding/removing from the global GCObject list is too slow. Managing FObjectReplciators's object references at the NetDriver level now.
#jira FORT-60317
#review-3755702 @Ryan.Gerleve
Change 3754928 by Arciel.Rekman
Linux: add LTO support and more.
- Adds ability to use link-time opitimization (reusing current target property bAllowLTCG).
- Supports using llvm-ar and lld instead of ar/ranlib and ld.
- More build information printed (and in a better organized way).
- Native scripts updated to install packages with the appropriate tools on supported systems
- AutoSDKs updated to require a new toolchain (already checked in).
- Required disabling OpenAL due to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219089
#jira FORT-58878
Change 3753986 by Ben.Zeigler
#jira UE-45505 Fix issue where FCoreUObjectDelegates::OnAssetLoaded was being called from an inner loop inside EndLoad. Maps would register components from that callback, and if those registers started their own loads, those objects would be returned in a partially loaded state. We now defer the asset loaded callback to the very end of the loop so recursive loads work properly
Change 3753274 by Ben.Marsh
Fix blank lines in errors and warnings being omitted from notification emails.
#jira
Change 3753175 by Thomas.Sarkanen
Fix hang in animation editor menus
Sound waves were being loaded by the visibility delegate for the 'play' button overlay. This caused major hangs as the ogg compressed data was built on the fly. Handled the unloaded asset case in the various delegates.
Also made the menu larger, as picking a sound wave was all but impossible when you couldnt even see one in the list.
#jira UE-52271 - Persona menu option locks up editor
Change 3752887 by Nick.Darnell
Slate - Adding automatic invalidation to a few more widgets that were found lacking when adding or removing children.
Change 3752785 by Marc.Audy
Avoid doing any work to evaluate streaming volumes if there are no player controllers using streaming volumes
Change 3752185 by Ben.Marsh
Reduce cook time regression caused by correcting package names to match case on disk (to fix deterministic cooking problems). Switched to use IPlatformFile::GetFilenameOnDisk(), and improved performance of FWindowsPlatformFile::GetFilenameOnDisk() by using GetFinalPathNameByHandle() instead of recursively searching up the directory tree.
#jira
Change 3751813 by Ben.Marsh
Improve parsing of diagnostics for deterministic cooking test. Now allows multiple lines in the generic EC error/warning matcher if indented more than the first line, and skips over empty lines.
#jira
Change 3750413 by Ben.Zeigler
Fixes for cook save performance regressions. Add GetAllMarks to object and use that to dramatically reduce contention for the object mark annotation. Implement ShouldLoadForServer/Client directly on some core classes to stop it from calling the slow generic one
Fix issue where refreshing tags for asset registry would do a very slow array delete/add
Improve speed of redirectcollector, there's no need to force-rehash the soft object path list as the remove handles it conditionally
Change 3750014 by Lina.Halper
- duplicate change from following changelists
CL 3669273 - delete all tracks option
- allow to opt out on bone track importing
- fixed pose preview for fullbody to select weights that has pose from asset.
CL 3672170 Remove track support for Animation Blueprint Library
This is required for facial pose retargeting
Change 3749714 by Brian.Bekich
Back out changelist 3748287
#jira FORT-60125
Change 3749377 by Robert.Manuszewski
Improved log formatting for reporting deterministic cook issues.
#jira FORT-59919
Change 3749360 by Robert.Manuszewski
Improved performance of -diffonly mode for cook commandlet for assets with hundreds of thousands of differences.
#jira FORT-59919
Change 3748746 by Hongyi.Yu
Fixed compiling error in Automation project
#jira FORT-59621
Change 3748530 by Mike.Fricker
Fixed non-determinism of landscape grass across platforms/compilers
This causes bushes to be located in different places depending on what platform you were playing on.
1) Random number reseeds were happening as part of function arguments to FVector(), but function argument evaluation order is unspecified, and behaved differently on Consoles/Mac/Windows. Fixed this bug.
2) Strings used for foliage CRCs could use different character sizes on different platforms. Now we always use ANSI.
3) Strings used for CRCs could have possibly have different case. Now forced lowercase.
#jira FORT-60109
Change 3748471 by Zak.Middleton
Added stats to NetDriver TickFlush and stats gathering within that function.
Change 3748287 by Brian.Bekich
Adding net.MaxStringSerializationSize to cap maximum string read from network, default to 4096, used by FNetBitReader
Deprecating MAX_STRING_SERIALIZE_SIZE in favor of the cvar
FInBunch defaults to prior behavior if cvar is 0
UPackageMap::SerializeName and UPackageMapClient::SerializeNameAsString will always cap at NAME_SIZE
Check for path name serialization error before tryng to read checksum
#jira FORT-57974
Change 3747980 by Bart.Hawthorne
In Oodle, only generate and write dictionaries on Windows, Mac, and Linux
Change 3747642 by Gil.Gribb
Fix CIS
Change 3747635 by Zak.Middleton
Avoid string alloc on every ServerMove() call on the server.
Change 3747560 by Gil.Gribb
UE4 - Fixed XBox and Windows thread priorities. Only 2 though -2 seem usable and some of the old values were being ignored.
Change 3747548 by Gil.Gribb
UE4 - Changed thread pool to be TPri_SlightlyBelowNormal so that they will not preempt HP task graph tasks.
Change 3747544 by Bart.Hawthorne
When detecting if Oodle is installed, use the newest version instad of the oldest one.
Change 3746440 by Robert.Manuszewski
Dterministic cook issues reporting improvements
- Huge performance improvements
- Added new metric to the summary: NumberOfDifferencesInPackages
- Diff stats have their own section now (Package.Diff)
- When running with -diffonly there commandlet will not log the Warning/Error summary anymore
- Callstacks are no longer logged with instruction addresses
- Because callstacks are no longer logged with addresses I can collapse them for structures that otherwise would be split into multiple separate callstacks
- Callstacks, Serialized Object and Serialized Property are now indented
- Each asset is capped at 5 entries. If there's more differences, they'll be logged as single warning.
- Replaced \r\n with \n in the callstack log to make it work better with EC
#jira FORT-59919
Change 3746426 by Gil.Gribb
UE4 - Tuned dispatch in the deferred renderer. Added r.DoPrepareDistanceFieldSceneAfterRHIFlush and defaulted it to on.
Change 3746348 by Mike.Fricker
Added new CVars to toggle level streaming behavior
- No effective change to engine yet. The defaults values enable the same default behavior.
- New CVar: "s.ForceGCAfterLevelStreamedOut" (Whether to force a GC after levels are streamed out to instantly reclaim the memory at the expensive of a hitch.)
- New CVar: "s.ContinuouslyIncrementalGCWhileLevelsPendingPurge" (Whether to repeatedly kick off incremental GC when there are levels still waiting to be purged.)
- New CVar: "s.AllowLevelRequestsWhileAsyncLoadingInMatch" (Enables level streaming requests while async loading (of anything) while the match is already in progress and no loading screen is up)
Change 3746127 by Gil.Gribb
UE4 - Slight tweak to more agressively batch occlusion queries.
Change 3746111 by Cecil.McRae
Change 3745681 by Bob.Tellez
#UE4 Prevent attempting to execute a remote process to get the metal shader compiler version if no remove process machine has been configured. (Fixes a warning)
Change 3745631 by Matt.Kuhlenschmidt
Fix details panel crash after compiling blueprints that have edit conditon properties
Change 3744544 by Gil.Gribb
UE4 - Downgraded a fatal error to a warning. Example: Found package without a linker, could find SceneComp in /Game/AIDirector/AIDirector_Fortnite, but somehow wasn't finished loading. This is a sort of cook mismatched caused by the fact that all PS4 cooks have server-only data in them.
#jira FORT-59879
Change 3744419 by Matt.Kuhlenschmidt
Fix opening color picker causing values to change. Was due to conversion between srgb and linear color.
Change 3744270 by Ben.Marsh
Merging change to include deterministic cooking summary from Dev-Core (CL 3743182).
#jira FORT-59919
Change 3743621 by Guillaume.Abadie
Fixes subsurface profile fallback to lit shading model when Opacity == 0, introduced by 3447144.
#jira UE-51569
Change 3743403 by Gil.Gribb
UE4 - Merged lockfree / taskgraph fix from //UE4 (CL 3732262)
Change 3743392 by Gil.Gribb
Merged IO fixed from //UE4 (CL 3641155)
Change 3743376 by Gil.Gribb
UE4 - Added r.WarningOnRedundantTransformUpdate to produce warnings on redundant transform updates.
Change 3743372 by Gil.Gribb
UE4 - Added a stat for distance field verification...which takes a very long time, but does not affect test or shipping config.
Change 3743030 by Bob.Tellez
#UE4 Revert some code the was accidentally merged to UE4Main
#jira UE-52032
Change 3742611 by Josh.Markiewicz
#UE4 - fix for crash in destructor probably related to the freeing of memory via default destructors AFTER CefShutdown() has been called
#tests crashes before, no crash after (not sure if it was a 100% crash but this seems better regardless)
Change 3742187 by Nick.Darnell
Slate - Adding a new optional parameter to direct routing for the widgets under the cursor in Slate Application. Essentially ProcessReply occasionally needs to know the widgets under the cursor, the previous implementation, just used the routing path, this results in missing sending mouse leave messages to widgets under the cursor when dragging begins, which often left things with hover effects in bad states.
Change 3742053 by Michael.Trepka
Copy of CL 3713881
Added -buildscw to Mac Build.sh script to build ShaderCompileWorker in addition to the requested target. Xcode passes it to the script when building non-program targets.
#jira UE-31093
Change 3742050 by Michael.Trepka
Copy of CL 3711085
Reenabled UBT makefiles on Mac
Change 3741924 by Josh.Markiewicz
#UE4 - delete EpicSurvey module
- working toward engine/plugins/online removal from game branch
Change 3741865 by Nick.Darnell
UMG - Fixing a High DPI bug that wasn't scaling the offset for DragDrop widgets when using In-Window rendering that games depend on for DragDrop effects.
Change 3741442 by Ryan.Gerleve
Fix initialization order warnings
Change 3741370 by Ryan.Gerleve
Back out changelist 3689397. The memcpy in one of the FInBunch constructors is not portable and causes this change to break networking on Android.
Change 3740914 by Peter.Knepley
Restore player name obsfuscation
Change 3740828 by Marc.Audy
Dynamically create FKey if the char code is unknown
#jira FORT-59735
Change 3740811 by Ben.Marsh
UAT: Fix double-spacing of lines output by Utils.RunLocalProcess, and use a non-local function to output them for more readable logs.
#jira
Change 3740328 by Bob.Tellez
#UE4 Fix FullLoadAndSave cook method
Change 3740327 by Bob.Tellez
#UE4 Minor movie scene cooking improvements
Change 3740280 by Bob.Tellez
#UE4 Fix shipping config CIS
Change 3740232 by Bob.Tellez
#UE4 Gave OodleHandlerComponent a short name so it doesnt hit maxpath length issues on build machines.
Change 3740209 by Nick.Darnell
UMG - Finishing the ability to add a "Custom" method for Navigation. Currently the editor implementation leaves me wanting, but it works for now. You can put the name of a function to call (needs to match a signature that returns a UWidget).
Change 3740207 by Nick.Darnell
Slate - Navigation attempts when the user claims they are doing custom or explicit, if those methods don't return a valid widget, we don't treat it like the attempt failed and fallback to default navigation methods. Instead we use it as a trigger to indicate that no navigation should occur and treat it like a stop.
Change 3740189 by Bob.Tellez
#UE4 Fix mouse cursor position being set when hovering over the viewport in windowed mode despite not having focus
Change 3740171 by Marc.Audy
Fix merge issue causing compile error for AutomationTool
Change 3739270 by Ben.Woodhouse
Use background task graph affinity on platforms that implement it (e.g. XB1). Saves 8ms on GC spikes and ~0.5ms on the renderthread
#jira FORT-56961
Change 3739244 by Ben.Woodhouse
-statunit commandline option
Change 3738920 by peter.knepley
Fix issue where simulated proxies had bad crouch state when re-entering relevancy
Change 3738904 by Gil.Gribb
UE4 - Moved audio decompression tasks to the background thread pool. Controlled by a cvar AudioThread.UseBackgroundThreadPool, which defaults to 1.
Change 3738378 by Ori.Cohen
Added better profiling for scene query hitches
Change 3736984 by Ben.Woodhouse
Dummy merge: Accept main version of windowsrunnablethread.h, so Windows gets the new priorities
#jira FORT-56700
Change 3736754 by Zak.Middleton
Remove engine hacks of K2_SetActorLocation etc for pending engine merge. Will replace with delegates on transform updates for relevant classes.
Change 3736282 by Hongyi.Yu
Don't check target file while doing iterative shared prebuild cooking.
#jira FORT-58911
Change 3736109 by Michael.Trepka
Updated FMallocLeakDetectionProxy to not use a critical section internally on top of thread safety measures performed by FMallocLeakDetection and the underlying FMalloc implementation. The improvements are biggest on Mac, in particular in low framerate situations, as Metal RHI uses malloc heavily on multiple threads, but it's also a nice 10% improvement on a high end PC.
#jira FORT-55309
Change 3735765 by Ben.Woodhouse
Fix GTSynctype logic when vsync is disabled. This was breaking profiling
Change 3734436 by Marcus.Wassmer
More reliable Aftermath data.
#jira FORT-45518
Change 3734103 by Bob.Tellez
#UE4 Exposing GetRefPosePosition on SkinnedMeshComponent to BPs
Change 3733985 by Saul.Abreu
#jira FORT-58816
"Special case zero-width space in the text shaper to avoid fonts rendering the fallback glyph" - Jamie Dale
Needed to workaround an issue with guillemets (weird arrow quotes).
Change 3733922 by Brian.Bekich
Setting max serialization size in FNetBitReader to prevent runaway string reads from replicated object paths
Check for path name serialization error before tryng to read checksum
#jira FORT-57974
Change 3733850 by Max.Chen
Sequencer: Return unhandled only if not dragged. This fixes a bug where dragging in the track area would sometimes leave the handled state with the time slider controller and not allow you to pop up a menu with the movement tool.
#jira FORT-56092
Change 3733299 by Ethan.Geller
#jira FORT-58943 Handle corner cases for repeated calls to precache buffers.
Change 3732907 by Gil.Gribb
UE4 - Removed slow HLOD code from frustum cull loop and set things up at AddPrim time instead. Saves 1-3ms.
Change 3732728 by Robert.Manuszewski
Fixing a crash when dumping stats with massive callstacks
#jira FORT-58901
Change 3732438 by Marc.Audy
When a client informs the server that it has loaded a streaming level force a net update on all dormant actors that have at one point replicated data to relevant clients and ensure that the connection's destroyed startup/dormant actors list is properly populated.
#jira FORT-56997
Change 3730413 by Lukasz.Furman
fixed PlayerName encryption key
#jira FORT-59066
Change 3729588 by Bob.Tellez
#UE4 Only calling FixupData on load. Fixes crash during parallel saving.
Change 3729475 by Marc.Audy
Fix missing ;
Change 3729444 by Marc.Audy
Fix cases where GetWorld() being called multiple times per function
Change 3729143 by Hongyi.Yu
Added support to extract pak files to mount point.
- Extract with "-ExtractToMountPoint" when extracting pak in DiffCookedContent()
#jira FORT-58635
Change 3728981 by Nick.Darnell
Slate - Fixing a bug with Slate turning on statid tracking even when the slate verbose stats are not being used.
Change 3728838 by Zak.Middleton
Compile out GetWorld() call in check() in Test and Shipping builds, to avoid skewing profiling.
Change 3728604 by Jian.Ru
Submit one render command rather than many in FScene::UpdateParameterCollections
Change 3728434 by Marc.Audy
PostSignificance should always fire when unregistering regardless of whether this is the last object in the tag.
Change 3728427 by Gil.Gribb
UE4 - reduce stat overhead when not collecting stats.
Change 3728197 by Marc.Audy
Properly call post significance on initial registration if the post significance type is sequential
Change 3726266 by Gil.Gribb
UE4 - Force HISMC trees to rebuild during cook. This allow us to change parameters without resaving maps.
Change 3724501 by Marc.Audy
Fix initialization order
Change 3724411 by Ben.Woodhouse
Point light shadow rendering optimization - Made per-triangle culling take Z into account.
In FortGPUTestbed (with grass shadow casting enabled), GSVerticesOut reduced from 464k to 234k.
On xbox one, a pointlight GPU cost reduced from 6.7 to 4.1ms.
On PS4, GPU cost went from 2.3 to 1.9ms.
#jira FORT-58921
Change 3724367 by Chad.Garyet
Downgrading lock warning about still waiting to a message instead of a warning.
Change 3723903 by Max.Preussner
MediaAssets: Merged workaround for uninitialized media sound waves from 4.17
#jira FORT-57260
Change 3723134 by Lukasz.Furman
added deprecation for PlayerState.PlayerName, it should remain accessible only through Get/Set functions to control obfuscation
Change 3722955 by Jian.Ru
Fix a compilation warning
#jira FORT-58749
Change 3722667 by Luke.Thatcher
[BUILD] [!] Fix PGO failures on build machines.
- The strings "Failed" and "error" are always treated as build failures, even if the build task returns a success code.
- Failure to reserve a device should not be fatal.
#jira FORT-58001
Change 3722291 by Lukasz.Furman
restored public access to PlayerName for now, current code will be going through accessor
Change 3721012 by Alicia.Cano
chunk title file generation
#jira FORT-53605
Change 3720961 by Marcus.Wassmer
Fix bad UVDensities on objects causing texture streaming to fail. Better fix will come with the engine merge.
#jira FORT-58240
Change 3719318 by Lukasz.Furman
replaced old branch name assertions
Change 3719047 by Lukasz.Furman
added branch name assertion to core headers to avoid duplicating it
Change 3718499 by peter.knepley
Fix for a crash when calling FSlateApplication::Get().FindPathToWidget in response to a widget destructing. Widget must be invalidated before the reference is cleared or else someone else might assign a shared reference to it during destruction.
Change 3716965 by Alicia.Cano
No sound was playing for Android.
#jira FORT-58302
#android
Change 3715746 by Ben.Marsh
Hide Arxan warnings about PDB files not being present.
#jira
Change 3715172 by Bob.Tellez
#UE4 FullLoadAndSave now does SavePackage in parallel.
Change 3715055 by Bob.Tellez
#UE4 Fix to actually use the precached streaming audio DDC data when cooking.
Change 3714130 by Bob.Tellez
#UE4 Core changes to allow SavePackage to be done concurrently
Change 3714099 by Bob.Tellez
#UE4 Pull the logic to initialize and uninitialize the physics scene for a world out into separate functions
Change 3713145 by Ben.Marsh
Disable an Arxan warning in EC.
#jira FORT-56926
Change 3712904 by Ben.Woodhouse
Fix for gpu profiler crash on pre-maxwell nvidia (or when r.gpuprofiler is set to false)
Change 3712693 by Ben.Woodhouse
Workaround for PS4 flip thread crash in dev builds. Caused by the flip thread/offset threads being shutdown before being initialized. The high level logic is now robust to that. We should fix the PS4 RHI ideally, but this is simpler for now.
#jira FORT-58409
Change 3712544 by Ben.Woodhouse
add missing skylight diffuse gpu stat
Change 3712515 by Ben.Woodhouse
CSV profiler GPU and pre-declared stat support
- refactor the GPU profiler so it's no longer dependent on the stats system and can work in Test builds
- add support for pre-declared CSV stats, using FNames (these are required for GPU stats)
- add DECLARE_GPU_STAT macro which handles STATS and CsvProfiler declarations
Note: still a few issues to resolve with GPU stats: these randomly go to 0 at times during a replay on XB1, the GPU total is lower than the stat unit number, and the unaccounted stat is too large due to missing stats
Change 3712297 by Mike.Fricker
Fixed huge client hitch when applying changes to in-game options
- Every component was being re-registered when r.SimpleForwardShading was updated by the scalability system, even if the value hadn't changed. Now, it only re-registers components if the value changes on the fly. (e.g. when turning Shadows off or on PC)
#jira FORT-57661
Change 3711501 by Ben.Marsh
Fix build failure on Linux.
#jira
Change 3710962 by David.Ratti
Add SCOPE_CYCLE_UOBJECT for SourceObject of GE - this will tell us what weaponw as applying the GE
Change 3710602 by Marc.Audy
Only create MIDs as a child of the calling object if construction script is running
Change 3710421 by Ben.Woodhouse
Bring over a couple of XB1 rendering fixes from 4.18
3692692: Integrate XB1 translucent lighting fix
3674543: D3D12 : Fix bug with non-CS version of UpdateTexture3D caused by bad depthstride. This was causing corruption in the indirect lighting cache
#jira UE-49416
Change 3710338 by Marc.Audy
Fix Json <-> Property converter to handle maps with struct keys
Merged from CL# 3521195
#jira UE-46616
Change 3710226 by Bob.Tellez
#UE4 Increase TaskGraph stack size in editor builds since. SavePackage uses a deep callstack which exceeds the 384 memory limit
Change 3709046 by andrew.grant
Added ALLOW_CONSOLE_IN_SHIPPING define that Target.cs files can set to turn on console in shipping builds
#jira FORT-57180
Change 3709040 by andrew.grant
Fixed issue where this could fail if a messagebox was spawned early during initialization
Change 3708830 by Bob.Tellez
#UE4 Commandline switches/options are no longer detected when found between quote characters. This causes options from not being incorrectly detected when passed in as a value from another options. i.e. -Option="-log" no longer causes -log to be picked up. This removes the syntax of specifying parameters like "Option=Value", which should now be replaced with -Option="Value"
#jira FORT-57833
Change 3708826 by Bob.Tellez
#UE4 Removed needless calls to RegisterSerializedShaders in the saving codepath of material serialization. This function is only relevant when loading shaders.
Change 3707905 by Ori.Cohen
Fix attached skinned mesh never being unhidden due to scale 0 and render tick optimization
#jira UE-51485
Change 3706450 by Chris.Bunner
Removing illegal material set on decal component in GameplayStatics.
Set a related JIRA, this doesn't actually fix the issue but contributes.
#jira FORT-51597
Change 3706223 by Marc.Audy
Shrink UPackage class size substantially
Change 3706221 by Marc.Audy
Store CustomVersions in array rather than set
Change 3705798 by Bob.Tellez
#UE4 ShadowDepthVertexShader.usf fix to fix Mac cook.
Change 3705613 by Uriel.Doyon
Texture streaming integration from Main.
#jira FORT-57376
Change 3705137 by Michael.Trepka
Fixed MetalRHI warning when compiling without MALLOC_LEAKDETECTION defined
#jira FORT-55309
Change 3704310 by Marcus.Wassmer
fix d3ddebug error with shadowcasting pointlights
also suppress spammy d3ddebug data about texture debug names
#jira FORT-58063
Change 3703477 by Marc.Audy
Minor tweak to keep Padding on one cache line.
Change 3703449 by Michael.Trepka
Don't use parallel RHI execute on Mac if MALLOC_LEAKDETECTION is enabled as this combination affects performance significantly due to mutex locking in FMallocLeakDetectionProxy
#jira FORT-55309
Change 3703217 by Marcus.Wassmer
Update PS signatures to match VS. Fixes crashes when running witih -d3ddebug which we need to catch real problems
#jira FORT-58021
Change 3702926 by Aaron.Eady
#JIRA na
Engine Code Improvements (that this project doesn't have yet);
Added engine code for drawing a debug 2D box.
Added engine code that allows for Keyboard Shortcuts to be special characters like backslash \.
-- Code --
DrawDebugHelpers:
DrawDebugCanvas2DBox() - Added this to allow us to draw debug 2D boxes.
RemoteConfigIni:
SpecialCharMap - Updated this TCHAR* property to be in the right order so you can use special characters like backslash as keyboard shortcuts.
Change 3701976 by Michael.Noland
Editor: Rewrote CallInEditor support and promoted it so it can be used on functions in any class, not just blueprints derived from AActor:
- CallInEditor used on native UFUNCTION() declarations will now show up without having to make a BP subclass
- CallInEditor can now be used as a top-level keyword in the UFUNCTION() declaration (e.g., UFUNCTION(Category=CoolCommands, CallInEditor))
- Now shows each function as a separate button, placed in the category associated with the function
- The button strip entry is now searchable by function name or tooltip
- Prevented operating on functions that have parameters or return values, which would crash before
- Removed the duplicate copies of properties placed in the Blutility section
- Added a scoped transaction around CallInEditor execution
- Allowed functions to be marked as CallInEditor in addition to custom events (currently we don't allow editing category or tooltip on custom events...)
Editor: Moved Experimental/EarlyAccessPreview details customizations up to UObject so it can be used on any class, not just actors/components
Edigrating CL# 3374995, 3375121, and 3375308 from Dev-Framework to FN main
Change 3700836 by Bob.Tellez
Modified commandline parse function, to detect when it is incorrectly parsing a parameter, from within another parameters value (not exhaustive).
For example, this commandline only contains the parameter ParamA. It should not be possible to parse ParamB, as it is part of ParamA's value:
-ParamA="-ParamB=Value"
#jira FORT-57833
Change 3700821 by Bob.Tellez
Merging CL#3461205 from //UE4/Dev-Core
Fixed parameter parsing so that arguments are not parsed if not preceeded by a whitespace (for example "-Log" was parsed in "TM-Log")
#jira UE-33790
Change 3699584 by Chad.Garyet
Upping the timeout on symstore to half an hour instead of 15 minutes. Symstore on xbox takes about ~22 minutes and if two builds are going simultaneously it can cause a job to fail due to the timeout being hit.
#jira FORT-0
Change 3698692 by Aaron.McLeran
#jira FORT-57582 crash in sound mix state code
- Removed the assert as it looks like that state is now possible.
Change 3698411 by Bob.Tellez
#UE4 One last correctness fix for when to not save generated base ini files.
#jira FORT-57315
Change 3698390 by Bob.Tellez
#UE4 Slightly more accurate logic to prevent writing of base ini files (old logic may have prevented writing of non-base ini files)
#JIRA FORT-57315
Change 3698369 by Bob.Tellez
#UE4 Ensure that Tcp/Udp messaging plugins are disabled in shipping config
Change 3698352 by Bob.Tellez
#UE4 Minor additional fix to make sure DISABLE_GENERATED_INI_WHEN_COOKED only affects cooked builds
#jira FORT-57315
Change 3698341 by Bob.Tellez
#UE4 DISABLE_GENERATED_INI_WHEN_COOKED now properly prevents all base ini file loads from happening from a generated folder. It also prevents writing generated ini files completely.
#JIRA FORT-57315
Change 3697553 by Nick.Darnell
Slate - When setting the content of an SBox it should always invalidate.
Change 3697330 by Bart.Hawthorne
APlayerController::ServerShortTimeout_Implementation now only iterates over the active object list instead of uisng an actor iterator, since non-replicated actors wont have a network object info to update.
#jira FORT-57099
#tests ran 100 player bot match
Change 3695578 by Bob.Tellez
#UE4 Fix Win32
Change 3695508 by Eric.Newman
Tweaked LogInit logging to clarify when the command line is being filtered
* Encountered this red herring when evaluating crash logs
#jira FORT-55839
#tests ran shipping & debug client builds, and editor game build
Change 3694898 by Michael.Trepka
Fixed Vorbis audio not playing on non-Windows platforms due to changes in CL 3668361
#jira FORT-57121
Change 3694655 by David.Ratti
Reimplement TweakObjetPtr optimizations with FObjectReplicator as an FGCObject instead of the owning channel being responsible for adding the replciator's ObjectPtr to the reference collection. (There are cases where object replicator ownership is transferred).
#JIRA FORT-57298
Change 3694491 by Ben.Woodhouse
Change courtesy of Gil: Drop the priority of the texture streamer using a new low-priority thread pool. This saves a 1-2ms in heavy combat in PVE (XB1 Test)
#jira FORT-57376
Change 3693609 by Ryan.Gerleve
Back out CL 3689050 since it was likely causing a crash.
#jira FORT-57298
Change 3693327 by Aaron.McLeran
#jira FORT-57416 Fixing PS4 cook.
Making sure zero pad bytes stays positive without a check.
Change 3693136 by David.Ratti
fix clang warning
Change 3692703 by Thomas.Sarkanen
Fix CIS warning on PS4/Linux
Change 3692589 by Thomas.Sarkanen
Moved exposed value handler bound function initialization to CDO postload
This means that FindPropertyByName and FindFunctionChecked dont incur any overhead when spawning in new anim instances
#jira FORT-56968 - Hitch - SkeletalMeshComponent initialization (110ms)
#tests PIE PvE, 20-bot BR game on PC/PS4.
Change 3692552 by Alex.Delesky
Change 3692495 by Bart.Hawthorne
Fix build
Change 3692488 by Bart.Hawthorne
Check for actor relevancy and level initialization when there's no channel first when prioritizing actors for replication. Dormancy checks in this case are useless because ShouldActorGoDormant will always be false, and if IsActorDormant is also true, then the result of skipping the actor is the same.
#jira FORT-57104
#tests played 100 player bot match
Change 3691819 by Bob.Tellez
#UE4 No longer conditionally including SlateDebug fonts in the cook based on configuraiton. When builds are produced that contain more than one configuration it changes what is cooked in unexpected ways so now we just always cook this font.
Change 3691805 by Bob.Tellez
#UE4 CIS fix
Change 3691784 by Bob.Tellez
#UE4 Optimization for exiting PIE. Texture streaming managers have an optimization for game worlds but were not using them for PIE worlds
Change 3691273 by Aaron.McLeran
#jira UE-50650 Fix memory/event leak in USoundWave::AudioDecompressor
Fix is to only delete the decompress/pre-cache task in game thread during FinishDestroy and not allow sounds to start playing unless the precache task has finished.
Change 3691268 by Aaron.McLeran
#jira FORT-56228 LogAudio:Warning: spam causes severe performance drop on the Mac Platform
Reducing log level
Change 3690547 by Ryan.Gerleve
Speculative fix#2 for a server crash/assert. If the timing is right, it's possible for the server to try to re-load a placed-in-map actor that was previously garbage collected. This was happening because CanClientLoadObject was always returning true for these (null) objects, even if the NetGUID corresponded to a map actor that shouldn't be loaded. Also added/improved some logging that will help in case this doesn't fix the issue.
#jira FORT-55763
Change 3690451 by Lukasz.Furman
changed branch name testing in engine hacks to use case insensitive match
Change 3690270 by David.Ratti
Cache weak object ptr in FNetworkObjectInfo to avoid reconstructing one every time we need to lookup its actor channel.
#jira FORT-57156
Change 3690227 by David.Ratti
Added optional TWeakObjectPtr parameter to packagemap functions GetOrAssignNetGUID, SUpportsObject. This allows you to pass in a weak ptr for an object if its already created. If you pass in null, the functions will create them internally.
This fixes some common cases where we were converting the same object into weak ptr multiple times in a frame.
#jira FORT-57156
Change 3690184 by David.Ratti
Cache net connection weakobjectptr when building consider list instead of constructing it again for every actor.
#jira FORT-57156
Change 3689805 by Peter.Knepley
Make ConditionalInitAxisProperties protected instead of private
#jira FORT-56414
Change 3689789 by Marcus.Wassmer
Hack workaround for missing shadowdepthps for XB1 until we get a handle on why things are exploding
#jira FORT-56792
Change 3689702 by Peter.Knepley
Allow games to have a custom MassageAxisInput function
#jira FORT-56414
Change 3689687 by Bob.Tellez
#UE4 Avoid copying the shaders array to avoid changing refcounts of shaders while serializing
Change 3689655 by Peter.Knepley
Make SmoothMouse virtual so games can have their own smoothing
#jira FORT-56417
Change 3689499 by Bart.Hawthorne
Fix Linux CIS warnings
Change 3689397 by Bart.Hawthorne
Changed FOutBunch and FInBunch uint8 entries to use bitfields instead of bytes which knocked 86% off of our net tick time
Change 3689056 by Lukasz.Furman
3rd attempt for branch name checking in engine code hacks
Change 3689050 by David.Ratti
First pass at removing use of TWeakObjectPtr from core replication classes. This should reduce FWeakObjectPtr::Get usage.
Still expecting to see FWeakObjectPtr::operator= come up a lot. Going to tackle this in a second pass which will require some deeper refactors.
#jira FORT-57156
Change 3688972 by Bob.Tellez
#UE4 Add build target flag to control DISABLE_GENERATED_INI_WHEN_COOKED
Change 3688864 by Ryan.Gerleve
Fix broken logic to find the "best" replay sample for character movement when we don't find two samples to interpolate between. Now uses the sample closest to the current time. Also added some debug drawing.
#jira FORT-56553
Change 3687654 by Bob.Tellez
#UE4 Added compile time option to disable reading generated ini files other than GameUserSettings in cooked builds.
Change 3686615 by Lukasz.Furman
Back out changelist 3686610
Change 3686592 by Matt.Kuhlenschmidt
Gave the CL description in the source control submit window more room
Change 3686020 by Ben.Marsh
Remove debug code that prints to logs while building.
#jira FORT-56923
Change 3684414 by Peter.Knepley
Back out changelist 3678336
#jira FORT-56512
Change 3683894 by Gil.Gribb
UE4 - By default, do not check for illegal calls to MarkPendingKill in the garbage collector in test and shipping configuations. This was slow.
Change 3683686 by peter.knepley
Raise MTU from 512 to 1024
#jira FORT-56756
Change 3683343 by Rob.Cannaday
Fixes insert disk popup
#jira FORT-56500
Change 3683156 by Peter.Knepley
Network optimizations to reduce alloc/free & memcpy churn saving about 10% of net tick time
Change 3682234 by Guillaume.Abadie
Cherrypick TAA refactor 3512696 and TAA fix 3668108
#jira FORT-56303
Change 3681494 by Bob.Tellez
#UE4 IsLoadedByEditorPropertiesOnly is not working properly so I removed it from FullLoadAndSave
Change 3681342 by Bob.Tellez
#UE4 Added a FullLoadAndSave option to cooking, which simply loads all content then saves it to avoid the overhead of managing which packages need to be cooked. Large perf improvement for those who cook by the book and can fit the entire game in memory
Change 3681014 by Yenal.Kal
#jira FORT-56209
#jira FORT-56272
Fixed a bug in the ability system where the ability ended callbacks could cause the ability end to be called again in the same call stack even though the ability is activated only once.
This was happening because we were broadcasting the event before we decrement the active count.
Change 3680739 by Michael.Trepka
Warn about NaN float literal values when translating HLSL to Metal instead of failing, plus added more detailed warning/error messages for NaN and unhandled values
#jira FORT-56425
Change 3679237 by Bob.Tellez
#UE4 Remove some debug logging
Change 3679187 by Bob.Tellez
#UE4 Dramatically imrpove speed of writing cookloadorder log file
Change 3678926 by Bob.Tellez
#UE4 Minor savepackage speed improvements
Change 3678336 by Aaron.McLeran
#jira UE-50650 Fix memory/event leak in USoundWave::AudioDecompressor
Fix is to only delete the decompress/pre-cache task in game thread during FinishDestroy and not allow sounds to start playing unless the precache task has finished.
Change 3676998 by Ben.Woodhouse
Fix XGE shader compilation so it doesn't crash randomly
Change 3676606 by Ori.Cohen
Update GC to be 61.1 to avoid heartbeat collision
Change 3676447 by Ori.Cohen
Fix CIS warning
Change 3676286 by Max.Preussner
Fixed client Crash UMediaSoundWave::GeneratePCMData (FORT-56107)
#jira FORT-56107
Change 3674591 by Ryan.Gerleve
Don't filter out PendingKillPending actors from FNetworkObjectList::Find. This was causing actors that get destroyed while dormant on the server to never be destroyed on clients.
#jira FORT-55802
Change 3674181 by Michael.Noland
Framework: DLL export LogGameplayTags
Change 3674138 by Billy.Bramer
#jira FORT-56138, FORT-56139
- Duplicate CL 3396590 from //Orion/Main re: ranged-base for iteration ensure from montage changes
Change 3672464 by Lukasz.Furman
removed recast layers crash tracking code
Change 3672153 by Daniel.Lamb
Added some debugging code to help track down why shaders are hashing poorly.
Change 3671498 by Luke.Thatcher
[~] Modify new frame syncing to reduce performance regression seen when the game is running over budget.
- Rather than forcing a flip sync after we kick off one frame early, we just continue to kick frames if we time out. This allows the game thread to get ahead when we're over budget.
- The game thread will naturally resync with the vsync when we return to being in budget.
#jira FORT-55842
Change 3671079 by Ryan.Gerleve
Fix an edge case where the PackageMap on the server would try to resolve objects from default NetGUIDs even if their outer has already been garbage collected. This could lead to a completely unrelated object being returned instead of null, leading to asserts and potentially other issues.
#jira FORT-55763
Change 3670487 by Zak.Middleton
Optimize some low level details of UNetConnection::ClientHasInitializedLevelFor() and UNetDriver::IsLevelInitializedForActor(). Add cached WorldPackage for NetDriver to avoid repeated GetOuterMost() and Casts. Remove rendundant virtual GetWorld() calls, and mark UNetDriver's version "final" to let it optimize away virtual call. Made UNetConnection::ClientVisibleLevelNames a TSet instead of TArray, since it is searched frequently when there are streaming levels present.
#jira FORT-55999
Change 3670351 by Zak.Middleton
Back out changelist 3669817 (networking optimizations). Would rather have more testing before it goes to Release-Next. Will resub just for main and RP.
#jira FORT-55999
Change 3670344 by Josh.Markiewicz
#UE4 - more verbose logging for SetExpectedClientLoginMsgType
Change 3670323 by Wes.Hunt
Fix for dedicated servers not flushing events in a timely manner.
#jira FORT-56015
Doh, using GFrameNumber was NOT a good idea on servers... :-/
Change 3669817 by Zak.Middleton
Optimize some low level details of UNetConnection::ClientHasInitializedLevelFor() and UNetDriver::IsLevelInitializedForActor(). Add cached WorldPackage for NetDriver to avoid repeated GetOuterMost() and Casts. Remove rendundant virtual GetWorld() calls, and mark UNetDriver's version "final" to let it optimize away virtual call. Made UNetConnection::ClientVisibleLevelNames a TSet instead of TArray, since it is searched frequently when there are streaming levels present.
#jira FORT-55999
Change 3668416 by Michael.Noland
Core: Changed FString::ParseIntoArray to use Reset instead of Empty on the passed in array, allowing it to be approximately resized
#jira FORT-55887
Change 3668411 by Olaf.Piesche
Always cache depth collision particle shader
#jira FORT-51307
Change 3668361 by Aaron.McLeran
#jira FORT-55628 Attempt to bypass crash and log an error if libvorbisdll fails to load.
Change 3667892 by Rob.Cannaday
libwebsocket libs to handle getprotobyname("TCP") failing the libwebsockets connection
#jira FORT-55917
Touch LwsWebSocket.cpp to ensure the module gets built with the new libs
Change 3667308 by Uriel.Doyon
Postponed the release of IO requests when canceling mip updates to prevent threading issue.
#jira FORT-54491
Change 3666835 by Lukasz.Furman
fixed overlapping index buffers when static mesh exports both convex and simple collisions for navigation
#jira UE-50370
Change 3665374 by Mike.Fricker
Fixed server crashing after hotfixes have re-imported curve table data
- The hotfix system is capable of replacing the content of a UCurveTable on the fly
- If any systems had references to inner curves on that curve table, they would become invalid
- This needs to be fixed in 1.6.4 (tonight) and also in 1.7
#jira FORT-55792
Change 3665063 by Daniel.Broder
Fixed crash in GameplayTagQueryCustomization when choosing "Save and Close" on GameplayTagQuery after setting a query due to nullptr NotifyHook in CloseWidgetWindow.
Added additional if (StructPropertyHandle.IsValid()) wrappers and one check(StructPropertyHandle.IsValid()); the former to be consistent with other code and prevent possible crashes, the latter to at least catch the cause of a possible crash properly without having to change the code more significantly to handle it gracefully.
Also changed some if( X ) to if (X) to match coding standards and provide consistency within the file.
Michael, I'm Reviewing you on this fix since you brought this change over from Framework. And Marc because you reviewed him on that change.
#UE4 #NoReleaseNotes #RNX
Change 3664948 by Lukasz.Furman
reduced number of allocations in StorePathfindingDebugData, optimized path length calculations to avoid recursion
#jira FORT-51111
Change 3664916 by John.Abercrombie
Copy CLs 3383318 & 3388506 from //Orion/Main/Engine/Source/Runtime/Engine/...
- Been testing with this for a while now
- This change makes particle effects show up on the current frame's pose for skel meshes as well
Removed my StopAllMontagesByGroupName temp hack
CL 3383318
Delay dispatching of AnimEvents (Notifies and Montage Events) until after we receive an updated animation pose (if applicable).
This fixes AnimNotifies playing particle effects using a socket location using last frame's pose. Now they use the current frame's pose.
CL 3388506
Delay clearing of MontageInstances and triggering 'OnAllMontageInstancesEnded' until all Montage Events have been dispatched.
Also fix SkelMeshComponent ticking on dedicated servers when rejoining in progress.
#jira FORT-55102 - Server Crash UAnimInstance::StopAllMontagesByGroupName
Change 3780616 by Gil.Gribb
Fixed and reenabled r.DelaySceneRenderCompletion
Change 3778979 by Gil.Gribb
UE4 - Improved the performance of grass updates and added the ability to not do all of them every frame.
Change 3778200 by Nick.Darnell
UMG - Making it possible to cancel delays and all animations on widgets. Useful when destroying a widget and needing to stop any async state.
Change 3777612 by Zak.Middleton
Perf: Added option to CharacterMovementComponent to skip immediate forward prediction for proxies on the frame they receive a network update (bNetworkSkipProxyPredictionOnNetUpdate). This avoids all forward prediction sweeps and floor checks on those updates. Intermediate frames will interpolate with prediction. This can also be disabled globally with the CVar "p.NetEnableSkipProxyPredictionOnNetUpdate 0".
Added NetworkSmoothingDisableProxyPredictionForPawnLOD to force disabling full simulation for LOD >= this value (currently 3, so bottom 75 pawns). This takes precedence over current distance and view angle checks for prediction (mesh interpolation is untouched).
Change 3774338 by Ben.Woodhouse
Convert the D3D12 PSO caches to use RwScopeLocks. This change is courtesy of a shelf from Gil, plus a couple of minor fixes.
Saves up to a millsecond of frame time in CPU-bound scenarios
Change 3773462 by Gil.Gribb
UE4 - Add particle batching. This is disabled by default but can improve thread scheduling when there are lots of very fast particle systems.
Change 3771375 by Hongyi.Yu
Fixed the crash where ability components are unregistered and then re-registered, which usually happens in PIE.
Change 3771368 by Ben.Zeigler
#jira UE-52670 Add project setting bValidateUnloadedSoftActorReferences that is true by default to match current behavior. If you set it to false it will no longer load packages to look for soft actor references when deleting/renaming actors.
Change 3771173 by Seth.Weedin
Auto manage attachment support for AudioComponent- An opt-in feature that allows AudioComponents to cache their AttachParent/AttachSocket and only attach themselves when playing audio, detaching after playback is completed. Set to false by default.
Change 3768811 by Ori.Cohen
Change animation scale collision code so that it uses the physics asset.
Change 3768148 by Brian.Bekich
Fix muting being unable to find remote player controller
Change 3768117 by Ori.Cohen
Prevent pawn collision from updating during animation
Change 3766554 by Gil.Gribb
UE4 - Added a new option to add and remove from static draw lists on demand. This is off by default.
Change 3766427 by Nick.Darnell
Slate - Finally adding Opacity to SWidget. Any widget can now be alpha animated at will, no more need to waste overhead by wrapping things with SBorder or making them userwidgets just to be able to animate a fade.
Change 3761682 by nick.darnell
Athena - Introducing a way to interrupt the request to scroll and item into view. In cases where you're animating, quickly showing and hiding, with the item widgets unavailable for a few frames, you enter cases where the deferred navigation is resolved after you've canceled showing a dialog stealing focus.
Change 3761416 by Ben.Zeigler
#jira UE-52287 Prevent cook metadata like DevelopmentAssetRegistry.bin from being packed into a shipping game, by moving it into a Metadata subdirectory and updating deployment scripts to avoid that directory.
Right now it doesn't package them at all, we could change it to package them as Debug Non-UFS if desired
Change it so the asset audit UI will only load DevelopmentAssetRegistry.bin files, the cooked registry files don't have enough information any more to be useful
Remove ability for runtime game to load DevelopmentAssetRegistry.bin, this ended up not being useful
Change 3750998 by Ethan.Geller
#jira FORT-60191 Allow -audiomixer command line arg to work on all platforms.
Change 3749540 by Marc.Audy
SignificanceManager now takes viewpoints in as TArrayView instead of const TArray&
Change 3748102 by Marc.Audy
Allow cheat cvars to work in Test builds by default
Can be overriden by defining ALLOW_CHEAT_CVARS_IN_TEST as 0 in Target.cs files
Change 3744756 by Bart.Hawthorne
Upgrade Oodle to version 2.5.5. Also, iOS, Android, and Switch platforms have been added. The new dictionary has been generated with old and local captures.
Change 3741168 by Max.Preussner
MediaUtils: Fixed movies not playing properly in Shipping builds
Change 3739256 by Jian.Ru
Set distance field self-shadow bias without recreating all render states
Change 3730756 by Ben.Woodhouse
HISM optimization:
Gil's change to skip trees with only one level of hierarchy (working around badly tuned content issues)
Change vert threshold to 2K.
1-2ms renderthread win without impacting GPU when rendering point lights
Change 3724029 by Zak.Middleton
Increase allowed time for movement substep duration. Don't want to lower between 2 iterations, as this is not used much in practice other than deflection and movement mode changes, and that will change behavior (lose momentum). This new setting will absorb longer hitches in the common case (moving without collision or falling).
Change 3723985 by Marc.Audy
SignificanceManager PostSignificanceUpdate functions can now be executed sequentially on the game thread as well as concurrently in the parallel for (old behavior)
Change 3722910 by Jian.Ru
Amortize shadow cache update caused by resolution change
Changed to use view distance vs. view space z when calculating whole scene shadow resolution which is less sensitive to camera rotation
Change 3718247 by Yenal.Kal
Fixed the bug where the gameplay effect durations can show incorrect values after rejoin or after server time drifting away from the client.
Change 3716343 by Jamie.Dale
Adding Korean and Turkish to the localization automation
Change 3710534 by Uriel.Doyon
Texture streaming optimization where a maximum texture resolution for each level streaming data is computed per view.
This is used to cull irrelevant levels and reduce the async task number of iterations.
The culled size is defined by the new r.Streaming.MinLevelTextureScreenSize.
This requires to remove primitives with big UV density from the level data.
Those primitives get moved to the dynamic lists.
This is controlled by r.Streaming.MaxTextureUVDensity
Change 3707207 by David.Ratti
Remove look ahead-vectors prediction in FNetViewer. This (requires) a line trace which is not desirable or really accurate anymore. This saves us a line trace per connection per multicast rpc.
unify reliable multicast rpc handling: these now do relevancy checks and are not sent to non relevant clients
Change 3706272 by Thomas.Sarkanen
Added utility/math functions to aid in optimizing anim blueprints
Added VectorLengthXY to get the 2D length of a 3D vector. Avoids unecessary conversions.
Added polar->cartesian->polar conversion helper functions for expensive frequently-used anim graph functionality.
Change 3706159 by David.Ratti
PlayerState/ASC replication optimizations from Polge: this puts the net update frequnecy on player state back to 1hz while forcing netupdates on the player state actor when the ability system component needs to update
Change 3692891 by David.Ratti
Optimizations for UNetConnection::ClientHasInitializedLevelFor: build acceleration map of actor outer's (ULevels) -> Visibility bool. Existing logic stays the same.
Change 3691392 by Aaron.McLeran
#jira UE-50628 Fix audio trying to sync load bulk data with EDL enabled
- Fix log error in BulkData.cpp
- Make the first stream chunk be force inline payload in bulk data flags so it loads immediately vs in async IO system
- Make audio stream chunks get as close to 256 k chunks as it can, zero-pad rest to be 256 k aligned
- Fix up DDC key, serialize AudioDataSize separately from chunk DataSize
Change 3682683 by Zak.Middleton
Add bOnlyTickMontageOnDedicatedServer variable to AnimInstance, to avoid anim bp updates on dedicated server. Turn on to fix hitching from queued ServerMove() calls, and some free perf during all montages on the server.
Change 3678771 by Ori.Cohen
Added the ability to turn on stack walk during hitching vs lightweight stats
Change 3676363 by Ori.Cohen
Added the ability to get callstacks as part of hitch detection
Change 3674877 by Keith.Judge
Move definition of GFailedToFindParamCollectionBufferQueue to ShaderBaseClasses.cpp so that all targets can successfully compile.
Change 3672515 by Bob.Tellez
Added code to play wind particle effects
Change 3670909 by Zak.Middleton
Fixed ForcePositionUpdate() not calling CheckJumpInput(). Added "p.NetForceClientServerMoveLossPercent" cvar to simulate loss of client->server movement RPCs (without hosing the rest of networking).
[CL 3791033 by Marc Audy in Main branch]