Don't understand how some things are interfaced.

Hello,

I’m a novice in Unreal Engine and there is things I don’t understand.
Could you please help ? I’ve searching other threads about my doubts on the forum but didn’t reach any working answer so far.

I’m using FPS Example here.

1. How do you change inputs ?

I’ve opened the toolbox on the bottom left corner of the editor and then, In BP_FirstPersonCharacter’s blueprint there is a “EnhancedInputAction IA_Move”. I guess it’s the component attached to the player to make him move but.. where is the inputs ?

If I create a keybind, for example E Key, I can easely like it, for example, to “Play a sound”. But If I click on the componant, I can freely edit the keybind to another. It’s not the case for the EnhancedInputAction IA_Move componant.

Back to the EnhancedInputAction IA_Move. Actually it’s WASD and I want it to be ZQSD. For me it appear like a static default componant you can’t edit that contains all inputs but I think I’m wrong..

Is it a good practice to bind thoses 4 keys one by one, and move the player regarding to the camera axis ? Or is it better to use this component ? Maybe this componant have an option to switch from WASD to ZQSD I do ignore ?

2. How to reach player variables ?

Here is something I tried to make : Use Shift to run. I added a Left Shift Key componant, and now need to link it to an action. But I don’t know how to reach the player values to increase / decrease speed. More than doing it, I need to understand how to easely find thoses variables.

3. What’s the difference between Pawn & Actor ?

I’ve seen that in the BP_FirstPersonCharacter’s blueprint, on movements inputs. But I don’t get the difference.

4. Using Basic Static Meshs & Meshs Groups to make buildings : is it a good or bad practice ?

I’m not good with Blender but I’m able to make some great buildings using the 3D Editor of Unreal Engine. Will I have performance issues doing so ?

That’d be the Input Mapping Context which you can find under the Inputs folder. You can also filter and just search under the Content folder to find anything you want :blush:
And no that’s not the movement component you’re talking about, that’s an Enhanced Input Action.

You can edit the keybinds from the IMC.

Action & Axis Mappings are deprecated in UE 5. You can still use them right now for optimization purposes, but enhanced input actions offer more info.

Drag the Character Movement Component from the Components window on the top left into your Event Graph, and drag Set Max Walk Speed out of it.

Pawn class is a specialized Actor class. And Character class is a specialized Pawn class. The player character can be of a pawn class instead of a character class if it’s not gonna utilize the Character Movement Component, which you are using currently. But it can’t be an actor. You’d use actors for interactables, for example.

Obviously it depends on how you’re making them, but they have no issues then no. But I’d recommend creating your 3D assets in Blender.

Hope these help :innocent:

1 Like

You can edit the keybinds from the IMC.

I’m sorry but I didn’t find out where. Is there a way to make me a screenshot ?

Action & Axis Mappings are deprecated in UE 5. You can still use them right now for optimization purposes, but enhanced input actions offer more info.

Got it !

Drag the Character Movement Component from the Components window on the top left into your Event Graph, and drag Set Max Walk Speed out of it.

Found it ! I was able to change walk speed through menu, now I need to understand how to change this value in Blueprint. For that, I’ve created a L. Shift Key event, but didn’t find any “Set Walk Speed” or “Set Velocity”. I think it’s the thing I don’t get : how to impact something existing.

Pawn class is a specialized Actor class. And Character class is a specialized Pawn class. The player character can be of a pawn class instead of a character class if it’s not gonna utilize the Character Movement Component, which you are using currently. But it can’t be an actor. You’d use actors for interactables, for example.

So basically it’s like heritage, right ?

Obviously it depends on how you’re making them, but they have no issues then no. But I’d recommend creating your 3D assets in Blender.

Got it !

Thanx for your answers.

From now on it’s not totally clear for me. I mean for a basic C++ class you have setters & getters but here in Blueprint I don’t get how you can act on them. I see many functions like “Get something” or “Set something”, but didn’t find “the thing” to ask "Change this specific variable for this specific Component when this specific input key is pressed. And obviously revert it to it’s default value on release.

Something like this but for CharMoveComp => Max Walk Speed.

This :backhand_index_pointing_down:

I think instead of getting the node, you headed to the Details window and adjusted the default value.

Btw you also don’t need to drag the movement component into the Event Graph first and then drag our node out of it. For this specific node, you should be able to just search for it on the menu that pops up when you right click on an empty space in the Event Graph and hit enter. The char mov comp should be automatically connected to it, if I remember correctly.

I doubt a screenshot would help, plus I’m not on my machine right now. Now, hit Ctrl + Space to open up the Content Browser (or from the Window menu), navigate to Content > ThirdPerson > Input, and there you should see the Input Mapping Context.

You’re welcome :smiling_face_with_three_hearts:

Hello Vis Agilis,

Thanx for you help !
You were right, and I was able to understand how components works.

I was also able to change the inputs with ease.
Also true for editor view (Edit > Editor Preferences > searched “left” to see the category, then searched the category) directly so everything is fine !

I have 2 other questions though that I will post

As mentioned I found really easy to make simple building directly in editor. Little example below just to image my question :

Is there, in Unreal Engine, a way to “compact” all blocks into one structure (I do believe it will have a positive impact on performances), and/or is there a way to save the Block01 folder as a component / base mesh to load it in another project / another location of the same project ?

My second question is about impacting directly Character Movement Component’s vars. Does it impact the default component, meaning in other project this will also have an impact ? I saw that there is “default values” option so I do believe it only impact the current compenant, I just want to be sure.

Again, thanx for your time and your answers !

Since I personally don’t do that inside the editor, I honestly don’t know. But I found this tuto for you:

What do you mean by “directly”? :thinking: Of course it won’t have an effect on your other existing or future projects when you change the default values. You probably meant that.

:smiling_face_with_three_hearts: