- Linkers are no longer UObjects. Renamed ULinker, ULinkerLoad and ULinkerSave to FLinker, FLinkerLoad, FLinkerSave respectively
- Linkers are now associated with their UPackages
- Linker version is now stored in UPackages
- Async loading is now performed on a separate thread (if platform supports it and only in cooked builds), with the exception of PostLoad which is still done on the game thread
- Added UObject::IsPostLoadThreadSafe() function to determine if PostLoad is thread safe and can be executed on the async loading thread (defaults to false)
- UObject creation is now thread safe and can be performed on any thread
- Move many of the linker/UObject globals into FUObjectThreadContext (TLS)
- GetAsyncLoadPercentage() now takes PostLoad into account
- More async loading stats
- Added AtomicallySetFlags/ClearFlags to UObject
- Made FModuleManager thread safe.
- Added FGCScopeGuard as means of preventing GC from executing from non-game thread
- It's possible to disable async loading thread through ini settings.
- Cancelling async loading will now also trigger GC
- Implemented a basic version of async streaming priorities.
Change 2410813 by Mikolaj Sieluzycki:
Change Sleep in while loop to ConditionalSleep in FMultiReaderSingleWriterGT
Change 2410734 by Mikolaj Sieluzycki:
Make FModuleManager thread safe.
Change 2399879 by Mikolaj Sieluzycki:
Basic version of async streaming priorities.
Change 2410707 by Mikolaj Sieluzycki:
Implement conditional and no stat versions of sleep.
Change 2371939 by Robert Manuszewski:
Async Loading Improvements: adding more stats (accumulators)
Change 2372403 by Robert Manuszewski:
Fixing compile errors when STATs are not enabled
Change 2371526 by Robert Manuszewski:
AsyncLoading Improvements (WIP)
Change 2407198 by Robert Manuszewski:
Re-implementing delegate fixes for Async Loading
Change 2407425 by Robert Manuszewski:
Re-implementing cancelling async loading in the async loading branch.
Change 2484362 by Robert Manuszewski:
Making it possible to disable async loading thread through ini settings.
Change 2484744 by Robert Manuszewski:
Minimizing locks in GC and other threads when handling UObjects
Change 2480190 by Robert Manuszewski:
Fixing infinite stall after canceling async loading in non-cooked builds
Change 2484268 by Robert Manuszewski:
Fixing crash when allocating permanent object pool.
Change 2489761 by Robert Manuszewski:
Fixing BulkData using linker archive on the main thread even if the linker was created on the async loading thread.
Change 2493624 by Robert Manuszewski:
Cancelling async loading will now also trigger GC
Change 2487881 by Robert Manuszewski:
Making ShaderIdMap operations thread safe.
Change 2488067 by Robert Manuszewski:
Fixing GetAsyncLoadPercentage. It will now also respect PostLoad.
Change 2458640 by Robert Manuszewski:
Fixing crash in PIE
Change 2458825 by Robert Manuszewski:
Fixing a few crashes when streaming and the package is missing.
Change 2476935 by Robert Manuszewski:
Fixing crash while async loading ANavigationData
Change 2477361 by Robert Manuszewski:
Fixing crashes in cooked game
Change 2480095 by Robert Manuszewski:
Making FUObjectArray more thread safe
Change 2475443 by Robert Manuszewski:
Re-enabling single-threaded async loading path for the editor and platforms that don't support multithreading.
Change 2475458 by Robert Manuszewski:
Making sure bulk data is only loaded on a separate thread if it's not being loaded on the async loading thread.
Change 2476661 by Robert Manuszewski:
Fixing FlushAsyncLoading not flushing everything
Change 2401089 by Jaroslaw Surowiec:
Core - Added AtomicallySetFlags/ClearFlags to UObject, added a comment to ThisThreadAtomicallyClearedRFUnreachable
[CL 2498249 by Robert Manuszewski in Main branch]
Deprecate TypeToString
Make ConstructBasicPinTooltip take FText for Description
Make SpawnActorFromClass pin tooltips consistent with other nodes
[CL 2286449 by Marc Audy in Main branch]
- Use display name instead of friendly name metadata
- Cleaned up small number of properties settting friendly name
- Changed blueprint created variables and user defined struct variables to write to DisplayName instead of FriendlyName (fallback exists when displaying pins from blueprints/structs that have not been recompiled/re-saved)
- Property tooltips now display when hovering over pin in addition to type information
- Hide the edit box next to pin for break struct
[CL 2055748 by Marc Audy in Main branch]
Change 1996384 by Andrew Brown:
322252 - EDITOR: Asset picker displays incorrect text when there are no filter results.
Change 1996385 by Andrew Brown:
321858 - CRASH: Assertion failed: (Index >= 0) Function: STransformViewportToolBar::GetLocationGridLabel() STextBlock::CacheDesiredSize()
Change 1996977 by Andrew Brown:
309685 - UE4: Adding an event/renaming an event on an event track in Matinee does not update the MatineeActor node in blueprint
Change 2034873 by Jaroslaw Palczynski:
More robust VS installation detection.
Change 2039693 by Jaroslaw Palczynski:
327268 - RocketGDC: POSTLAUNCH: DEV: Make engine more robust against bad Visual Studio environment variables
Change 1978978 by Jaroslaw Surowiec:
- Removed obsolete AllowEliminatingReferences from the FArchive
Change 2020326 by Maciej Mroz:
pretest BP K2Node: RemovePinsFromOldPins function moved from K2Node to RemovePinsFromOldPins
Change 2017608 by Maciej Mroz:
pretest Some changes in SFortMissionEventSelector caused by FPinTypeTreeInfo
Change 2017463 by Maciej Mroz:
PinTypeSelector can lins unloaded UDStructs
Change 2019979 by Maciej Mroz:
pretest BP: Crash when performing Diff against Depot with blueprints containing Format Text nodes
Change 2024469 by Maciej Mroz:
MemberReference variable added to PinType. It's necessary for delegate's signature.
Change 2024049 by Maciej Mroz:
HasExternalBlueprintDependencies added to UK2Node_DynamicCast
Change 2024586 by Maciej Mroz:
FillSimpleMemberReference fix
Change 2024472 by Maciej Mroz:
workaround for delegates signature in pintype removed.
Change 2023997 by Maciej Mroz:
BP, UDStruc: Class UserDefinedStructEditorData added. It fixes many problems with undo/redo.
Change 2021934 by Maciej Mroz:
typo in a comment
Change 2020355 by Maciej Mroz:
Back out changelist 2020342
Change 2022178 by Maciej Mroz:
CRASH: PRETEST: EDITOR: UDS: Crash when undo then redo new variable in struct that is used by blueprint
Change 2021958 by Maciej Mroz:
CRASH: PRETEST: EDITOR: UDS: Crash using variable of a type of copied struct in blueprint
Change 1986247 by Maciej Mroz:
User Defined Structures: circle dependency fixed. Early version.
Change 1985107 by Maciej Mroz:
UserDefinedStruct cannot have a field of a non-native type
Change 1986278 by Maciej Mroz:
pretest ensureMsgf in Struct::link
Change 1986250 by Maciej Mroz:
User Defined Struct: Non native classes are accepted types od values in structures.
Change 1980955 by Maciej Mroz:
Using AssetPtr and LazyPtr as UFunction parameter (intput or return) is explicitly disallowed.
Change 2041215 by Maciej Mroz:
ttp331249 BLOCKER: PRETEST: UI: Survive the Storm is missing the Mission HUD.
Change 1984316 by Maciej Mroz:
New User Defined Structure. WIP - there are still problems with circular dependencies.
Change 2011616 by Maciej Mroz:
UserDefinedStructures - various problems fixed.
Change 2011609 by Maciej Mroz:
more robust HasExternalBlueprintDependencies implementation
Change 2016697 by Maciej Mroz:
pretest BP: UDStruct - default value propagation in cooked build
Change 2016288 by Maciej Mroz:
pretest BP: UDStruct: Renaming variables wont break links from make/break nodes
Change 1987637 by Maciej Mroz:
CustomStruct icons placeholders
Change 1987422 by Maciej Mroz:
Better tooltips for variables in MyBlueprint
Change 1991387 by Maciej Mroz:
UDStructures fixes:
Change 2029165 by Maciej Mroz:
BP: better comment for incomatible pins
Change 2030016 by Maciej Mroz:
8PRETEST: EDITOR: UDS: Defaults values aren't updated in struct type variables in blueprints
Change 2030017 by Maciej Mroz:
Unused UDStructure code removed (PPF_UseDefaultsForUDStructures)
Change 2028856 by Maciej Mroz:
BP: Pins with PC_Struct type are compatible only with exactly the same structure. (No derived structures are not handled as compatible).
Change 2026701 by Maciej Mroz:
k2: odd error on an add item node within a function (see attached image in details)
Change 2028160 by Maciej Mroz:
PRETEST: EDITOR: UDS: When deleting structures just after creating there is always some references in the memory
Change 2028165 by Maciej Mroz:
BP: BreakHitResult function has proper icon.
Change 2033340 by Maciej Mroz:
ttp330786 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to breeak nodes for text type of variables
Change 2034255 by Maciej Mroz:
EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables ttp#330620
Change 2037682 by Maciej Mroz:
ttp331309 BLOCKER: PRETEST: CRASH: EDITOR: Crash occurs when performing Diff Against Depot on any Blueprint
Change 2033142 by Maciej Mroz:
CreateDelegate Node uses internally FMemberReference. Refactor.
Change 2032329 by Maciej Mroz:
ttp330608 CRASH: PRETEST: EDITOR: UDS: Crash when trying to use struct named 'Color' in blueprint
Change 2032420 by Maciej Mroz:
ttp330620 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables
Change 2033139 by Maciej Mroz:
Functions generated from CustomEvents can be also identified by GUID
Change 2026631 by Maciej Mroz:
BP. UDStruct: Invalid structs are handled better.
Change 2025344 by Maciej Mroz:
UDStruct enabled by default
Change 2026672 by Maciej Mroz:
EDITOR: BP: Can't easily remove 'pass-by-reference' pins on ReturnNodes
Change 2026411 by Maciej Mroz:
ExposeOnSpawn updated, it supports UDStructs, custom native Structs, and it throws compiler error.
Change 2025342 by Maciej Mroz:
GenerateBlueprintSkeleton moved from BLueprint::Serialize to RegenerateBlueprintClass, because SkeletonClass compilation requires all external dependencies to be loaded and linked.
Change 2025570 by Steve Robb:
Moved dependency processing to its own function.
Change 2033235 by Steve Robb:
String improvements
Change 2035830 by Steve Robb:
Workaround for FriendsAndChat crash in Fortnite.
Change 2035115 by Steve Robb:
UBT build time regression fixes.
Change 2034162 by Steve Robb:
312775: UObject improvement: Ensure that *.generated.inl is included somewhere
Change 2034181 by Steve Robb:
Removal of any references to .generated.inl
Change 2020165 by Steve Robb:
BuildPublicAndPrivateUObjectHeaders factored out into its own function.
Change 2020187 by Steve Robb:
CreateModuleCompileEnvironment function factored out.
Change 2020055 by Steve Robb:
Refactoring of Unity.cs to remove complex and duplicate iteration.
Change 2020083 by Steve Robb:
Another use of dictionary utilities.
Change 2031049 by Steve Robb:
312775: UObject improvement: Ensure that *.generated.inl is included somewhere
Change 2025728 by Steve Robb:
Refactored the application of a shared PCH file to multiple file into a single ApplySharedPCH function.
Change 2020068 by Steve Robb:
A couple of helpful utility functions for populating dictionaries.
Change 2032307 by Steve Robb:
312775: UObject improvement: Ensure that *.generated.inl is included somewhere
[CL 2054495 by Robert Manuszewski in Main branch]