This change consists of multiple changes:
Core:
- Deprecation of ANY_PACKAGE macro. Added ANY_PACKAGE_DEPRECATED macro which can still be used for backwards compatibility purposes (only used in CoreUObject)
- Deprecation of StaticFindObjectFast* functions that take bAnyPackage parameter
- Added UStruct::GetStructPathName function that returns FTopLevelAssetPath representing the path name (package + object FName, super quick compared to UObject::GetPathName) + wrapper UClass::GetClassPathName to make it look better when used with UClasses
- Added (Static)FindFirstObject* functions that find a first object given its Name (no Outer). These functions are used in places I consider valid to do global UObject (UClass) lookups like parsing command line parameters / checking for unique object names
- Added static UClass::TryFindType function which serves a similar purpose as FindFirstObject however it's going to throw a warning (with a callstack / maybe ensure in the future?) if short class name is provided. This function is used in places that used to use short class names but now should have been converted to use path names to catch any potential regressions and or edge cases I missed.
- Added static UClass::TryConvertShortNameToPathName utility function
- Added static UClass::TryFixShortClassNameExportPath utility function
- Object text export paths will now also include class path (Texture2D'/Game/Textures/Grass.Grass' -> /Script/Engine.Texture2D'/Game/Textures/Grass.Grass')
- All places that manually generated object export paths for objects will now use FObjectPropertyBase::GetExportPath
- Added a new startup test that checks for short type names in UClass/FProperty MetaData values
AssetRegistry:
- Deprecated any member variables (FAssetData / FARFilter) or functions that use FNames to represent class names and replaced them with FTopLevelAssetPath
- Added new member variables and new function overloads that use FTopLevelAssetPath to represent class names
- This also applies to a few other modules' APIs to match AssetRegistry changes
Everything else:
- Updated code that used ANY_PACKAGE (depending on the use case) to use FindObject(nullptr, PathToObject), UClass::TryFindType (used when path name is expected, warns if it's a short name) or FindFirstObject (usually for finding types based on user input but there's been a few legitimate use cases not related to user input)
- Updated code that used AssetRegistry API to use FTopLevelAssetPaths and USomeClass::StaticClass()->GetClassPathName() instead of GetFName()
- Updated meta data and hardcoded FindObject(ANY_PACKAGE, "EEnumNameOrClassName") calls to use path names
#jira UE-99463
#rb many.people
[FYI] Marcus.Wassmer
#preflight 629248ec2256738f75de9b32
#codereviewnumbers 20320742, 20320791, 20320799, 20320756, 20320809, 20320830, 20320840, 20320846, 20320851, 20320863, 20320780, 20320765, 20320876, 20320786
#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20430220 via CL 20433854 via CL 20435474 via CL 20435484
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)
[CL 20448496 by robert manuszewski in ue5-main branch]
#rb trivial
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 19016816 via CL 19016825 via CL 19016832 via CL 19031923
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v917-18934589)
[CL 19032152 by robert manuszewski in ue5-main branch]
#jira UE-122078
#rb Andrew.Davidson, Colin.McGinley
#preflight standard build
#ROBOMERGE-AUTHOR: fred.kimberley
#ROBOMERGE-SOURCE: CL 18817999 in //UE5/Release-5.0/... via CL 18818012 via CL 18822871
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)
[CL 18824721 by fred kimberley in ue5-main branch]
General cleanup of component langugage where actually it is more generally for all subobjects
Fix comments and add default parameters
#rnx
#preflight 61f88a94f657e25a59067fb4
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 18803287 in //UE5/Release-5.0/... via CL 18803296 via CL 18821587
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)
[CL 18821670 by marc audy in ue5-main branch]
FArchiveReplaceObjectRefBase no longer tracks replaced references by default. GetReferencedResources will ensure if archiver was not run with TrackReplacedReferences.
#rb Michael.Noland
#preflight 61a7c89c1a368fd6038f4b79
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 18343619 in //UE5/Release-5.0/... via CL 18343639
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18343679 by marc audy in ue5-release-engine-test branch]
- FFoliageInfo now has an editor only IFA pointer
- FFoliageImpl now has an editor only FFoliageInfo pointer
- FoliageInfos is now private
#rb richard.malo
[CL 15291137 by Patrick Enfedaque in ue5-main branch]
#jira UE-90307
#rb marc.audy
#ROBOMERGE-SOURCE: CL 12071393 in //UE4/Release-4.25/... via CL 12071467
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v657-12064184)
[CL 12078351 by ben hoffman in Main branch]
#rnx
#rb none
#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870586 by ryan durand in Main branch]
Fix up nearby cases where ESearchCase::CaseSensitive should have been used
#jira
#rnx
#rb
#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 10309793 via CL 10309818
#ROBOMERGE-BOT: (v593-10286020)
[CL 10309932 by marc audy in Main branch]
- Allows using the Foliage Editing mode to paint Actors instead of StaticMesh
#jira UE-72590,UE-72588,UE-72587,UE-72586
#rb richard.malo, michael.dupuis
#ROBOMERGE-OWNER: patrick.enfedaque
#ROBOMERGE-AUTHOR: patrick.enfedaque
#ROBOMERGE-SOURCE: CL 5820961 via CL 5826476
[CL 5826477 by patrick enfedaque in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3252833 on 2017/01/10 by Ori.Cohen
Refactor constraint so that it can be used for external solvers. (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework))
Change 3256288 on 2017/01/12 by Ori.Cohen
Undo constraint refactor as we found a way around it and it made the code much harder to read/debug
Change 3373195 on 2017/03/30 by Mike.Beach
For nativization, changing it so we key off of the target platform-info struct instead of the platform (in preparation for defining the nativized plugin's platform whitelist).
Change 3381178 on 2017/04/05 by Dan.Oconnor
Make sure we don't inherit the NATIVE func flag when generating skeleton functions, also make sure all bojects outer'd to the skeleton class are marked transient
#jira UE-43616
Change 3381532 on 2017/04/05 by Marc.Audy
(4.16) Fix various cases where built lighting on child actors could be lost when loading a level
#jira UE-43553
Change 3381586 on 2017/04/05 by Mike.Beach
Now generating TArrayCaster conversions for nativized UClass arrays that need it (to handle different TSubclassOf arrays).
#jira UE-42676, UE-43257
Change 3381682 on 2017/04/05 by mason.seay
Some more changes to test map
Change 3381844 on 2017/04/05 by Dan.Oconnor
Match existing logic for CPF_ReturnParm/CPF_OutParm. Fixes compilation error in BP_TurbineBlades when using compilation manager
Change 3382054 on 2017/04/05 by Zak.Middleton
#ue4 - Optimize CharacterMovementComponent::GetPredictionData_Client_Character() and GetPredictionData_Server_Character() to remove virtual calls.
#jira UE-30998
Change 3382703 on 2017/04/06 by Lukasz.Furman
fixed missing links between navmesh polys when there are more than 4 neighbor connections
#jira UE-43524
Change 3383357 on 2017/04/06 by Marc.Audy
(4.16) Make SetHiddenInGame propagate consistently with SetVisibility
#jira UE-43709
Change 3383359 on 2017/04/06 by Dan.Oconnor
Fix last errant SKEL reference when cooking Odin
Change 3383591 on 2017/04/06 by Mike.Beach
Prevent users from setting object variables as 'config' properties (disallowed by UHT). This prevents some errors that could happen later when users nativize the Blueprint.
#jira UE-42085
Change 3384762 on 2017/04/07 by Zak.Middleton
#ue4 - Fix SpringArmComponent not restoring relative transform when bUsePawnControlRotation is turned off. Fixes the editor interaction ignoring transform of the component in the viewport after bUsePawnControlRotation is toggled on then off, since by then the world transform had been overwritten (from tick in editor) and nothing would drive transform changes from the editable value.
Toggling bUsePawnControlRotation off at runtime now restores the rotation to the initial relative rotation, not stomping it with the current pawn rotation, allowing toggling between the editable/desired base rotation and the control rotation.
#jira UE-24850
Change 3384948 on 2017/04/07 by Dan.Oconnor
Prevent GForceDisableBlueprintCompileOnLoad from causing all sorts of badness when dependencies are loaded as part of a Diff operation. Instead of setting a global flag we flag the package as LOAD_DisableCompileOnLoad
Change 3385267 on 2017/04/07 by Michael.Noland
Graph Editing: Pushed some node diffing code down from UAIGraphNode into UEdGraphNode so nodes with details panel properties will diff correctly (e.g., various animation nodes and BP switch nodes)
#jira UE-21724
Change 3385473 on 2017/04/07 by Phillip.Kavan
#jira UE-43067 - Fix broken pin wires after an Expand Node operation, along with some misc. cleanup.
Change summary:
- Fixed to use correct string for "Expand Node" transaction name.
- Modified FBlueprintEditor::OnExpandNodes() to consolidate some redundant code.
- Fixed to generate a unique node GUID for cases where the source graph is not removed after expansion.
Change 3385583 on 2017/04/07 by Dan.Oconnor
Handle CreatePropertyOnScope nullptr return values (happens for structs missing a struct property)
#jira UE-43746
Change 3386581 on 2017/04/10 by Michael.Noland
Blueprints: Further hardening FBlueprintActionInfo::GetOwnerClass()
#jira UE-43824
Change 3386615 on 2017/04/10 by Marc.Audy
Instanced properties can now properly be set on a per-instance basis in blueprint added components.
#jira UE-42066
Change 3387000 on 2017/04/10 by Marc.Audy
Fix includes for CIS
Change 3387229 on 2017/04/10 by mason.seay
More changes to TM-Gameplay
Added Save Game test (with blueprint)
Tick Interval test (with blueprint)
BP logic cleanup
Level organization
Change 3388437 on 2017/04/11 by Mike.Beach
Adding support for map/set literals in the backend (so you can use set nodes for structs containing sets/maps, without having to connect a RHS input - resets to struct defaults).
#jira UE-42617
Change 3388532 on 2017/04/11 by mason.seay
Submitting latest changes for crash repro
Change 3389026 on 2017/04/11 by Ben.Zeigler
Performance and bug fixes for incremetal cooking with asset registry, duplicate of several changes made on //Fortnite/Main
Fix it so AssetRegistry.ScanPathsAndFilesSynchronous won't scan subdirectories inside already scanned directories, this cuts down on the number of cache files
Fix 2 second stall when shutting down AssetSourceFilenameCache if it had never been previously created
Change 3389163 on 2017/04/11 by Ben.Zeigler
#jira UE-42922 Fix it so connecting function input node output pins does not clear default value, we only want to clear the value when connecting an input pin. Properly testing this fix depends on UE-43883
Change 3389205 on 2017/04/11 by Marc.Audy
Protect against a handful of GEditor usages that can now be hit in standalone
Change 3389220 on 2017/04/11 by Marc.Audy
Don't borrow ClassWithin to masquerade as ParentClass during compilation and instead just set the super struct immediately
Change 3389222 on 2017/04/11 by Michael.Noland
Framework: Adding a cvar (t.TickComponentLatentActionsWithTheComponent) to allow users to revert to the old behavior on when component latent actions tick
- Non-zero values behave the same way as actors do, ticking pending latent action when the component ticks, instead of later on in the frame (default behavior in 4.16 and beyond)
- Prior to 4.16, components behaved as if the value were 0, which meant their latent actions behaved differently to actors
This CVar will be removed in a future version, defaulting to on
#jira UE-43661
Change 3389276 on 2017/04/11 by Marc.Audy
Spelling fix and NULL to nullptr
Change 3389303 on 2017/04/11 by Mieszko.Zielinski
Made sure AIController::Posses doesn't get called when compiling Pawn BP #UE4
#jira UE-43873
Change 3390215 on 2017/04/12 by mason.seay
Removed some tests, will need further review
Change 3390638 on 2017/04/12 by Mike.Beach
Generalizing the omission of the CoerceProperty (in EmitTerm) - previously we were only omitting properties for our custom array lib. For wildcards, a coerce property should not be used as its type will not match.
NOTE: There is a slight behavior change in UEdGraphSchema_K2::ConvertPropertyToPinType(), as it will return 'wildcard' for params marked as 'ArrayTypeDependentParams' (previously would have returned 'int').
#jira UE-42747
Change 3390774 on 2017/04/12 by Ben.Zeigler
#jira UE-43911 Fix several issues with saving a runtime asset registry containing redirectors that caused crashes in cook on the fly. Don't resolve redirectors on incoming links because it will make a circular link, and fix an issue where chained redirectors would break the for loop iteration and return a bad dependency
Fix it so the asset registry written out at the beginning of CookOnTheFly uses the registry generator, otherwise it will include all of the stripped editor only tags
Change 3390778 on 2017/04/12 by Ben.Zeigler
Fix UCookOnTheFlyServer::CollectFilesToCook to check for initial unsolicited packages up front. This is required in iterative mode because it may skip cooking all explicit packages and thus miss a new startup loaded package
Change 3390782 on 2017/04/12 by Ben.Zeigler
Change RunProjectCommand to not imply -nomcp, and allow reading -clientcmdline to override setting the map parameter to 127.0.0.1 by default
Fix RunProjectCommand to remove ios-specific checks to not pass weird platform parameters, and instead never pass them
Fix PS4Platform to pass along command line when calling build cook run, args needs to be the last parameter so explicitly set -target=
Change 3390859 on 2017/04/12 by Mike.Beach
T3D class fields now export with the class's fully qualified path name (to avoid abiguity). Since we can have multiple classes with the same name (Blueprints in different folders), we have to use the class's fully qualified object path.
#jira UE-28048
Change 3390914 on 2017/04/12 by Lukasz.Furman
fixed missing navlink component's transform in exported navigation data
#jira UE-43688
Change 3391122 on 2017/04/12 by Ben.Zeigler
Add new PreloadPrimaryAssets call to AssetManager that stream the desired assets without modifying the official load/unload state. This is useful if you want to preload things in case the might be used in the future, and it also supports recursion
Fix crash calling GetAssetDataForPath with null path
Change 3391494 on 2017/04/12 by Dan.Oconnor
Fix bad references in deep object (widget) hierarchies
#jira UE-43802
Change 3391529 on 2017/04/12 by Dan.Oconnor
Fix log spam, accidently submitted
#rnx
Change 3391756 on 2017/04/12 by Dan.Oconnor
LinkExternalDependencies needs to be performed before we RefreshVariables
#jira UE-43843
Change 3392542 on 2017/04/13 by Marc.Audy
Ensure that initialized actors get cleaned up when removed from world even if that world hasn't begun play.
#jira UE-43879
Change 3392746 on 2017/04/13 by Marc.Audy
(4.16) When duplicating a blueprint node, correctly make the new node a sibling of the duplicated node, not a child of it (unless duplicating the root component).
Also resets scale of a duplicated root component to 1 to avoid a squaring of the scale for that component.
#jira UE-40218
#jira UE-42086
Change 3393253 on 2017/04/13 by Dan.Oconnor
Make sure calculated meta data is correctly set on functions generated by the compilation manager (SKEL_ class functions)
#jira UE-43883
Change 3393509 on 2017/04/13 by Mike.Beach
Removing hack'ish ResetLoaders() call that was causing undesired side-effects (resetting of a loaded package that other objects were relying on). This was originally intended to release file handles so separate editor processes could make updates and save the file (from CL 1712376). Using ResetLoaders() for this is bad though, as it has too many side effects. Instead we have to wait for GC to run. This also makes sure that GC should run as intended as the CookOnTheFly sever is idling.
#jira UE-37284
Change 3394350 on 2017/04/14 by Michael.Noland
Core: Making FDateTime and FTimespan actually reflected, so they get duplicated properly in CopyPropertiesForUnrelatedObjects, etc...
#jira UE-39921
Change 3395985 on 2017/04/17 by Phillip.Kavan
#jira UE-38280 - Fix invalid custom type selections on member fields in the User-Defined Structure Editor after a reload.
Change summary:
- Ensure that the 'SubCategoryObject' member in a UDS variable descriptor has been loaded when converting to an FEdGraphPinType.
Change 3396152 on 2017/04/17 by Marc.Audy
TickableGameObjects that have IsTickableInEditor false should not tick in the editor
#jira UE-40421
Change 3396279 on 2017/04/17 by Phillip.Kavan
#jira UE-43968 - Fix failed validation of bitmask enum types when serializing bitmask literal nodes.
Change 3396299 on 2017/04/17 by Dan.Oconnor
Fix resintancing issues exposed by running TM-Gameplay with -game. We cannot reinstance actors in levels on load because the scene is not created.
#jira UE-43859
Change 3396712 on 2017/04/17 by Marc.Audy
Call PostLoad on subobjects before copying for unrelated properties to avoid cases where an out of date object patched over in the linker has not been brought up to date
#jira UE-38234
Change 3396718 on 2017/04/17 by Mike.Beach
Adding a search bar to the components tree for Blueprints.
#epicfriday
#jira UE-17620
Change 3396999 on 2017/04/17 by Mike.Beach
In generated code, call event '_Implementation' functions directly for interface functions being invoked on self (avoids a UHT runtime error).
#jira UE-44018
Change 3397700 on 2017/04/18 by Marc.Audy
UT struct BlueprintType fixups
Change 3397701 on 2017/04/18 by Marc.Audy
Odin struct BlueprintType fixups
Change 3397703 on 2017/04/18 by Marc.Audy
Ocean struct BlueprintType fixups
Change 3397704 on 2017/04/18 by Marc.Audy
WEX struct BlueprintType fixups
Change 3397705 on 2017/04/18 by Marc.Audy
Additional UT blueprint type struct fixups
Change 3397706 on 2017/04/18 by Marc.Audy
Fortnite struct BlueprintType fixups
Change 3397708 on 2017/04/18 by Marc.Audy
Fixup Engine BlueprintType markup of structs
Change 3397709 on 2017/04/18 by Marc.Audy
Sample Game struct BlueprintType fixups
Change 3397711 on 2017/04/18 by Marc.Audy
Mark AnimNodes as BlueprintType and BlueprintInternalUseOnly
Change 3397712 on 2017/04/18 by Marc.Audy
Paragon struct BlueprintType fixups
Change 3397735 on 2017/04/18 by Marc.Audy
Definition pieces of BlueprintInternalUseOnly to fix UHT errors with structs already marked to use it
Change 3397912 on 2017/04/18 by Mike.Beach
Fix for CIS warnings about shadowed variables (fallout from CL 3396718).
Change 3398455 on 2017/04/18 by Marc.Audy
Make less critical errors log an error rather than immediately throwing allowing multiple errors to be reported in the same compile
Change 3398491 on 2017/04/18 by Marc.Audy
BPRW/BPRO in a non-BlueprintType is now a UHT error
Change 3398539 on 2017/04/18 by Marc.Audy
Fixup live link struct markups
Change 3399412 on 2017/04/19 by Marc.Audy
Fix Match3 blueprint type struct markups
Change 3399509 on 2017/04/19 by Phillip.Kavan
#jira UE-38574 - Fix AnimBlueprint function graphs marked as 'const' to treat 'self' as read-only when compiling.
Change summary:
- Modified FKismetCompilerContext::ProcessOneFunctionGraph() to use the function graph schema rather than the compiler context schema for both the function context's schema as well as testing the function for 'const'-ness. For AnimBPs, the compiler context and the function graph context can differ, so we need to make sure we are using the right one when making queries for a specific function context during compilation.
- Minor cleanup: changed the function context schema to be 'const' in order to be consistent with the function graph GetSchema() API's result. Added a few 'const' qualifiers where needed to match.
- Added a new object version in order to avoid breaking compilation of existing AnimBP function graphs that may already be violating the 'const' rule (this is the same thing that was done when 'const' was first added to "normal" BP function graphs). Just as with normal function graphs in place before the addition, a warning will be generated for existing AnimBP function graphs if they violate 'const' correctness, and an error will be generated for all new ones.
Change 3399749 on 2017/04/19 by Mike.Beach
Hiding the Nativized Blueprints plugin from the in-editor browser (prevent users from disabling it).
Change 3399774 on 2017/04/19 by Marc.Audy
ConditionalPostLoad is already called on StaticMesh earlier in the function
#rnx
Change 3400313 on 2017/04/19 by Mike.Beach
Mirroring CL 3398673 from 4.16
Now, with ICWYU, making sure that the coresponding header gets included first in nativized Blueprint files (else we get a UHT error). Had to fixup some ShooterGame specific files as a result (they had missing includes and forward declarations).
#jira UE-44124
Change 3400328 on 2017/04/19 by Mike.Beach
Missing file from mirrored change (CL 3400313 - mirroring CL 3398673 from 4.16)
#jira UE-44124
Change 3400415 on 2017/04/19 by Chad.Garyet
adding physx switch build to framework
Change 3400514 on 2017/04/19 by Mike.Beach
Back out changelist 3400313 / 3400328 (mirrored from CL 3398673 in 4.16), as it was producing "include PCH first" errors. Likely, CL 3398673 was a fix for a 4.16 specific change, altering the expected include order. We'll have to wait for this one to be integrated back.
Change 3400552 on 2017/04/19 by Marc.Audy
Undo the calling of post load prior to the CPFUO as dependent objects may not yet be loaded. Instead copy the need load flag to the new CDO subobject, similarly to how the top level CDO object copies its flags over.
#jira UE-44150
Change 3400815 on 2017/04/19 by Marc.Audy
Spelling fix (part of PR #3490)
#rnx
Change 3400918 on 2017/04/19 by Marc.Audy
Partial pull of PR #3490: Improved remapping game controls support (Contributed by projectgheist)
This portion brings in the exposure of the bindings to blueprint
#jira UE-44122
Change 3401550 on 2017/04/20 by Marc.Audy
fix kitedemo blueprint type markup
#rnx
Change 3401702 on 2017/04/20 by Mike.Beach
Make it so plugins added to a project through the .uproject's 'AdditionalPluginDirectories' list get folded into the generated code project (for visual studio, etc.).
Change 3401720 on 2017/04/20 by Mike.Beach
Add white and black lists for target type (game, client, server, etc.) to plugin module descriptors.
Change 3401725 on 2017/04/20 by Mike.Beach
Whitelisting the nativized Blueprint plugin for only the targets it was built for (game, server, or client).
Change 3401800 on 2017/04/20 by Ben.Zeigler
Add Algo::BinarySearch, LowerBound, and UpperBound. These are setup to allow binary searching a presorted array, and allow for specifying projection and sort predicates. Convert some engine code to use it
Add TSortedMap, which is a map data structure that has the same API as TMap, but is backed by a sorted array. It uses half the memory and performance is faster below n=10
Add FName::CompareIndexes so a SortedMap with FNames can be used without doing very slow string compares, and FNameSortIndexes predicate to sort by it
Add code to Algo and Container tests. Split up container tests so the new ones aren't run in smoketest as they are a bit slow
Add RemoveCurrent and SetToEnd to ArrayIterator
Change 3401849 on 2017/04/20 by Marc.Audy
Partial pull of PR #3490: Improved remapping game controls support (Contributed by projectgheist)
This portion brings bug fixes and improvements to InputKeySelector UMG widgets.
#jira UE-44122
Change 3402088 on 2017/04/20 by Marc.Audy
Focus the search box when expanding the map value type
#jira UE-44211
Change 3402251 on 2017/04/20 by Ben.Zeigler
Fix issue where SortedMap needs to be resorted after serialization, because the sorting may have changed from when it was saved out
Change 3402335 on 2017/04/20 by Ben.Zeigler
Significant changes to FAssetData serialization and memory, cuts memory significantly but will break code that was using some of the internal API that was not properly hidden before
Both Editor and Runtime cache now use the same FAssetRegistryVersion, which is now registered as a custom version
Rename FAssetData and FAssetPackage operator<< to SerializeForCache to make it clear that it isn't safe to use for general serialization
Remove GroupNames from FAssetData, it has not been useful since the UE4 package structure changed around 4.0
Rename generic-sounding but not actually generic SharedMapView class to AssetDataTagMapSharedView to indicate what it is actually used for
Change TagsAndValues to use a new array-backed TSortedMap as the base structure instead of a hash map. Also, it only allocates the map on demand, which saves significant memory at runtime as many packages have no tags
Add bFilterAssetDataWithNoTags to [AssetRegistry] ini section, if set it will only save cooked asset data if it has tags, off by default but saves significant memory if your whitelist is set up properly
Fix issue where asset registry tags updated by loading assets during cook were not being reflected in the cooked registry
Add AssetRegistry::GetAllocatedSize and add to MemReport output
Change 3402457 on 2017/04/20 by Ben.Zeigler
Enable asset registry iteration and stripping unused asset data in Fortnite. Registry iteration is already on in //Fortnite/Main, stripping is a new feature I want to test
Change 3402498 on 2017/04/20 by Ben.Zeigler
CIS fix. Why did this compile locally?
Change 3402537 on 2017/04/20 by Ben.Zeigler
Remove ensure for making AssetData for subobjects, the editor does this for thumbnail creation in some cases
Change 3402600 on 2017/04/20 by Ben.Zeigler
Add bShouldGuessTypeAndNameInEditor to manager settings, can be set false for games where type cannot be safely implied and content must be resaved
Fix up some bool setting code inside asset manager, and fix const correctness and for iterator issues
AssetManager can now discover any BlueprintCore type when bHasBlueprintClasses=true
Add AssetManager.DumpAssetRegistryInfo to output detailed asset registry usage stats
Add Primary Name to asset audit window by default
Change 3403556 on 2017/04/21 by Marc.Audy
Fix Orion input key selector override class
#rnx
Change 3404090 on 2017/04/21 by mason.seay
Applying Forcefeedback to test map
Change 3404093 on 2017/04/21 by mason.seay
Changing text in level
Change 3404139 on 2017/04/21 by mason.seay
Added Force Feedback test and made some tweaks.
Change 3404146 on 2017/04/21 by mason.seay
Added source reference to Instanced Variable test
Change 3404154 on 2017/04/21 by mason.seay
More minor tweaks
Change 3404155 on 2017/04/21 by Marc.Audy
Remove auto
#rnx
Change 3404188 on 2017/04/21 by Marc.Audy
Fixed crash changing variable type when any type other than map
#jira UE-44249
#rnx
Change 3404463 on 2017/04/21 by Ben.Zeigler
Fix asset data code to not ensure when loading an object with invalid exports, and instead print warning with name of package that needs to be resaved
Resave a map that had a redirector from a DIFFERENT package saved in it's exports. I do not understand how this happened, but it appears to be related to the lightmap BuiltData transition when old maps are opened
Change 3404465 on 2017/04/21 by Ben.Zeigler
Fix issue with trying to load editor-only asset classes in a cooked build
Fix issues with renaming or changing template Ids of assets from the editor
Always print the Duplicate Asset ID error, as if you have more than one the ensuremsg only goes off once
Change 3404481 on 2017/04/21 by Dan.Oconnor
Remove unneeded walk up hierarchy - prevent stale entries in action database if we compile a BP but don't compile its children
Change 3404510 on 2017/04/21 by Phillip.Kavan
#jira UE-35727 - Collapsed graphs containing a local variable node will no longer cause a compile error when the parent graph is renamed.
Change 3404590 on 2017/04/21 by Michael.Noland
Editor: Fixed incorrect filtering of abstract/deprecated UDeveloperSettings and UContentBrowserFrontEndFilterExtension classes caused by a typo (HasAnyCastFlags versus HasAnyClassFlags)
Change 3404593 on 2017/04/21 by Marc.Audy
Fixed another crash to do with input pin secondary combo box
#jira UE-44269
#rnx
Change 3404600 on 2017/04/21 by Michael.Noland
Core: Allow UE_GC_TRACK_OBJ_AVAILABLE to be set externally
#rnx
Change 3404602 on 2017/04/21 by Michael.Noland
Engine: Switched from an include to a forward declaration of SWidget in UDeveloperSettings to keep it slim
#rnx
Change 3404608 on 2017/04/21 by Michael.Noland
Core: Marked TNumericLimits as constexpr so they can be used in static asserts
Change 3404659 on 2017/04/21 by Michael.Noland
Engine: Adding includes back to two UDeveloperSettings subclasses
Change 3405289 on 2017/04/24 by Marc.Audy
Remove auto
#rnx
Change 3405446 on 2017/04/24 by Marc.Audy
Fix Win32 unsigned compile issue
Change 3405512 on 2017/04/24 by Mike.Beach
Piping through NativizationOptions to filename generation (so we're able to gen different files names per target: client vs. server).
Change 3406080 on 2017/04/24 by Ben.Zeigler
Deprecate UEngine::OnPostEngineInit and move to FCoreDelegates, clean up comments for the initialization delegates
Call OnPostEngineInit from commandlet initialization as well as normal execution. I thought about making a wrapper function, but the commandlet calls EditorInit directly so it wouldn't work
Bind delegate to refresh the AssetRegistry native class hierarchy after engine init so it picks up game/plugin classes. Undo ini change that was required to hack around this
Change 3406381 on 2017/04/24 by Ben.Zeigler
#jira UE-23768 Enable Run Physics With No Controller for montage test pawn. The montage pawn has no controller so wasn't correctly running physics when the root motion stopped. This flag needs to be set to allow it to correctly stop after the montage is over
Change 3406438 on 2017/04/24 by Ben.Zeigler
Fix deprecation warning
Change 3406519 on 2017/04/24 by Phillip.Kavan
#jira UE-43612 - Suppress array "Get" node fixup notifications on load when the BP Compilation Manager is enabled.
Change summary:
- Wrapped BPCM calls to FBlueprintEditorUtils::ReconstructAllNodes() and ReplaceDeprecatedNodes() duirng compile-on-load with bIsRegeneratingOnLoad = true. This matches the BP's state during compile-on-load when the BPCM is not enabled.
Change 3406565 on 2017/04/24 by Dan.Oconnor
Make sure all interface functions are added to skeleton
#jira UE-44152
Change 3407489 on 2017/04/25 by Ben.Zeigler
#jira UE-44317 Fix game-only TickableGameObjects to correctly tick in PIE
Change 3407558 on 2017/04/25 by Ben.Zeigler
Fix Fortnite cook warnings, issue had to do with the CDO being registered as a Primary Asset in conflict with the Class being registered
Fix issue with renaming a BP primary asset not finding the old name
Change 3407701 on 2017/04/25 by Dan.Oconnor
Remove unneeded null check, static analysis doen't like the inconsistency
Change 3407995 on 2017/04/25 by Marc.Audy
Fixed maps and sets not working correctly with split pin.
#jira UE-43857
Change 3408124 on 2017/04/25 by Ben.Zeigler
#jira UE-39586 Change it so the blueprint String/Name/Object to Text node creates culture invariant text, and also have them show as an expanded node with a comment explaining this
Fix Transform to actually return in the format specified in the comment, and fix comments on many text conversions
Change 3408134 on 2017/04/25 by Marc.Audy
Graph pin container type now represented by an enumeration (EPinContainerType) rather than 3 "independent" booleans.
FEdGraphPinType constructor, UEdGraphNode::CreatePin, and FKismetCompilerContext::SpawnInternalVariable that took 3 booleans deprecated and replaced with a version that takes EPinContainerType.
UEdGraphNode::CreatePin parameters reorganized so that PinName is before ContainerType and bIsReference, which default to None and false respectively
Change 3408256 on 2017/04/25 by Michael.Noland
Core: Changed UClass::ClassFlags to be of type EClassFlags for improved type safety
Change 3408282 on 2017/04/25 by Marc.Audy
(4.16) Fix incorrect positioning of instance components after duplication
#jira UE-44314
Change 3408404 on 2017/04/25 by Mike.Beach
Adding and removing the nativized plugin to/from the project when we alter the packaging nativization setting (so it gets picked up by project generation).
Change 3408445 on 2017/04/25 by Marc.Audy
Fix up missed deprecation cases
#rnx
Change 3409354 on 2017/04/26 by Marc.Audy
Fix Linux CIS failure
#rnx
Change 3409487 on 2017/04/26 by Marc.Audy
When dragging assets in to the SCS create them as siblings, not nested
#jira UE-43041
Change 3409776 on 2017/04/26 by Ben.Zeigler
#jira UE-44401 Fix issue with cooking a map containing a reparented component. In that case the child component may think it's not editor only, but it's archetype is editor only. This is not allowed in EDL, so now the child is marked as editor only as well
Change 3410168 on 2017/04/26 by Dan.Oconnor
Avoid calling virtual functions in the middle of compile
#jira UE-44243
Change 3410252 on 2017/04/26 by Lukasz.Furman
adjusted WITH_GAMEPLAY_DEBUGGER checks after IWYU changes
#ue4
Change 3410385 on 2017/04/26 by Marc.Audy
ChildActorComponent SetClass no longer fails when setting at runtime.
#jira UE-43356
Change 3410466 on 2017/04/26 by Michael.Noland
Core: Ensuring EClassFlags is 32 bit in a different way (underlying type of the enum is coming out signed even though all members are unsigned, long term fix is probably to move it to an enum class)
#rnx
Change 3410476 on 2017/04/26 by Michael.Noland
Automation: Deleting some commented out methods
#rnx
Change 3411070 on 2017/04/27 by Marc.Audy
Properly complete deprecation of old attachment API
Change 3411338 on 2017/04/27 by mason.seay
Map for Latent Action Tick Bug
Change 3411637 on 2017/04/27 by Ben.Zeigler
Back out CL #3381532 as it was causing crashes when adding new variables to blueprints, as the transaction array was being recursively modified while it was being added to
Change 3412052 on 2017/04/27 by mason.seay
Updated jump test map and pawn
Change 3412231 on 2017/04/27 by Ben.Zeigler
Fix issue where running SearchAllAssets multiple times after mounting new paths would throw away the asset registry cache, which slowed down incremental cooking substantially because the cooker mounts the autosave folder
Duplicate of CL #3411860
Change 3412233 on 2017/04/27 by Ben.Zeigler
Made FStreamableHandle::GetLoadedCount much faster by taking advantage of existing progress counter
Duplicate of CL #3411778
Change 3412235 on 2017/04/27 by Ben.Zeigler
Add code to FStringAssetReferenceThreadContext and FStringAssetReferenceSerializationScope which allows setting package name and collect options for string asset references serialized via something other than linker load
Make RedirectCollector threadsafe to avoid issues with async loading asset references
Fix it so ProcessStringAssetReferencePackageList will remove entries from the string asset array like resolve did, and rename function to indicate that
Fix it so string asset references created by asset labels do not automatically get cooked, and significantly improve the speed of labels with lots of assets
Add code to cooker and asset manager to explicitly mark non-cookable assets as NeverVook, this stops labels from ending up in the build if set that way
Added option to not recurse package dependency changes more than one level when hashes change. This ended up not being significantly faster in a realistic case so left disabled
Duplicate of CL #3412080
Change 3412352 on 2017/04/27 by Marc.Audy
Refix lighting getting wrong position when getting component instance data
Change 3412426 on 2017/04/27 by Marc.Audy
Take first steps to making ComponentToWorld private and force use of accessor
Make bWorldToComponentUpdated private
Make ComponentToWorld and bWorldToComponentUpdated mutable
Add a SetComponentToWorld function for the (likely ill-advised) places that were setting it directly.
Change 3412468 on 2017/04/27 by Marc.Audy
Remove last remnants of deprecated (4.11) custom location system
Change 3413398 on 2017/04/28 by Marc.Audy
Fix up missed deprecated attachment API uses
Change 3413403 on 2017/04/28 by Marc.Audy
Fix Orion compile error
#rnx
Change 3413448 on 2017/04/28 by Marc.Audy
Fix up kite demo component to world privataization warnings
#rnx
Change 3413792 on 2017/04/28 by Ben.Zeigler
Fix many bugs with blueprint pin default values, and add "Reset to Default Value" option to pin context menu
Deprecate and rename SetPinDefaultValue because it actually sets the Autogenerated default. This was being called in bad places and destroying the stored autogenerated defaults
#jira UE-40101 Fix expose on spawn pins to correctly update when the spawned object's defaults change
#jira UE-21642 Fix struct pin default values to properly update when the struct is changed
#jira UE-39418 Fix changed function/macro default values to properly update in already placed call nodes
Change 3413839 on 2017/04/28 by samuel.proctor
Added some Blueprint focused tests for TM-Gameplay
Change 3414030 on 2017/04/28 by Ben.Zeigler
Enable use of AssetPtr variables with Config, for native and blueprint
This incorporates CL #3302487 but also enables for blueprint usage as that code is new to framework branch
Change 3414229 on 2017/04/28 by Marc.Audy
Fixup virtuals not calling their Super
Remove some autos
#rnx
Change 3414451 on 2017/04/28 by Lukasz.Furman
static analysis fix for gameplay debugger
Change 3414482 on 2017/04/28 by Ben.Zeigler
Fix crash found where changing pin type on ConvertAsset accessed an array while deleting it
Change 3414609 on 2017/04/28 by Ben.Zeigler
#jira UE-18146 Refresh graph when disconnecting a resolve asset id node
Change 3415852 on 2017/05/01 by Marc.Audy
Remove unused code
#rnx
Change 3415856 on 2017/05/01 by Marc.Audy
auto removal
#rnx
Change 3415858 on 2017/05/01 by Marc.Audy
Fix function taking an input as reference when unneeded and causing (still unclear why it suddenly started showing up) error in cooking
#rnx
Change 3415946 on 2017/05/01 by Marc.Audy
Have K2Node_StructOperation skip the K2Node_Variable validation as it doesn't need a property (per CL# 1756451)
#rnx
Change 3415988 on 2017/05/01 by Lukasz.Furman
renamed WorldContext param in AI related static blueprint functions to remove load/cook warnings
#jira UE-44544
Change 3416030 on 2017/05/01 by Ben.Zeigler
Fix issue with WorldContext pins being broken by my pin value refactor, partial paths like "WorldContext" need to be stored as strings and not as broken object references.
Change 3416230 on 2017/05/01 by Marc.Audy
Fix spelling error
#rnx
Change 3416419 on 2017/05/01 by Phillip.Kavan
#jira UE-44213 - Nativizing a Blueprint class with a non-nativized Blueprint class subobject dependency will no longer lead to a crash at load time.
Change summary:
- Modified the FFakeImportTableHelper ctor to inject subobject CDOs into the 'SerializeBeforeCreateCDODependencies' array. This in turn ensures that EDL will serialize those subobject CDOs (if necessary) before we create the subobject's nativized owner's CDO at load time.
- Modified FEmitDefaultValueHelper::GenerateCustomDynamicClassInitialization() to emit MiscConvertedSubobject instantiations AFTER we emit the FillUsedAssetsInDynamicClass() call. This is now consistent with the code emitted for other subobjects (all of which assumes that the UsedAssets array has been initialized).
- Modified FFindAssetsToInclude::HandleObjectReference() to add UField owner CDOs in addition to the owner class to the asset dependency list. This ensures that owner CDOs will be emitted alongside the class to both the nativized asset dependency table as well as to the fake import table associated with the UDynamicClass linker for the nativized BP asset.
Change 3416425 on 2017/05/01 by Phillip.Kavan
#jira UE-44219 - Nativizing a Blueprint class with a nativized DOBP class dependency will no longer lead to a compile error at cook/nativization time.
- Modified the FGatherConvertedClassDependencies ctor to properly handle DOBPs in exclusive mode that have been explicitly enabled for nativization. Previously, this code wasn't taking that possibility into account, and as a result could lead to a missing header file in a dependent nativized class body's include set.
- Modified FGatherConvertedClassDependencies::GetFirstNativeOrConvertedClass() to remove the 'bExcludeBPDataOnly' parameter, as it was primarily just being used for a redundant exclusion check when called from the FGatherConvertedClassDependencies ctor. That call site has now been modified to start searching from the super class instead. Additionally, any DOBPs will already fail the preceding WillClassBeConverted() check if they have not been explicitly enabled for nativization in exclusive mode, and will always fail if nativizing in inclusive mode. The extra check was breaking the explicitly-enabled case, so it was removed to allow explicitly-enabled DOBPs to pass.
Notes:
- Allowing for explicitly-enabled DOBPs in exclusive mode may be removed in a future change, but since it is currently supported, the changes noted above will at least ensure that the generated code will compile properly for now.
Change 3416570 on 2017/05/01 by mason.seay
Added UMG test to map. Tweaked force feedback test
Change 3416580 on 2017/05/01 by mason.seay
Resubmitting sub levels
Change 3416597 on 2017/05/01 by Dan.Oconnor
Compilation manager iteration, adds machinery for individual blueprint compilation, adds comments, cleans up duplicated code
Change 3416636 on 2017/05/01 by Phillip.Kavan
#jira UE-44505 - Potential fix for a low-repro crash tied to the Blueprint graph context menu.
Change summary:
- Switched FBlueprintActionInfo::ActionOwner to be a weak object reference.
Change 3416960 on 2017/05/01 by Dan.Oconnor
Use compilation manager when clicking the compile button, PIE'ing, etc
Change 3417207 on 2017/05/01 by Ben.Zeigler
Fix issue with None strings causing default value parsing failures
Add SetPinDefaultValueAtConstruction needed by some other changes
Change 3417519 on 2017/05/01 by Ben.Zeigler
Fix BP compile errors caused by local variables with invalid default values. There's no reason to set autogenerated here because the nodes are transient and invisible in the UI.
There is still a problem here, local variables are not getting their default values validated when type is changed, so you end up with an integer that has the default value of a struct.
Change 3418659 on 2017/05/02 by Ben.Zeigler
#jira UE-44534 Fix it so animation node pins get properly created autogenerated default values that are based on the node struct defaults. This fixes issues when they are reset to other defaults
#jira UE-44532 Fix it so connecting an animation asset pin on a node player resets the pin value to the autogenerated default instead of the cached asset. This was causing old unused assets to get unnecessarily cooked
Fix it so any animation node with an exposed pin that is an object property will reset that object propery when the pin is exposed. This fixes UE-31015 in a generic way
Change the OptionalPinManager to take a Defaults address as well as a current address, to allow setting autogenerated defaults properly
Remove Import/ExportKismetDefaultValueToProperty as they were redundant with PropertyValueFromString and were using the wrong pin setting functions, replaced with PropertyValueFromString_Direct and calling the schema pin set functions
I need to write some backward compatibility code to fix existing nodes, I'll do that in a later checkin
Change 3418700 on 2017/05/02 by Ben.Zeigler
Actually fix None object paths for real this time. I did not test sufficiently before
Change 3418811 on 2017/05/02 by Ben.Zeigler
Fix existing animation blueprint nodes with dead asset references duplicated by pins. This code can be applied independent of the other change to fix specific games
Change 3419165 on 2017/05/02 by Dan.Oconnor
Add misc. functionality from FKismetEditorUtilities::CompileBlueprint
Change 3419202 on 2017/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3417825
#rnx
Change 3419236 on 2017/05/02 by mason.seay
Removed OnPressed event from Widget BP
Change 3419314 on 2017/05/02 by Marc.Audy
Fix bad auto-resolve
#rnx
Change 3419524 on 2017/05/02 by Marc.Audy
PR #3528: Improved Input BP library node display names (Contributed by projectgheist)
#jira UE-44587
#rn Improved Input BP library node display names
Change 3419570 on 2017/05/02 by Zak.Middleton
#ue4 - Fix typo in TFunctionRef comment/example.
Change 3419709 on 2017/05/02 by Dan.Oconnor
Fix missing category metadata on SkeletonGeneratedClass when using compilation manager
Change 3419756 on 2017/05/02 by Dan.Oconnor
Remove unintentional verbosity increase
Change 3420875 on 2017/05/03 by Marc.Audy
Make IsExecPin static
Minor optimization to IsMetaPin
#rnx
Change 3420981 on 2017/05/03 by Marc.Audy
Change tagging temporarily until other changes are done so that we don't have warnings in the meantime
#rnx
Change 3421367 on 2017/05/03 by Marc.Audy
Manually introduce changes from CL# 3398673 in 4.16 that failed to make it to Dev-Framework as a result of the integration submitted as CL# 3401725.
#rnx
Change 3421685 on 2017/05/03 by Ben.Zeigler
#jira UE-23001 Convert literal Asset ID/Class ID pins to store path as string instead of as hard object reference. Old pins are fixed on load, after resaving the hard references will go away
Refactor the way that FStringAssetReference and FAssetPtr are serialized, it now does the various fixups in FStringAssetReference::SerializePath, which is called from archivers
Change it so the asset registry reads in a list of all scanned redirectors and adds them to GRedirectCollector, this means that saving a string asset reference will automatically fix it up to point to the redirector destination
Change the default behavior of FAssetPtr serialize on ArchiveUObject to match what most of it's children want, and remove several special case hacks. It now serializes as asset reference when saving/loading, and as object for other cases
Deprecate StringAssetReferenceLoaded/StringAssetReferenceSaving delegates, replace with PreSavePath and PostLoadPath on FStringAssetReference
Make AssetLongPathname private on FStringAssetReference, it was deprecated in 4.9
Change 3421728 on 2017/05/03 by Phillip.Kavan
Mirror CL 3408285 from //UE4/Release-4.16.
#jira UE-44124
#rnx
Change 3422370 on 2017/05/03 by Dan.Oconnor
Mirror 3422359
Implement UBlueprintGeneratedClass::NeedsLoadForEditorGame to match UBlueprint, also tag a class's CDO as NeedsLoadForEditorGame.
This prevents us from failing to load a UBlueprint's GeneratedClass when running the editor with -server.
#jira UE-44659
Change 3423192 on 2017/05/04 by Ben.Zeigler
CIS Fix
Change 3423305 on 2017/05/04 by Ben.Zeigler
Fix "Missing opening parenthesis" warnings for Vector and Rotator the same way they were fixed for Transform
Change 3423358 on 2017/05/04 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3422809
#rnx
Change 3423766 on 2017/05/04 by Ben.Zeigler
#jira UE-44680 Delete some corrupted redirectors that are no longer in use
Change 3423804 on 2017/05/04 by Dan.Oconnor
Honor SaveIntermediateCompilerResults when using compilation manager
Change 3424010 on 2017/05/04 by Marc.Audy
Validate that switch string cases are unique
Change 3424011 on 2017/05/04 by Marc.Audy
Re-fix switch node default pin not appearing as an exec output
Remove unused boolean
Change 3424071 on 2017/05/04 by Ben.Zeigler
Delete FixupRedirects commandlet, replace with -FixupRedirects/FixupRedirectors option on ResavePackages. This new method is much faster than the old commandlet as it uses the asset registry vs loading all packages, fixing up all redirectors in Fortnite only took about an hour vs 12+ hours the old way
Removed some hacky bits in Core that only existed to support FixupRedirects
Change it so the AssetRegistry listens to DirectoryWatcher callbacks in commandlets now that commandlets use the asset registry properly. This won't do anything unless you tick directory watcher the way that ResavePackages does
Change 3424313 on 2017/05/04 by Dan.Oconnor
Address missing property flags on SkeletonGeneratedClass when using compilation manager
#jira UE-44705
Change 3424325 on 2017/05/04 by Phillip.Kavan
#jira UE-44222 - Move nativized UDS implementation details into its own .cpp file in order to avoid circular dependencies.
Change summary:
- Modified IKismetCompilerInterface::GenerateCppCodeForStruct() to include an output parameter for CPP source and modified FKismet2CompilerModule to match the updated API.
- Modified IBlueprintCompilerCppBackend::GenerateCodeFromStruct() to include an output parameter for CPP source and modified FBlueprintCompilerCppBackendBase to match the updated API.
- Modified FBlueprintNativeCodeGenUtils::GenerateCppCode() to adjust the call to GenerateCppCodeForStruct() to include CPP source output.
- Modified FGatherConvertedClassDependencies::DependenciesForHeader() to switch UDS property dependencies to be forward declarations rather than includes (for default value init code).
- Modified FEmitDefaultValueHelper::GenerateGetDefaultValue() to emit implementation details to the 'Body' container, and adjust the header content to be a declaration only.
- Modified FIncludeHeaderHelper::EmitInner() to exclude a potentially-redundant line for the module's .h file, for the case when the caller has included the base filename in the 'AlreadyIncluded' set.
- Modified FEmitterLocalContext::FindGloballyMappedObject() to limit the 'TryUsedAssetsList' path to UClass conversions only (since that requires a UDynamicClass target to work).
- Modified FGatherConvertedClassDependencies::DependenciesForHeader() to only include BPGC fields if they are also being converted. Eliminates an issue with missing header files in generated code.
Change 3424359 on 2017/05/04 by Ben.Zeigler
Fix issue where StreamableManager would break when requesting an async load that failed the first time. Because our game supports downloading assets during gameplay it's not safe to assume it will never load again.
Port of CL #3424159
Change 3424367 on 2017/05/04 by Ben.Zeigler
Fix some asset manager warnings to not go off in invalid cases
Change 3425270 on 2017/05/05 by Marc.Audy
Pack booleans/enums in UEdGraphNode and FOptionalPinFromProperty
#rnx
Change 3425696 on 2017/05/05 by Ben.Zeigler
#jira UE-44672 Fix it so select node option pins get populated with default values properly
#jira UE-43927 Fix it so select node opion pin type is correctly maintained accross node recreation, as opposed to deriving from the attached pins
#jira UE-44675 Fix it to correctly refresh select node when switching from bool to integer index
Change 3425833 on 2017/05/05 by Ben.Zeigler
#jira UE-31749 Fix it so Undo works properly when modifying a local variable
#jira UE-44736 Fix it so changing the type of a local variable correctly resets the default value
Change 3425890 on 2017/05/05 by Marc.Audy
Fix Copy/Paste of child actor components losing the template
#jira UE-44566
Change 3425947 on 2017/05/05 by Ben.Zeigler
This was meant to be part of last checkin
Change 3425959 on 2017/05/05 by Ben.Zeigler
#jira UE-44692 Fix it so only the sequentially last node can be removed from a Switch On Int, and for Switch On Name stop it from removing an exec pin if it's the only non-default one
Change 3425979 on 2017/05/05 by Dan.Oconnor
PVS fix
Change 3425985 on 2017/05/05 by Phillip.Kavan
Fix an uninitialized variable.
#rnx
Change 3426043 on 2017/05/05 by Ben.Zeigler
#jira UE-35583 Correctly refresh array node UI when connecting pins that change it away from wildcard
Change 3426174 on 2017/05/05 by Zak.Middleton
#ue4 - Avoid call to virtual getSimulationFilterData() to only use it when needed in PreFilter if we actually have items in the IgnoreComponents list (which is rare). The sim filter data 'word2' stores the component ID.
Change 3426621 on 2017/05/05 by Phillip.Kavan
#jira UE-44708 - Fix an issue that re-introduced component data loss in a non-nativized child Blueprint class with a nativized parent Blueprint class.
Change summary:
- Removed an unnecessary additional check I had for the presence of "-NativizeAssets" switch on the command line in UBlueprint::BeginCacheForCookedPlatformData(). This check was failing because the usage was recently changed to include an optional value. It was not needed anyway so I just removed it.
#rnx
Change 3426906 on 2017/05/05 by Ben.Zeigler
#jira UE-11189 Fix function/macro input default values to show as a pin customization instead of as a broken text box that doesn't work correctly for most types. This fixes enums and provide validation for other types
Types that don't have a customization (most structs) will now show any more, they did not work before either
#jira UE-21754 Hide function default values if pass by reference is set
Fix it so changing input parameter will also reset default value, to avoid having the wrong type value set and to work the same as local variables
Change 3426941 on 2017/05/05 by Dan.Oconnor
Fix determinstic cooking of LoadAssetClass nodes in macros
Change 3427021 on 2017/05/05 by Dan.Oconnor
Build fix, make initialization order in source match artifact
#rnx
Change 3427135 on 2017/05/05 by Phillip.Kavan
#jira UE-44702 - Restore code-based interface classes to Blueprint editor UI.
Change summary:
- Partially backed out CL# 3348513 to return to previous behavior for 4.16. The UI is no longer filtering on the __is_abstract() type trait for interface classes.
- Modified FNativeClassHeaderGenerator::ExportClassFromSourceFileInner() to emit the _getUObject() declaration for native interface types as a default implementation that returns NULL rather than as a pure virtual declaration.
#rnx
Change 3427144 on 2017/05/06 by Marc.Audy
Fix init order
#rnx
Change 3427146 on 2017/05/06 by Marc.Audy
remove stray semicolon
#rnx
Change 3427242 on 2017/05/06 by Phillip.Kavan
#jira UE-44744 - Fix a regression in which a UMG Widget Blueprint property not explicitly marked as a variable would cause Blueprint nativization to fail at package time.
Change summary:
- Modified FWidgetBlueprintCompiler::CreateClassVariablesFromBlueprint() to only add 'Category' metadata when we set the 'CPF_BlueprintVisible' flag on the UProperty, which in is now tied to whether or not the property has been explcitly marked as a variable. This avoids a UHT warning when compiling the nativized codegen that would cause packaging to fail.
#rnx
Change 3427720 on 2017/05/08 by Dan.Oconnor
Backing out 3419202
#rnx
Change 3427725 on 2017/05/08 by Dan.Oconnor
SA fix
#rnx
Change 3427734 on 2017/05/08 by Dan.Oconnor
More exhaustive GEditor null checks, to appease SA
#rnx
Change 3427882 on 2017/05/08 by Marc.Audy
Properly order all booleans in intialization
#rnx
Change 3428049 on 2017/05/08 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3427804
#rnx
Change 3428523 on 2017/05/08 by Ben.Zeigler
#jira UE-44781 Refresh function input UI when blueprint graph refreshes, needed as pins may have gone away
Change 3428563 on 2017/05/08 by Ben.Zeigler
#jira UE-44783 If setting a hard reference pin type from a string, load the referenced object.
Change 3428595 on 2017/05/08 by Dan.Oconnor
Avoid node reconstruction when we're compiling a blueprint with no linker (e.g., a duplicated blueprint)
#jira UE-44777
Change 3428599 on 2017/05/08 by Ben.Zeigler
#jira UE-44789 Fix string asset renamer to not mark IsPersistent becuase that crashes in lightmap code, change it so the path fixup doesn't require the persistent flag
Change 3428609 on 2017/05/08 by Dan.Oconnor
Improved fix for UE-44777
#jira UE-44777
#rnx
Change 3429176 on 2017/05/08 by Phillip.Kavan
#jira UE-44755 - Fix nativization build errors when packaging a game project that is not IWYU-compliant for a build target that disables PCH files.
- Mirrored from //UE4/Release-4.16 (CL# 3429030).
#rnx
Change 3429198 on 2017/05/08 by Phillip.Kavan
CIS fix.
#rnx
Change 3429583 on 2017/05/08 by Ben.Zeigler
Fix SGraphPinClass to work properly after my changes to allow unloaded assets. For Class pins we need to store separate Runtime and Editor asset data objects, as one has _C and refers to the class, and the other doesn't and refers to the blueprint. The content browser wants the editor path, the pin defaults want the runtime path.
Change default value widgets to look more like properties widgets by forcing them to act as highlighted and disabling black background
Change 3429640 on 2017/05/08 by Marc.Audy
Fix issues with select nodes in macros connected to wildcard pins.
#jira UE-44799
#rnx
Change 3429890 on 2017/05/08 by Ben.Zeigler
Fix function/macro defaults to properly propagate when changed using the new edit UI
Refactor some code out of the details customization into the k2 schema
Disable defaults UI for object/class/interface hard references as it is disabled in KismetCompiler
Change 3429947 on 2017/05/08 by Michael.Noland
Core: Backing out CL# 3394352 (marking FDateTime and FTimespan nonexport member Tick with UPROPERTY()), which will re-break UE-39921 but fix UE-44418
There appears to be a more serious underlying issue with how the CDO is instanced which needs to be addressed
#jira UE-44418
#reimplementing 3411681 from Release 4.16
Change 3429987 on 2017/05/08 by Ben.Zeigler
#jira UE-44798 Do a better job of validating object paths saved as default values, due to an old bug with local variables some object paths are saved as struct exportext
At load time clear invalid default value for local variables
Add IsValidObjectPath to FPackageName that validates the passed in path would be valid to load with LoadObject
Change 3430392 on 2017/05/09 by Marc.Audy
Fix SA CIS error
#rnx
Change 3430747 on 2017/05/09 by Ben.Zeigler
#jira UE-44836 Don't reconstruct node during callback for param value changing, this can happen during a reconstruction and recursive reconstruction is unsafe
Don't call ModifyUserDefinedPinDefaultValue unless the default value has actually changed
Change 3431027 on 2017/05/09 by Marc.Audy
Fix BPRW mark up causing Ocean warnings
#rnx
Change 3431353 on 2017/05/09 by Marc.Audy
Fix UHT error due to exposing FJsonObjectWrapper to blueprints
#rnx
[CL 3431398 by Marc Audy in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2992821 on 2016/05/27 by Max.Chen
Subway Sequencer: Add "Assets" and "Character" to the list of additional directories to cook.
#jira UE-31279
#lockdown Cristina.Riveron
Change 2992761 on 2016/05/27 by Max.Chen
Add assets from "Directories to Always Cook".
#jira UE-31279
#lockdown Cristina.Riveron
Change 2992371 on 2016/05/26 by Dmitry.Rekman
Fix GUBP Tools node (UE-31378).
#jira UE-31378
#lockdown Josh.Adams
Change 2992279 on 2016/05/26 by Dmitry.Rekman
One more fix for UAT compilation failure (UE-31312).
- Make EnvVarsToXML target framework v4.5.
#lockdown Josh.Adams
#jira UE-31312
Change 2992060 on 2016/05/26 by Josh.Adams
- Reset PVRTC compression quality to default, so cooks don't take forever for IOS. We shipped with PVRTC Quality 4 for the App Store version. This is set in the Cooker Settings in the Project Settings window.
#lockdown cristina.riveron
#jira UE-31373
Change 2992009 on 2016/05/26 by Dmitry.Rekman
Fix packaging on Linux (UE-31312).
- System.Xml was spelled as System.XML.
#jira UE-31312
#lockdown Josh.Adams
Change 2991784 on 2016/05/26 by Martin.Wilson
Fix for RecalcRequiredBones crashing when there is no lod data
#jira UE-30028
#lockdown cristina.riveron
Change 2991744 on 2016/05/26 by Dmitry.Rekman
Fix Linux code project generation (UE-31322).
- Also fixes UE-31318 (not reopening when creating BP project).
- Apparently, we cannot reset all signals to default, this makes posix_spawn() fail after fork (child exits with 127).
- Added logging of child's return code.
#lockdown Josh.Adams
#jira UE-31322
#jira UE-31318
Change 2991448 on 2016/05/26 by Nick.Darnell
Disabling the logging in the git module that was added from the previous commit.
#jira UE-30781
#lockdown cristina.riveron
Change 2991352 on 2016/05/26 by Max.Chen
Subway Sequencer: Add "Sequencer" to the list of additional directories to cook.
#jira UE-31279
#lockdown Cristina.Riveron
Change 2991121 on 2016/05/26 by Ben.Marsh
Fix ShooterGame warnings on XboxOne.
#lockdown cristina.riveron
Change 2991097 on 2016/05/26 by Nick.Darnell
PR #2386: Git Plugin: fix initialization of a new repository broken by new "migrate" support 4.12 (Contributed by SRombauts)
#jira UE-30781
#lockdown cristina.riveron
Change 2991095 on 2016/05/26 by Dmitry.Rekman
Fix packaging on Linux (UE-31312).
- Excludes UAT modules unsupported on the platform (e.g. TVOS).
#jira UE-31312
#lockdown Josh.Adams
Change 2990806 on 2016/05/25 by Michael.Gay
Last minute adjustments to SubwaySequencer shots.
Fixed Fade track on master and moved Event tracks to shots.
#jira UE-30804
#lockdown Cristina.Riveron
Change 2990739 on 2016/05/25 by Dan.Oconnor
Fix for transaction buffer failing to restore preview widget trees, these are regenerated post undo/redo and should not be tagged as transactional
#jira UE-31155
#lockdown cristina.riveron
Change 2990657 on 2016/05/25 by Dmitry.Rekman
Fix crash in mono when invoked by the engine (UE-31312).
- Reset signal mask on spawning a subprocess. We mask out all signals except explicitly handled, which does not play well with mono.
- See also https://answers.unrealengine.com/questions/420161/mono-process-crash.html
#jira UE-31312
#lockdown Josh.Adams
Change 2990564 on 2016/05/25 by Marc.Audy
Undo 4.12 change to DetachFromParent when AttachTo is called with a null parent.
#jira UE-00000
#lockdown Cristina.Riveron
Change 2990429 on 2016/05/25 by Max.Chen
Movie Capture: Fix initialization order warning. Follow up to CL #2990314
#jira UE-31285
#lockdown Nick.Penwarden
Change 2990338 on 2016/05/25 by Zabir.Hoque
TEMP Fix: On server enqued render thread work is dropped. So on server release Reflection capture resouce immediately instead of trying to defer enque.
#jira UE-28838
#lockdown cristina.riveron
Change 2990314 on 2016/05/25 by Max.Chen
Movie Capture: Flush the viewport when grabbing frames. This fixes more frame accuracy issues.
#jira UE-31285
#lockdown Nick.Penwarden
Change 2990249 on 2016/05/25 by Max.Chen
Sequencer: Fix tick prerequisites getting removed on stop and not re-set on play. This fixes frame accuracies when rendering in a separate process.
#jira UE-31285
#lockdown Nick.Penwarden
Change 2990243 on 2016/05/25 by Lukasz.Furman
Fixed behavior tree observers not being applied correctly
#jira UE-31307
#lockdown Cristina.Riveron
Change 2990206 on 2016/05/25 by Daniel.Lamb
Make sure min number of threads in the large thread pool is at least 2.
#jira UE-31253
#lockdown Cristina.Riveron
Change 2990182 on 2016/05/25 by Max.Chen
Sequencer: Fix null ptr crash on trying to record from current player. This is a regression from the off by one frame fixes.
#jira UE-31304
#lockdown Nick.Penwarden
Change 2990124 on 2016/05/25 by Chris.Bunner
Avoid creating additional inline code fragment casting matching uniform types.
#lockdown cristina.riveron
#jira UE-29089
Change 2989978 on 2016/05/25 by Uriel.Doyon
Merged fix for issue with resolution scale in PostProcessVisualizeComplexity
#jira UE-29473
#lockdown cristina.riveron
Change 2989970 on 2016/05/25 by Taizyd.Korambayil
#lockdown cristina.riveron
#jira UE-31293 Added TestMaps Folder and moved all Non-Relevant Maps into it.
Change 2989911 on 2016/05/25 by Chris.Babcock
Remove warning about Android debugging since CodeWorks for Android Nsight supports VS2015
#jira UE-31292
#ue4
#android
#lockdown cristina.riveron
Change 2989898 on 2016/05/25 by Robert.Manuszewski
Splitting inline shader registration from serialization. Serialization can happen on the async loading thread but registration should only happen on the game thread. Removed a lot of critical section locks.
Reimplementing CL #2952596
#jira UE-29245
#lockdown Nick.Penwarden
Change 2989849 on 2016/05/25 by Max.Preussner
Sequencer: Fixed Crash when playing UMG sequence with audio tracks (UE-31289)
#jira UE-31289
#lockdown nick.penwarden
Change 2989793 on 2016/05/25 by Max.Chen
Sequencer: Change automated capture so it captures in response to a sequence update to fix off by one frames.
#jira UE-30755
#lockdown Nick.Penwarden
Change 2989792 on 2016/05/25 by Max.Chen
Sequencer: Put back setting MaxFPS when forcing fixed frame interval playback to fix motion blur in editor.
#jira UE-30755
#lockdown Nick.Penwarden
Change 2989774 on 2016/05/25 by Mike.Beach
Mirroring CL 2946932
Guarding against invalid EdGraphPins (ones that have been moved to the transient package) when constructing the widget - prevents a crash that we've been unable to repro or determine the cause of (turns it instead into an ensure, so we can collect more contextual information on the issue).
#lockdown cristina.riveron
#jira UE-26998
Change 2989765 on 2016/05/25 by Olaf.Piesche
Moivng CL 2967970 from Dev-Rendering - fix for
#jira UE-27297
#lockdown nick.penwarden
Change 2989481 on 2016/05/25 by Marc.Audy
Properly route AttachToComponent to SetupAttachment if called from the constructor
#jira UE-31055
#lockdown Cristina.Riveron
Change 2989369 on 2016/05/25 by Robert.Manuszewski
Don't create asset import data for archetype TileMap. Propagate component flags to TileMap if the component is an archetype.
#jira UE-31033
#lockdown Nick.Penwarden
Change 2988975 on 2016/05/24 by Max.Preussner
Sequencer: Fixed Cinematic Camera look at tool crashes on auto save (UE-31195)
#jira UE-31195
#lockdown nick.penwarden
Change 2988834 on 2016/05/24 by Max.Chen
Movie Capture: Crash fix - Protect against null encoding filter.
#jira UE-31233
#lockdown Nick.Penwarden
Change 2988764 on 2016/05/24 by Peter.Sauerbrei
fix for exception when deploying to tvOS from PC
#jira UE-30318
#lockdown cristina.riveron
Change 2988540 on 2016/05/24 by Jeff.Campeau
Disable incompatible OpenVR for Windows XP builds.
Gut SteamVR and SteamVRController for Windows XP builds (rely on OpenVR).
#lockdown Nick.Penwarden
#jira UE-30823
Change 2988491 on 2016/05/24 by Zak.Middleton
#ue4 - (4.12) Remove version check from serialization logic that fixes up stale transient properties. They would still loaded for archetypes and we always want to prevent that in the future.
#lockdown cristina.riveron
#jira UE-30625
Change 2988427 on 2016/05/24 by Aaron.McLeran
#jira UE-31028 Stop Quietest Concurrency does not remove the quietest sound
Fix is to not re-add the sound once its stopped due to max concurrency.
#tests ran the QA test map that demonstrated the problem
#lockdown cristina.riveron
Change 2988391 on 2016/05/24 by Taizyd.Korambayil
#lockdown cristina.riveron
#jira UE-30301 Rebuilt Ligthing for all Content Example Maps
Change 2988315 on 2016/05/24 by Allan.Bentham
Re-enabled FLUTBlenderPS on vulkan devices. (it's required for protostar)
#jira UE-31079
Change 2988227 on 2016/05/24 by Frank.Fella
Sequencer - Add support for forcing editor and runtime evaluation to happen on exact fixed frame intervals. Updated the subway sequencer sample to work with these changes.
Change missed in first checkin.
#Jira UE-30755
Change 2988200 on 2016/05/24 by Robert.Manuszewski
Assert if MaxObjectsInEditor or MaxObjectsInGame are too big and collide with EInternalObjectFlags
#jira UE-31218
Change 2988181 on 2016/05/24 by Peter.Sauerbrei
revert out the last fix and add more logging as I can't reproduce this bug
#jira UE-30813
Change 2988140 on 2016/05/24 by Frank.Fella
Sequencer - Add support for forcing editor and runtime evaluation to happen on exact fixed frame intervals. Updated the subway sequencer sample to work with these changes.
#Jira UE-30755
Change 2988081 on 2016/05/24 by Jamie.Dale
Better fix for UE-29651 that will also work with packages saved from a build without an engine version
There was no version bump for the change to FFormatArgumentData, but VER_UE4_K2NODE_VAR_REFERENCEGUIDS was added at almost the same time so testing that should handle the vast majority of packages that we have internally, and will handle all external packages.
#jira UE-29651
Change 2987964 on 2016/05/24 by Lee.Clark
Fix empty ENV path when compiling PS4 targets.
#jira UE-31210
Change 2987721 on 2016/05/23 by Dan.Oconnor
Reworking node validation change done in 2910382 so that nodes that are going to spawn other nodes in the expansion step are still validated.
#jira UE-31099
Change 2987696 on 2016/05/23 by Chris.Babcock
Update AndroidWorks 1R1 to CodeWorks for Android 1R4
#jira UEPLAT-1312
#ue4
#android
Change 2987624 on 2016/05/23 by Jeff.Campeau
Fix a define protection for WinXP stack walking support.
#jira UE-30823
Change 2987607 on 2016/05/23 by Jeff.Campeau
Windows Stack Walk fixed to work with Windows XP.
Use the ASCII calls where needed.
Symbol server is unsupported and is disabled when building for Windows XP.
#jira UE-30823
Change 2987593 on 2016/05/23 by Zak.Middleton
#ue4 - (4.12) Reject old serialized values of UMovementComponent::UpdatedComponent and UpdatedPrimitive that were saved before those were marked transient. Mark UPawnMovementComponent::PawnOwner and UCharacterMovementComponent::CharacterOwner as transient, and similarly reject old saved values.
#jira UE-30625
Change 2987548 on 2016/05/23 by Lukasz.Furman
Moved newly added gameplay debugger's code out of perception component
#jira UE-31090
Change 2987510 on 2016/05/23 by Lukasz.Furman
Restored perception category in old gameplay debugger tool
#jira UE-31090
Change 2987278 on 2016/05/23 by Ben.Marsh
Rocket: Add Mac GenerateProjectFiles.sh script into installed engine distro.
#jira UE-31109
Change 2987156 on 2016/05/23 by Chris.Babcock
Added GoogleVR to InstalledEngineFilters.ini
#jira UE-31186
#ue4
#android
Change 2987129 on 2016/05/23 by Mieszko.Zielinski
Fixed FNavigationFilterArea not zeroing its properties in default constuctor #UE4
#jira UE-31185
Change 2987100 on 2016/05/23 by Peter.Sauerbrei
fix for crash in DeploymentServer when attempting to copy a file with a space in the path or name
#jira UE-30813
Change 2987064 on 2016/05/23 by Dmitry.Rekman
PR #2164: [Linux] Fix clang '&&' within '||' error (Contributed by slonopotamus)
#jira UE-28537
Change 2987002 on 2016/05/23 by Aaron.McLeran
#jira UE-31036 Sound volume does not change when moving past the Non Focus Azimuth range if set to greater than 90 degrees
Fix was to remove the clamp on the dot-product
#tests ran test map with focus factors greater than 90 degrees
Change 2986880 on 2016/05/23 by Mark.Satterthwaite
Fix UE-31124 due to bad array iteration logic - amazing that this hadn't been seen earlier.
#jira UE-31124
Change 2986873 on 2016/05/23 by Lina.Halper
#fix issue with morphtarget importings for LODs
- this was caused by option not being set correctly
#jira: UE-30955
#code review: Alexis.Matte
Change 2986804 on 2016/05/23 by Taizyd.Korambayil
#jira UE-31132 Added Missing Function to Blueprint.
Change 2986801 on 2016/05/23 by Jamie.Dale
SSearchBox will now only delay text changes while it has focus
A text changed event when it doesn't have focus is usually triggered by code (rather than the user typing), so we need to process it immediately to avoid other operational ordering issues.
#jira UE-31101
Change 2986793 on 2016/05/23 by Martin.Wilson
Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected). (brought from dev-rendering 2983747)
#Jira UE-31166
Change 2986772 on 2016/05/23 by Benn.Gallagher
Fixed montage single node instances with negative rate scales only repeating the final section when looping
#jira UE-31164
Change 2986766 on 2016/05/23 by Martin.Wilson
Fix for preview not updating when tranform curve flags are changed.
#Jira UE-31119
Change 2986569 on 2016/05/23 by Robert.Manuszewski
Making hang detection disabled bu default and an opt-in for games.
#jira UE-31151
Change 2986564 on 2016/05/23 by Martin.Wilson
Fix for being able to set montages on an anim track segment.
#jira UE-31039
Change 2986205 on 2016/05/21 by Zabir.Hoque
Add new instrumentation to bucketize why we are seeing device lost so often.
#jira UE-20434
Change 2986071 on 2016/05/20 by Dan.Oconnor
Fix for TRASHCLASS sneaking into property list when recompiling a blueprint that has a dependency that is dirty and requires bytecode recompilation of its dependencies. Make sure that the dirty blueprint itself is part of the bytecode recompilation process and make sure that blueprints compiled in this way are compiled after their parent classes
#jira UE-30411
Change 2986068 on 2016/05/20 by Dan.Oconnor
Fix for blueprint change/compile delegates leaking
#jira UE-31118
Change 2986044 on 2016/05/20 by Zabir.Hoque
Make OpenGL VB allocation support alignment (16 by default). Future work should expose this up through the RHI layers.
#CodeReview: Olaf.Piesche, Simon.Tovey
#jira UE-29231
Change 2985934 on 2016/05/20 by Mark.Satterthwaite
Further changes to ensure that UE-30710 really is fixed while also not live-leaking memory in MetalRHI.
#jira UE-30710
Change 2985852 on 2016/05/20 by Max.Chen
Subway Sequencer: Remove level sequence editor from plugin list since it's on by default.
#jira UE-31106
Change 2985821 on 2016/05/20 by Phillip.Kavan
[UE-22874] Fix UObject duplication to preserve default subobjects created by the native class ctor when the root object is duplicated.
change summary:
- added FObjectDuplicationHelperMethods::GatherDefaultSubobjectsForDuplication()
- modified StaticDuplicateObjectEx() to map default subobjects created in the duplicated root object's ctor before entering the serialization pass. this preserves those instances instead of causing StaticConstructObject to destroy/recreate them during serialization as part of the UObject reference duplication logic.
#jira UE-22874
Change 2985750 on 2016/05/20 by Michael.Gay
Default Game map set to SubwaySequencer_P
#jira UE-31108
Change 2985660 on 2016/05/20 by Michael.Gay
Removing unused track animation
#jira UE-30804
Change 2985349 on 2016/05/20 by Dan.Oconnor
Fix for crash that occurs when repeatedly pasting and undoing an object with subobjects. We were not clearing the internal flags when recycling an object
#jira UE-30954
Change 2985346 on 2016/05/20 by Leslie.Nivison
Updating 4.12 credit
#jira UEPROD-820
Change 2985297 on 2016/05/20 by Jamie.Dale
Fixed VS version detection
It was checking the file version (which is 12), rather than the VS version (which is 12 for 2013, and 14 for 2015).
#jira UE-30977
Change 2985233 on 2016/05/20 by Gareth.Martin
Fixed crash when building lighting when using "Use Landscape Lightmap" on landscape grass
#jira UE-30975
Change 2985184 on 2016/05/20 by Chris.Babcock
Move audio warning to show proper error result code
#jira UE-31085
#ue4
#android
Change 2985183 on 2016/05/20 by Chad.Taylor
GoogleVR disabled by default
#jira UE-30921
Change 2985145 on 2016/05/20 by Jack.Porter
Fix for precision issue causing blocky landscape LOD on iPad Pro and several other iOS devices
#jira UE-24792
Change 2985124 on 2016/05/20 by Alex.Delesky
#jira UE-29794
If the editor cannot find the SSL DLLs when enabling the Perforce source control plugin, it will now display a warning in the Source Control log instead of crashing.
Change 2985066 on 2016/05/20 by Lee.Clark
Fix r.SelectiveBasePassOutputs so that it defaults to off
#jira UE-30133
Change 2985063 on 2016/05/20 by Allan.Bentham
Fix for modulated shadow precision issues on low end android hardware.
#jira UE-29083
Change 2985061 on 2016/05/20 by Max.Chen
Viewport: Fix crash when the viewport widget is null.
#jira UE-31050
Change 2985059 on 2016/05/20 by Rolando.Caloca
UE4.12 - Workaround for crash trying to track down other crash
#jira UE-30875
Change 2984876 on 2016/05/20 by Richard.TalbotWatkin
Made SceneOutliner visibility code safer, to avoid a potential crash.
#jira UE-30831 - [CrashReport] UE4Editor_SceneOutliner!SceneOutliner::FGetVisibilityVisitor::RecurseChildren() [sceneoutlinergutter.cpp:24]
Change 2984873 on 2016/05/20 by Richard.TalbotWatkin
Clipped selection box bounds in Matinee viewport to prevent crash when reading outside of the viewport area.
#jira UE-30968 - Ctrl+Alt selection drag inside to outside of Matinee window will crash the editor
Change 2984844 on 2016/05/20 by Matthew.Griffin
Fixing compile error in mono games
Change 2984825 on 2016/05/20 by Robert.Manuszewski
When the application crashes becaused the GPU driver was disabled, make sure the CrashReporterClient window gets the updated screen metrics after the driver is restored.
#jira UE-30556
Change 2984693 on 2016/05/20 by Phillip.Kavan
[UE-30495] Fix BP editor crash on component rename following undo of component add action.
change summary:
- modified USimpleConstructionScript::CreateNode() to create the initial component template object in the transient package, so that subsequent undo actions restore to that state rather than to a valid BPGC-owned state.
- modified StaticConstructObject_Internal() to restore the inclusion of RF_ArchetypeObject-flagged objects in the logic that sets new objects to 'PendingKill' state before recording them into the transaction buffer. this ensures that they can be GC'd when construction is undone in the editor. Tested against sample/repro steps in UE-21240 to ensure that it no longer crashes even with the original change from CL# 2832225 reverted (that fix has since been superceded).
#jira UE-30495
Change 2984684 on 2016/05/20 by Phillip.Kavan
[UE-30852] Fix BPGC custom property list delta generation & post-construct initialization/serialization to properly handle array values that differ from default in length but not inner element values.
change summary:
- modified UBlueprintGeneratedClass::BuildCustomPropertyListForPostConstruction()/BuildCustomArrayPropertyListForPostConstruction() to return a boolean value indicating whether or not a delta value was detected.
- modified UBlueprintGeneratedClass::BuildCustomArrayPropertyListForPostConstruction() and FBlueprintEditorUtils::BuildComponentInstancingData() to ensure that array properties are emitted to delta property lists if the size differs from default, even if none of the elements actually differ from the default value
- removed the ensure() for the array property case in FObjectInitializer::InitPropertiesFromCustomList(), as it is now a valid case to encounter an array property delta value without any actual delta element value overrides following it in the custom property stream
- restored the bCanUsePostConstructLink optimization for non-native class types in FObjectInitializer::InitProperties()
- modified UArrayProperty::SerializeItem() for the ArUseCustomPropertyList case to not empty the array when a resize is needed on load (read) - this fixes an edge case in the cooked BP component data stream when array size differed from default but only one or more of the inner values actually differed, in which case all the array slots were being reset (constructed/zeroed) but only the overridden value was being serialized (loaded) from the template data stream
#jira UE-30852
Change 2984651 on 2016/05/19 by Zabir.Hoque
Forcing GoogleVR plugin to disabled by default since its causing even non HDM machines to render split foveated viewports.
#CodeReview: Chad.Taylor, Nick.Whiting
#jira UE-30921
Change 2984636 on 2016/05/19 by Zabir.Hoque
Explicitly store the cubemap resolution in encoded reflection data.
#CodeReview Daniel.Wright, Marcus.Wassmer
#jira UE-30341
Change 2984454 on 2016/05/19 by Rolando.Caloca
UE4.12 - Fix for vulkan failing to load shader
Integration mirroring changelist 2984432
#jira UE-28140
Change 2984452 on 2016/05/19 by Marcus.Wassmer
#jira UE-31054
Remove autocompletion for ToggleRHIThread and ShowMaterialDrawEvents as they no longer do anything
Change 2984415 on 2016/05/19 by Dan.Oconnor
Fix for crash when we fail to spawn the preview actor because the desired class is deprecated
#jira UE-31027
Change 2984376 on 2016/05/19 by Dan.Oconnor
Fix for regression in GetClassDefaults - we were not handling the 'None' case
#jira UE-31034
Change 2984316 on 2016/05/19 by Aaron.McLeran
#jira UE-31049 Updating the Oculus Audio SDK to vs 1.02
#tests Ran updated SDK in several test maps, confirmed HRTF spatialization is working.
Change 2984315 on 2016/05/19 by Lina.Halper
Fix issue with importing morphtarget LOD when it's missing between
#jira: UE-30949
Change 2984237 on 2016/05/19 by Dan.Oconnor
Fix for ensure/possible stale memory access in UpdateOverlaps
#jira UE-30919
Change 2984170 on 2016/05/19 by Max.Chen
Movie Capture: Another pass at texture streaming fix for movie capture.
#jira UE-30986
Change 2984134 on 2016/05/19 by Chad.Taylor
Mac compiler warning fix
#jira UE-30921
Change 2983903 on 2016/05/19 by Taizyd.Korambayil
#jira UE-30562 Replaced cube With BSP for Floor
Change 2983840 on 2016/05/19 by Taizyd.Korambayil
#jira UE-30979 Fixed Typo in one of the Stands
Change 2983662 on 2016/05/19 by Ben.Marsh
GitHub: Add an exception to allow GoogleVR files to be mirrored to GitHub
Change 2983653 on 2016/05/19 by Chris.Bunner
Modifed previous change to fixup incorrect ensures.
#jira UE-30877
Change 2983599 on 2016/05/19 by Chris.Bunner
Added ensure and null ptr check to canvas flush.
#jira UE-30877
Change 2983596 on 2016/05/19 by Chad.Taylor
FluffyBunny
#jira UE-30921
Change 2983534 on 2016/05/19 by Brian.Karis
4.12 fix per pixel translucency
#jira UE-30902
Change 2983530 on 2016/05/19 by Chris.Babcock
Broadcast EMediaEvent::MediaOpened when media opened successfully
#jira UE-31006
#ue4
#android
Change 2983427 on 2016/05/19 by Richard.TalbotWatkin
Conflated "Import" and "Import Scene" in the File menu; the new action is called "Import Into Level". Limited the allowed file types to .t3d and .fbx.
#jira UE-30891 - CRASH: Editor crashes when Importing Actors via File > Import
Change 2983386 on 2016/05/19 by Michael.Gay
minor last tweaks
#jira UE-30804
Change 2983280 on 2016/05/19 by Gil.Gribb
UE4 - Fixed crash in FHierarchicalStaticMeshSceneProxy related to reflection captures and foliage.
#jira UE-30837
Change 2983079 on 2016/05/18 by Max.Chen
Movie Capture: Fix so that texture streaming option for movie capture is set when capturing in editor.
#jira UE-30986
Change 2983078 on 2016/05/18 by Dmitriy.Dyomin
Added more logging to track UE-30878
#jira UE-30878
Change 2983067 on 2016/05/18 by Dmitriy.Dyomin
Fixed: Mobile HDR Path doesn't work on GearVR
#jira UE-11846
Change 2983049 on 2016/05/18 by Max.Chen
Movie Capture: Fix crash on movie rendering when in HDR mode.
#jira UE-30978
Change 2982825 on 2016/05/18 by Mark.Satterthwaite
Correctly wait for the dispatch semaphore when clearing the Metal resource free lists.
#jira UE-30710
Change 2982697 on 2016/05/18 by Marc.Audy
Fix Orion DataProvider use of AddReferencedObjects in light of CL# 2982607
#jira UE-00000
Change 2982546 on 2016/05/18 by Taizyd.Korambayil
#jira UE-30862 resaved A bunc hof assets to Fix to attempt to fix Build Warnings
Change 2982533 on 2016/05/18 by Daniel.Lamb
When you package if you haven't saved the changes will not be reflected in the game.
#jira UE-30904
Change 2982415 on 2016/05/18 by Marc.Audy
Bring forgotten 4.11 CL# 2928377 to 4.12
Ensure that the compiler will throw an error when passing a non-UObject* TArray to AddReferencedObjects
#jira UE-28933
Change 2982358 on 2016/05/18 by Taizyd.Korambayil
#jira UE-30546 Updated TP_VehicleAdvPawn Chase Camera Location
Change 2982280 on 2016/05/18 by Martin.Mittring
UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project
#jira:UE-26409
Change 2982229 on 2016/05/18 by Max.Chen
Sequencer: Add tick prerequisites so that the level sequence actor ticks before all of the actors that it controls. This fixes some inconsistencies in the movie rendered frames not matching what's in editor.
#jira UE-30755
Change 2982080 on 2016/05/18 by Max.Chen
Sequence Recorder: Fix crash when component class to record is null.
#jira UE-30944
Change 2982041 on 2016/05/18 by Marcus.Wassmer
Protect against crashes reading from a null texture.
#jira UE-30834
Change 2981915 on 2016/05/18 by Allan.Bentham
Do not mosaic encode for modulate blend operations.
Fixes dark 'halos' around mod shadows.
#jira UE-29083
Change 2981911 on 2016/05/18 by michael.gay
Set framing in sequencer, set start to 200
#jira UE-30633
Change 2981904 on 2016/05/18 by Chase.McAllister
#jira UE-30943 Removing unused asset to fix DDC compiling bug
Change 2981894 on 2016/05/18 by Michael.Gay
removed old cameras, changed start frame to remove black at head of sequence
#jira UE-30633
Change 2981827 on 2016/05/18 by Gareth.Martin
Fixed crash when entering landscape mode while a landscape is selected while simulating
- Landscape infos no longer get created for PIE/Simulate landscapes (they were empty anyway)
#jira UE-30917
Change 2981725 on 2016/05/18 by Keith.Judge
Xbox One - Fix issues with DFAO/DF Shadowing. Problems were in RHIUpdateTexture3D(). Needed to ensure temp texture had the correct bind flags, etc, and also use the graphics context rather than the DMA context to do the copying, as for some reason the DMA engine corrupts some pixels of the distance field atlas texture.
#jira UE-27591
Change 2981466 on 2016/05/17 by Max.Chen
Merge from Chris Bunner from Dev-SequencerGDC - Frame state fixes when Sequencer is paused; No velocity in AA, Clamp motion blur scale, Clamp to scatter blur method.
#jira UE-30576
Change 2981403 on 2016/05/17 by Dan.Oconnor
Fix for overzealous filtering of classes with Within markup
#jira UE-29878
Change 2981342 on 2016/05/17 by Dan.Oconnor
Removing overzealous check. In Dev-BP this has already been downgraded to an ensure, but no reason to ensure now that we understand why it happens.
#jira UE-30792
Change 2981318 on 2016/05/17 by Max.Preussner
Sequencer: Fixed crash when scrubbing attached audio tracks; reduced nesting (UE-30923)
#jira: UE-30923
Change 2981221 on 2016/05/17 by Dan.Oconnor
Preventing spawning components with 'Within' markup specified, it is unsupported by the SCSEditor and Core UObject logic at this time. Likely logic is CoreUObject needs to avoid type checking for RF_ArchetypeObject instances and the SCSEditor needs to be more consistent about using that flag on its template objects
#jira UE-29878
Change 2981169 on 2016/05/17 by Marc.Audy
Gracefully handle invalid GameSingleton class name in ini file
Remove unused DefaultPreviewPawnClass and ClassName from Engine
#jira UE-30829
Change 2981104 on 2016/05/17 by Mieszko.Zielinski
Made AISenses not send information to listeners that are not registered for given sense #UE4
#jira UE-29939
Change 2981086 on 2016/05/17 by Taizyd.Korambayil
#jira UE-30568 Added a check to make sure index being accessed was valid (BP_DemoRoom)
Change 2980755 on 2016/05/17 by Taizyd.Korambayil
#jira UE-30706 Set material to use Translucent Blend
Change 2980753 on 2016/05/17 by Jon.Nabozny
Initialize FBox used to store result for CalculateQuatACF96Bounds (bump from //UE4/Dev-Framework).
#JIRA UE-30846
Change 2980682 on 2016/05/17 by Taizyd.Korambayil
#jira UE-30570, UE-30575 Corrected Some Spellings
Change 2980559 on 2016/05/17 by Mieszko.Zielinski
Changed UNavigationSystem.AgentToNavDataMap to store weak object pointers rather than raw painters #UE4
This should make it immune to navigation data beging destroyed and not removed from AgentToNavDataMap.
#jira UE-30836
Change 2980504 on 2016/05/17 by Daniel.Wright
Integrate - Movable skylight now matches stationary for subsurface shading models
* Two sided was broken in 4.11, Subsurface had never been handled
#jira UE-30855
Change 2980467 on 2016/05/17 by Jamie.Dale
Added some checks to avoid temporary worlds being added as favorites
#jira UE-30613
Change 2980379 on 2016/05/17 by Jurre.deBaare
Fix for static mesh merging, little too eager with changes.
#jira UE-30808
Change 2980373 on 2016/05/17 by Gareth.Martin
Fixed shader compile errors when applying a speedtree material to a landscape spline
#jira UE-25820
Change 2980318 on 2016/05/17 by Gareth.Martin
Fixed crash when calling EditorApplySpline with a null spline component
Also stopped it doing anything in PIE (it's for blutilities, not runtime)
#jira UE-30830
Change 2980300 on 2016/05/17 by Marc.Audy
Treat Unreachable components the same as BeginDestroyed for endplay/cleanup purposes
#jira UE-30839
Change 2980298 on 2016/05/17 by Gareth.Martin
Fixed crash when loading landscape projects that used tessellation
#jira UE-30742
Change 2980296 on 2016/05/17 by Martin.Wilson
Fix crash accessing sync names from a child anim bp
#jira UE-30811
Change 2980289 on 2016/05/17 by Jurre.deBaare
Fix for regression with merge actor tab
#jira UE-30809
Change 2980272 on 2016/05/17 by Ori.Cohen
Make sure that root components do not get attached to non root components in the same actor. Fixes crash in scene outliner and other weird issues.
#JIRA UE-30876
Change 2980206 on 2016/05/17 by Keith.Judge
Xbox One - Bit the bullet and rewrote the occlusion query buffer handling so that we're not reliant on a finite ring buffer. Instead, each query has a small buffer of its own. removing the dependency of ordering when reading back the results. This should save memory on smaller maps too!
#jira UE-30581
#jira UEPLAT-623
Change 2980094 on 2016/05/17 by Matthew.Griffin
Added OSVR dlls to InstalledEngineFilters.ini so that they are included in Launcher build even though the plugin is disabled by default
#jira UE-30611
Change 2979935 on 2016/05/17 by Aaron.Herzog
#jira UE-30619 updating owen sk mesh with proper morph
Change 2979816 on 2016/05/16 by Chad.Taylor
Fix to address a crash related to multiple player VR Preview
#jira UE-20109
Change 2979744 on 2016/05/16 by Mike.Beach
Disabling Blueprint spawning, InitProperties() optimization until we can figure out why it is not filling out array properties properly.
#jira UE-30745
Change 2979743 on 2016/05/16 by Mike.Beach
Mirroring CL 2977497
Clearing property nodes and cached read-addresses when changing the details view object (so any queued actions will not operate on invalid properties).
#jira UE-26392
Change 2979544 on 2016/05/16 by Daniel.Wright
Fixed crash with RTDF shadows when r.DistanceFieldAO was disabled
#jira UE-26319
Change 2979477 on 2016/05/16 by michael.gay
Remove errant Play Rate track.
#jira UE-30633
Change 2979464 on 2016/05/16 by Mark.Satterthwaite
Duplicate CL #2945444: Cache the Metal fallback depth-stencil surface for the canvas tile rendering so that we only ever keep one spare depth-stencil surface around. This costs us a little more permanent memory but reduces churn.
#jira UE-30849
Change 2979441 on 2016/05/16 by Rolando.Caloca
UE4.12 - vk - Fix quitting taking a long time
#jira UE-28239
Change 2979315 on 2016/05/16 by Michael.Trepka
Rollback //UE4/Release-4.12/Engine/Source/Programs/UnrealBuildTool/System/XcodeProject.cs to revision 1
#jira UE-28016
Change 2979304 on 2016/05/16 by Jamie.Dale
Backing out some changes from CL# 2976673
These caused an issue with Slate hit-testing. The more correct fix here is to make the Slate Windows OS layer treat window positions as relative to the top-left of the window client area, rather than relative to the top-left of the window itself (which includes the OS border). This now matches what other platforms do.
To this end, FWindowsWindow::Initialize, FWindowsWindow::MoveWindowTo, and FWindowsWindow::ReshapeWindow all now consider the given window position to be relative to the window client area, and will consistently adjust it to relative to the window before moving/creating the OS window. This only impacts windows with OS borders (aka, non-fullscreen and non-Slate drawn windows).
#jira UE-30276
#jira UE-30677
#jira UE-30771
Change 2979077 on 2016/05/16 by Maciej.Mroz
#jira UE-28536 Attached Project Crashes on Attempting to Play in Standalone
merged from 2979069
Change 2979052 on 2016/05/16 by Chase.McAllister
#jira UE-30789 Resaving Maps to fix project warning
Change 2978984 on 2016/05/16 by Chase.McAllister
#jira UE-30789 Resaving start video assests that contained empty engine version
Change 2978806 on 2016/05/16 by Mieszko.Zielinski
Fixed EQS tests' scoring equation value getting reset on load #UE4
#jira UE-30470
Change 2978670 on 2016/05/16 by Max.Preussner
Media: Workaround for changing Media asset path can cause crash (UE-22691)
#jira: UE-22691
Change 2978638 on 2016/05/16 by Michael.Gay
Cleanup of old maps in SubwaySequencer project
#jira UE-30633
Change 2978636 on 2016/05/16 by Jamie.Dale
Added guard against a crash navigating through a menu
#jira UE-30698
Change 2978611 on 2016/05/16 by Lee.Clark
PS4 - Fix RenderTargetOutputFormat using the wrong output index for velocity rendering when using r.BasePassOutputsVelocity=True
#jira UE-30133
Change 2978596 on 2016/05/16 by Allan.Bentham
Extend iOS metal Z bias offset to all iOS (metal+gles) depth only shaders.
#jira UE-27530
Change 2978566 on 2016/05/16 by Jamie.Dale
Downgraded some checks to ensures and added more logging
#jira UE-30613
Change 2978399 on 2016/05/16 by Keith.Judge
Xbox One - Fix check() firing when we run out of occlusion buffer space. Also added occlusion query result caching (perf gain!).
#jira UE-30581
Change 2978323 on 2016/05/16 by Jurre.deBaare
Merge actor panel crashes when selecting a mesh component without static mesh
#fix display 'No Static Mesh' when none is available
#jira UE-30809
Change 2978322 on 2016/05/16 by Jurre.deBaare
Issue with merging meshes resulting data saved across different LOD levels
#fix use correct target LOD index for all source LODs
#jira UE-30808
#lockdown Nick.Penwarden
[CL 2999693 by Ben Marsh in Main branch]