Commit Graph

29 Commits

Author SHA1 Message Date
ben hoffman
f394a7f57c Add a right click option to create a Mapping Context from the selected input actions. This will let you create an input mapping context that is pre-populated with some input actions!
#jira UE-159694
#rb nate.strohmyer
#rnx
#preflight skip

[CL 21467674 by ben hoffman in ue5-main branch]
2022-08-19 19:19:14 -04:00
UnrealBot
73409369c0 Branch snapshot for CL 21319338
[CL 21319338 in ue5-main branch]
2022-08-10 16:03:37 +00:00
ben hoffman
82fa48b2fb Add the Enhanced Input plugin icon!
#jira UE-155677
#rb trivial
#preflight 62d9ac003122bf80ae0d781b
#rnx

#ROBOMERGE-AUTHOR: ben.hoffman
#ROBOMERGE-SOURCE: CL 21210084 via CL 21210092 via CL 21210104
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21212301 by ben hoffman in ue5-main branch]
2022-07-21 19:35:26 -04:00
rex hill
a8a56bb844 Add required namespace to InputConstants::PropertyPadding
#ROBOMERGE-AUTHOR: rex.hill
#ROBOMERGE-SOURCE: CL 21196275 in //UE5/Release-Engine-Staging/...
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21196960 by rex hill in ue5-main branch]
2022-07-20 21:53:34 -04:00
rex hill
dca94f0065 Update a file to use namespace for FMappingSet in a merge stream.
#ROBOMERGE-AUTHOR: rex.hill
#ROBOMERGE-SOURCE: CL 21196147 in //UE5/Release-Engine-Staging/...
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21196952 by rex hill in ue5-main branch]
2022-07-20 21:52:52 -04:00
rex hill
7295b7ce68 Fix crash opening project settings in monolithic targets
#preflight 62d85613d54af4b9a2d7a2b5
#rb jamie.dale

#ROBOMERGE-AUTHOR: rex.hill
#ROBOMERGE-SOURCE: CL 21186962 via CL 21195243 via CL 21195435 via CL 21195507
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21196930 by rex hill in ue5-main branch]
2022-07-20 21:52:06 -04:00
ben hoffman
0e2a88367e Fixup references to any renamed Input Actions in the Action Mapping Details for Enhanced Input. Previously, when you renamed an Input Action it would be set as "None" in any Input Mapping Context that referenced it. This problem only occured for Input Mapping Contexts that were currently open in the editor, and it just needed to be refreshed when one was renamed.
#jira UE-104298
#rb nate.strohmyer
#preflight 62cc5f61bc36fc75cc601b76
#rnx

#ROBOMERGE-AUTHOR: ben.hoffman
#ROBOMERGE-SOURCE: CL 21045011 via CL 21045319 via CL 21045411
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21075333 by ben hoffman in ue5-main branch]
2022-07-13 13:51:56 -04:00
ben hoffman
ab22193bc8 Fix a build machine error where we would be trying to check out a file when source control is not enabled
#jira none
#rb phillip.kavan
#preflight 62c5f89bf5149833404b804a

[CL 20973884 by ben hoffman in ue5-main branch]
2022-07-06 17:22:56 -04:00
ben hoffman
c258e2736f Only attempt to save the input settings config file if it is writable. This solves an issue where a warning log would be printed if the file is currently checked out. This warning came from startup editor time upgrading of Input Classes to enhanced input, not just when you changed any input setting.
#rb justin.hare
#jira UE-158238
#preflight 62c44e2e3c5171c817a111d1
#rnx

[CL 20945359 by ben hoffman in ue5-main branch]
2022-07-05 13:30:30 -04:00
ben hoffman
49ca524dc4 Add a "bShouldFireDelegatesInEditor" property to the Enhanced Input Component. This will make sure that only Input Components that have the flag specifically set when they are created will fire in-editor delegates with an Editor Script Guard. This ensures that no game-only input actions will be fired as editor delegates while keeping the implementation details hidden from the editor users.
#jira UE-148305
#rb ben.zeigler
#preflight 62bdc8f7ed35ee71a707ad15

[CL 20906054 by ben hoffman in ue5-main branch]
2022-06-30 18:26:26 -04:00
nate strohmyer
b170e9139b Enhanced Input: making action mappings within a mapping context reorderable
#jira UE-102058
#rb ben.hoffman
#preflight 62a7ccfb045c9fe61edeec1f

[CL 20863715 by nate strohmyer in ue5-main branch]
2022-06-28 16:04:29 -04:00
ben hoffman
036f3dc106 Automatically upgrade projects with the default input class to use Enhanced Input when the module starts. By default this behavior is on, but it can be turned off with the cvar "EnhancedInput.bEnableAutoUpgrade".
We have to set the input settings properties on StartupModule like this because the base UInputSettings cannot reference the Enhanced Input plugin without creating a circular dependency.

Upgrading the project only when the current project is set to the default input classes is safe because it won't upgrade any project that has a custom class set on either property, and we can set on class but not the other with no issues.

#jira UE-144847
#preflight 62b22004de72d4f6b3451290
#rb nate.strohmyer

[CL 20765419 by ben hoffman in ue5-main branch]
2022-06-21 16:59:35 -04:00
Matt Peters
803e794b36 AssetRegistryModule: Add TryGet function that can return null instead of asserting during Engine shutdown.
#jira UE-157056
#rb PJ.Kack
#rnx
#preflight 62b1d7fd827ccccb2cdec5a3

[CL 20758071 by Matt Peters in ue5-main branch]
2022-06-21 11:07:36 -04:00
ben hoffman
1cfd429b17 Fix the display name on Player Mappable Configs in their asset creation factory. Now its consistent with the asset dipslay name.
#jira none
#rb trivial
#rnx
#preflight skip

[CL 20554489 by ben hoffman in ue5-main branch]
2022-06-08 07:20:11 -04:00
robert manuszewski
d1443992e1 Deprecating ANY_PACKAGE.
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]
2022-06-01 03:46:59 -04:00
ben hoffman
39f8ee0c4b Exclude blueprint assets that have been marked for deletion in the content browser when we are building the enhanced input trigger defaults panel.
#jira UE-93458
#rb trivial
#preflight 62967495db7419b82988fed0
#rnx

[CL 20443183 by ben hoffman in ue5-main branch]
2022-05-31 17:56:10 -04:00
ben hoffman
9ac12530cf Add display names to the Enhanced Input developer settings and the EI editor settings
#jira none
#preflight 628d4259347b7778b6d1a3fb
#rnx
#rb trivial

[CL 20356481 by ben hoffman in ue5-main branch]
2022-05-24 17:39:54 -04:00
ben hoffman
cfab426af9 Add a style set for Enhanced Input so that the asset types have custom icons.
#jira UE-148432
#rb benjamin.fox
#preflight 6286c320045aba22797a5687

[CL 20296433 by ben hoffman in ue5-main branch]
2022-05-20 12:13:19 -04:00
Lauren Barnes
6248f8d412 Replacing legacy EditorStyle calls with AppStyle
#preflight 6272a74d2f6d177be3c6fdda
#rb Matt.Kuhlenschmidt

#ROBOMERGE-OWNER: Lauren.Barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20057269 via CL 20070159 via CL 20072035 via CL 20072203
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
#ROBOMERGE-CONFLICT from-shelf

[CL 20105363 by Lauren Barnes in ue5-main branch]
2022-05-09 13:12:28 -04:00
Matt Peters
d64cf41728 AssetRegistry includes (Engine Plugins): change #include "AssetData.h" -> #include "AssetRegistry/AssetData.h", and similar for the other moved AssetRegistry headers.
#rb Zousar.Shaker
#rnx
#preflight 6270563191629533ec2b6f6e

[CL 20017756 by Matt Peters in ue5-main branch]
2022-05-02 18:59:38 -04:00
ben hoffman
a46003c9e8 Add a missing 'ENHANCEDINPUT_API' to the Enhanced Input editor subsystem so that it can be used outside of the module
#jira none
#rb trivial
#rnx
#preflight 624dfe294c5db57ae60aad42

[CL 19656295 by ben hoffman in ue5-main branch]
2022-04-06 17:31:07 -04:00
ben hoffman
a81500a2d9 Fix a linux ASan error when shutting down the InputEditorModule. We can use ::StaticClass()->GetName because the UObject may be uninitalized already
#jira none
#rb none
#rnx
#preflight skip

[CL 19590001 by ben hoffman in ue5-main branch]
2022-04-01 12:19:08 -04:00
ben hoffman
0e0fe95da9 Refactor of the Enhanced Input Project Settings. This moves the Trigger and Modifier default value customizations to the "InputCustomizations" header file, and out of the InputEditorModule. This allows us to simply add a class customization for the Developer Settings, and combine the two setting panels.
#jira UE-144850
#rb andrew.davidson
#preflight 6245e42d8f066102242239d8

[CL 19577762 by ben hoffman in ue5-main branch]
2022-03-31 16:16:07 -04:00
ben hoffman
a6c74a4e0c Fix horde error where we needed "WITH_AUTOMATION_TESTS" in the test framework.
#jira UE-146088
#rb trivial
#rnx
#preflight 6234b92be14776a6ebd17178

[CL 19437699 by ben hoffman in ue5-main branch]
2022-03-18 13:08:00 -04:00
ben hoffman
26ef180e82 Only create the UEnhancedInputEditorSubsystem if we are WITH_EDITOR, and the FSlateApplication has been initalized. Otherwise we can't use it since there would be nothing to register the input preprocessor with. This solves issues with headless cooks crashing on initalize.
#jira none
#rb trivial
#rnx
#preflight 6233a1fd1302f69e9a4b6f19

[CL 19427491 by ben hoffman in ue5-main branch]
2022-03-17 17:36:27 -04:00