Commit Graph

286 Commits

Author SHA1 Message Date
robert manuszewski
5acf09e035 Support for Incremental Gather Unreachable Objects
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]
2023-12-01 04:39:57 -05:00
ben hoffman
166ec4d6b7 Fix a TObjectItr that returned too early on the EI world subsystem processor.
#rb ben.hoffman
#rnx

[FYI] marc.audy

[CL 29895116 by ben hoffman in ue5-main branch]
2023-11-22 15:00:05 -05:00
marc audy
763a611985 Fix C4072 warnings
#rnx

[CL 29852844 by marc audy in ue5-main branch]
2023-11-20 17:26:53 -05:00
ben hoffman
68c8183c8a Remove some spammy logs of the Ei world subsystem
#rb ben.zeigler
#rnx

[CL 29792757 by ben hoffman in ue5-main branch]
2023-11-16 17:18:24 -05:00
nicolas mercier
5d510acf6e Fix use-after-free issue. The "ConsumeKey" function can re-allocate the KeyStateMap because of the call to FindOrAdd, which would in turn invalidate the pointers in the "KeysWithEvents" map. Instead of calling consume key directly, we can just do a non-mutating call to "Find" instead.
#rb
#rnx
#tests Running the game with address sanitizer on
#localization none

[CL 29659518 by nicolas mercier in ue5-main branch]
2023-11-10 18:03:27 -05:00
ben hoffman
6345a2b3ca Add a cvar to check to enable checking for keys mapped to EKeys::Invalid.
It isn't technically incorrect for an IMC to contain a mapping to the invalid key, but it can be hard to track down which mapping is empty if you are working at a large scale. This check will hopefully make it easier to find.

#rb Phillip.Kavan

[CL 29243815 by ben hoffman in ue5-main branch]
2023-10-30 15:14:27 -04:00
tiago binz
4f5c9f3583 Adding input modifiers and triggers to root set when injecting continuous inputs to prevent them from getting GCed.
This was resulting in crashes in Android and PIE with touch input simulation due to touch input modifiers becoming unreachable / deleted while they were still in use.

#rb ben.hoffman

[CL 28926504 by tiago binz in ue5-main branch]
2023-10-19 14:16:58 -04:00
ben hoffman
1a67e02b44 Mark the SavedKeyProfiles property as "Transient" instead of "SaveGame" to avoid it attempted to be serialized by the USaveGame base class. We manually serialize this in the UEnhancedInputUserSettings::Serialize function instead. This resolves some warning logs that would come up only on the first PIE of attempting to load a settings save game file.
#jira UE-195588
#rb Graham.Matuszewski
#rnx

[CL 28584346 by ben hoffman in ue5-main branch]
2023-10-09 11:39:14 -04:00
ben hoffman
8b41f3f6f6 Properly Respect the "bAddImmediately' flag on Default IMC's
#rb ben.hoffman
#rnx

[CL 28150606 by ben hoffman in ue5-main branch]
2023-09-22 15:26:41 -04:00
ben hoffman
4aa0787d90 Add a flag on Default Mapping Contexts for Enhanced Input to register with the User Input settings by default.
#rb jules.blok

[CL 28051194 by ben hoffman in ue5-main branch]
2023-09-20 15:33:58 -04:00
ben hoffman
72dfe2afa4 Remove TODO comment that doesnt need to be there and provide some more info about the actual property
#rb trivial
#rnx

[CL 28047109 by ben hoffman in ue5-main branch]
2023-09-20 14:24:36 -04:00
ben hoffman
0c2d106889 Make the Enhanced Input BP node module PreDefault instead of Default. This fixes a bug where enhanced input nodes would sometimes not be loaded in template C++ projects.
#jira UE-195671
#rb dan.oconnor
#rb ben.zeigler

[CL 28046450 by ben hoffman in ue5-main branch]
2023-09-20 14:11:07 -04:00
marius ursu
0bbcd408aa Add a "UpdateValueOfContinuousInputInjection" function to allow for you to update the value of a continuously injected input action and preserving the trigger/modifier state. This effectivly allows for modifier and trigger support via input injection because the EI subsystem will keep the state of those modifiers.
The use case for this is mobile UI where you want to use an input trigger for something like a gesture and you want the input trigger to be created once for a thumbstick and a touch screen.

Copying the values of triggers and modifiers in the ContinousInjection so that we can evaluate a new state instead of using the old one

#jira UE-194659
#rb [at]Ben.Hoffman

[CL 28038276 by marius ursu in ue5-main branch]
2023-09-20 11:40:26 -04:00
LtRandolph
e89de53409 [Backout] - CL27999507
Backing this out because it caused any existing BP modifier implementations to have cook errors. Instead of removing the const we would need to properly deprecate it and make a new version to support old content

#jira UE-195954
[FYI] ben.hoffman
Original CL Desc
-----------------------------------------------------------------
PR #10879: Make UInputModifier::ModifyRaw non-const

#rb me
#jira UE-195489

[CL 28038090 by LtRandolph in ue5-main branch]
2023-09-20 11:37:36 -04:00
LtRandolph
e3d9d68f2f PR #10879: Make UInputModifier::ModifyRaw non-const
#rb me
#jira UE-195489

[CL 27999552 by LtRandolph in ue5-main branch]
2023-09-19 12:23:16 -04:00
ben hoffman
ccece82f78 Use the new "GetOptions" metadata on BP callable functions that take in an FName for a "MappingName". This will make referencing Player Mappable settings in Blueprints much easier!
#rb trivial

[CL 27604089 by ben hoffman in ue5-main branch]
2023-09-05 13:51:42 -04:00
charles lefebvre
061b009699 Kismet Compiler: Deprecate SpawnIntermediateEventNode
#rnx
#rb dan.oconnor

[CL 27365052 by charles lefebvre in ue5-main branch]
2023-08-24 20:56:35 -04:00
najmm01
47aa9d0a5e PR #10630: Added new Input Modifier - Smooth Delta.
It provides a normalized smoothed difference between the current and last input value, which options on how the value is calculated for different behavior.

For boolean Input Values, it just returns the boolean as is.

#jira UE-190264
#rb me

[CL 26893500 by najmm01 in ue5-main branch]
2023-08-07 14:33:48 -04:00
robert manuszewski
d3991fec9b Fixing potential compile errors ahead of enabling TObjectPtr GC barrier
#rb trivial

[CL 26868625 by robert manuszewski in ue5-main branch]
2023-08-05 06:09:54 -04:00
ben hoffman
79cd1dad96 Update the label on the asset creation tab to mark Player Mappable Input Config types as deprecated
#rb justin.hare
#rnx

[CL 26775325 by ben hoffman in ue5-main branch]
2023-08-02 12:00:36 -04:00
robert manuszewski
cfe46a88ad TObjectPtr compilation fixes ahead of enabling GC barrier
#rb trivial
[FYI] Kirill.Zorin, Johan.Torp, Zousar.Shaker

[CL 26767884 by robert manuszewski in ue5-main branch]
2023-08-02 06:51:30 -04:00
ben hoffman
e2953e1c42 Add the ability to bind lambda expressions to the Enhanced Input component outright. Also mark the delegate handles as protected instead of private so that users can more easily extend upon the Enhanced Input component and add more binding options to it if they want.
#jira UE-189964
#rb nate.strohmyer

[CL 26439038 by ben hoffman in ue5-main branch]
2023-07-18 13:15:39 -04:00
ben hoffman
33cd570223 Fix a bad include that was automatically added
#rb trivial
#rnx

[CL 26418736 by ben hoffman in ue5-main branch]
2023-07-17 17:42:28 -04:00
j veilleux
0d4d93ef66 Added support for Enhanced Input show debug command to use debug target, fixing issue where show debug menu always only showed input information of first local player in a game instance even if debug target selected others.
#review @ben.hoffman

[CL 26409661 by j veilleux in ue5-main branch]
2023-07-17 12:26:35 -04:00
ben hoffman
872cae6afd Mark the test input action to not show up in a class drop down
#rb trivial
#rnx

[CL 26344459 by ben hoffman in ue5-main branch]
2023-06-30 10:54:34 -04:00