This will make for a good A/B test when optimizing modifiers, which at the moment are the most expensive part of enhanced input ticking.
#rb justin.hare
#rnx
[CL 33872525 by ben hoffman in ue5-main branch]
Deprecated GReachableObjectFlag, GMaybeUnreachableObjectFlag and GUnreachableObjectFlag. Moved the first two to an internal FGCFlags class which is the only thing that can manipulate GC reachability flags.
Deprecated a bunch of FUObjectItem functions that could manipulate reachability flags. These functions will be removed in UE 5.6.
#rb danny.couture, Johan.Torp
[CL 33716377 by robert manuszewski in ue5-main branch]
FMockedEnhancedInputSubsystem is now a UCLASS so it can properly implement the managed map for the interface.
#rb ben.hoffman
#tests PIE touch input simulation, ran input automation tests
[CL 30241210 by oscar burga in ue5-main branch]
Split unreachable clusters destruction to DissolveUnreachableClusters (non-incremental as it's very fast)
Flipping MaybeUnreachable -> Unreachable flag is now a single Swap() function call (MaybeUnreachable / Unreachable flags are deprecated and replaced with interchangable Reachability flags)
GatherUnreachableObjects will now only gather unreachable objects for NotifyUnreachableObjects call and perf gains during unhashing and purging all objects.
Enable with gc.AllowIncrementalGather=1
#rb Johan.Torp, PJ.Kack
[CL 30033914 by robert manuszewski in ue5-main branch]
There is an editor preference to change what pins show up by default in blueprints, but this change will hopefully point people towards using Input Triggers more instead of relying on undefined input behaviors and improve the first time user experience.
#jira UE-169056
#rb trivial
#preflight 645571d7d77a82d6a790be89
[CL 25395035 by ben hoffman in ue5-main branch]
The Input Editor module has several features that are using the K2Nodes from enhanced input when it doesnt need to. The Blueprint Node logic should be kept in its own module.
This will allow the K2Nodes to actually read from editor settings and preferences in the rest of enhanced input, which would otherwise cause a circular depedency in the build graph.
This change is really just moving some functions from one module to another, neither module is publically exposed so no deprecation is required.
#rb trivial
#rnx
#preflight 645914ab4c3ec54e6e1070ec
[CL 25375925 by ben hoffman in ue5-main branch]
=> code from CL 17423372 was disabling it explicitely, but I couldn't find any reason or have any repro. The comment talk about disabling between an item and its child, while with a EItemDropZone::BelowItem, it correspond to the bottom part of an item, and not the bottom item, so having the child item expanded or not won't change the drag n drop behavior.
- Fixed drag n drop issue for Input Mapping Context, where drag n dropping could give deterministic but incorrect result when more than 1 mapping exists for a group.
=> the reordering algorithm used requires that the content of the array is ordered by group, while it was not necessarily the case. Starting from this CL, it will (slower but safer algorithm).
- Prevent the drag n drop for Input Mapping Context between rows that are not part of the same parent node.
Tests:
-opened various Input Mapping Context from QA Game, like /Maps/Framework/EnhancedInput/EI_HelperAssets/Controls_3rdPerson/IMC_3rdPerson_Controls.uasset, that was failing 100% on some actions. Drag n dropped groups (collapsed or expanded), even on the last one, and on individual entries with 100% success. Did a lot of drag n drop test (between close elements, first and last, last and first, first and middle,...)
-tried to drag n drop across entries from different parent => it was blocked as expected.
-undo/redo after those operations.
-used drag n drop in other contexts (media play list, data table), no regression noticed when drag n dropping elements.
#jira UE-157906
#rb nate.strohmyer, karen.jirak
#preflight 644fd08e1c2846595c454ffa
[CL 25284259 by yohann dossantos in ue5-main branch]
Add in a cvar 'EnhancedInput.Editor.EnableMappingNameValidation' to toggle name validation, just to make sure that we can do sanity checks that the validation is actually accurate
#rb nate.strohmyer
#rnx
#preflight 643712e90c4277fc0bce6fdf
[CL 25018938 by ben hoffman in ue5-main branch]
The "Name" here is the FName that will be used as a key to save each key mapping during serialization, so they should be unique for each key mapping that you want the player to be able to set.
#jira UE-177248
#preflight 63f4ef2290198dffba48f6ee
#rb benjamin.fox
#rb nate.strohmyer
#rnx
[CL 24344605 by ben hoffman in ue5-main branch]
Automatically populate the newer player mappable key settings based on any old data in the player mappable options.
Clean up call sites to the now deprecated stuff
#jira UE-175936
#rb benjamin.fox
#rnx
#preflight 63e54d307250a911fa85d9f7
[CL 24135344 by ben hoffman in ue5-main branch]
Fixing issues with combo triggers being overriden
Can specify events that progress/cancel combo
some smaller UX fixes
#Jira UE-170233, UE-169334
#rb ben.hoffman
#preflight 63bf4f87c543a64b7d7320f6
[CL 23747881 by nate strohmyer in ue5-main branch]