Комментарии:
Just like to add, in 5.3 i typed showdebug en and thought it auto filled. It didnt. It showed some of the debug but not the full context until I selected the suggestion for the full showdebug enhancedinput.
ОтветитьOther than Compile time is there any other reasons to forward declare?
ОтветитьGreat video. In UE5.3 I can no longer get the console debug command to work is this a bug?
ОтветитьI don't think that declaring pointers in "if" statements is just about performance. There's also a safety concern there - outside of the "if" statement, if you use the pointer, it might be null. By declaring the pointer in the "if" statement, you ensure that it's never used if it's null.
ОтветитьOt working for me to add enhanced input
ОтветитьYou can go to "Tools > Refresh Visual Studio 2022 Project" to refresh your C++ code if you still have the includes error red lines. Worked for me !
ОтветитьNice tutorial! But I'm being stucked where even though I've followed all the steps (I think?), the function coded in the C++ files attached to the blueprint won't be executed!
Another question : even the Input actions won't appear in the blueprint despite keeping opened the code solution and restarting Unreal Engine.
Do you know how to solve those two issues?
Thank you :)
What's the benefit of setting this up with c++ as opposed to blueprints?
ОтветитьCan't find the bird in the starter content
ОтветитьIv learn so much from this. Thanks dude!
ОтветитьThanks for videos about Enhanced Input! I subscribed to you.
ОтветитьThank you this helped me alot..
ОтветитьI understand easy when topics are explained as you do. Very good . Thanks
ОтветитьLoving the series! Excited to keep going!
ОтветитьIncredibly helpful explanation that teaches everything perfectly!
ОтветитьFor me, deleting files and generating vs files didnt worked, but only generating worked
Always make backups when you deleting something
Thank you for comprehensive explanation!
Ответитьif I didnt want to use the property modifier 'EditAnywhere' and instead hard code this into the CPP file, would that be possible and if so how?
ОтветитьGodly tutorial. Thank you very much!
ОтветитьGood tutorial, but to heavy on basic C++ programming. Templates, scope and so on should be known if someone wants to use C++ for Unreal Engine.
ОтветитьI'm following a different tutorial, which had me set up a BasePawn then create a child C++ class from that, if anyone else is running into issues getting this to work using a child class, make sure that you have this in your header file
virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override;
Was driving me crazy trying to figure out why it was saying that SetupPlayerComponent wasn't declared, this was why.
Nice video! Just one note, CastChecked<> has another advantage: It is converted to static_cast<> in Shipping, resulting in better performance (removing the dynamic cast and checks).
For instance, you may use CastChecked<> in your example also for the APlayerController cast, if you have the design assumption that the pawn cannot be controlled by AI.
Anyway, this is irrelevant outside of methods that are not part of the update/tick loop, there is no benefit on saving on dynamic casts for methods called sporadically.
This is a must watch for anyone using UE5, Thank you!
Ответить"we cannot forward declare something that is not a pointer."
That is incorrect. Pointers, but also references can be forward declared.
What do you do when BindAction doesn't accept the &MyClass::Move method and won't compile because of it?
ОтветитьThanks for this Video. What I'm missing is the way to unbind the action mapping (C++)
ОтветитьIn Unity - how use input - answer use if(GetKeyDown). In UE how use input - look we have 3 hours tutorial.
ОтветитьYou manage to strike the perfect balance between explaining every necessary detail without making the viewer feel like the video will never end! Kudos!
ОтветитьDo have Just a pure Blueprint class to offer? a 3d artist it is a little bit inconvenient for me to write code
ОтветитьHey Stephen,
nice video with a comprehensive explanation.
I have one question that's been bugging me: what does CastChecked do?
You said it asserts that the result is not a nullptr. However, I looked at the code in Casts.h and did not find any assertions, like check(Result).
It looks like it uses Cast, then logs error if the result is a nullptr and then just returns the result. So it actually might be a nullptr, right?
Also: if CastChecked result could not be a nullptr, why does the ThirdPersonTemplate code check for it in the SetupPlayerInputComponent function?
I am using UE 5.1.1, maybe something changed here from UE 5.0?
Thanks
What I need to do if every time I recompile, inputAction (like yours moveAction) resets in blueprint and I need to set again. How to fix that?
ОтветитьLittle tip for folks if you don't want to type the debug command constantly....open your character blueprint view graph. Bind a key (like 1) to execute the console command showdebug enhanced input
So much better when just doing the debugging than it is typing it out constantly.
Til next time with additional tips!
Welp, deleting all those folders completely fucked my UE5 project.
ОтветитьOne last thing ive learned from this is... almost always, its just easier to use blueprints lol. We set this up in blueprints in like 30 seconds. It took 30 minutes to do it in c++. Whats the benefit of doing it in c++ over just doing it in bp?
ОтветитьMan, adding the new module and then having to delete the intermediate/binary and saved directory isnt super graceful or intuitive.
ОтветитьThese 2 hr classes boi.. rough
ОтветитьI am the only one to find weird that you have to add a member InputMappingContext, which already holds an array of InputAction AND add an InputAction member which is supposedly contains inside the context mapping ? It is not your fault, I think there is a missing piece in the InputAction class which is a FGameplayTag. With Tag we could identify which InputAction could be bind to a specific callback. Otherwise, if you had multiple contexts, you absolutely need multiple members of InputAction that are supposed to be in each Contexts. Anyway, It was my late night 2 cents ;)
ОтветитьThanks Stephen. I just started you course on Udemy and falling back here for a great explanation about all the enhanced input system. As always, all is really clear 👍
ОтветитьHei man thankyou so so so much for this tutorial!
ОтветитьThank you so much! Love your courses!
ОтветитьThanks for this, just upgraded to 5.1 and noticed the deprecation. New system looks so much easier to do advanced things! Primer in the last video was golden and this is a good walkthrough on converting doesn't seem TOO different in a coding perspective just shorter more sensible names! Less mess is always good!
ОтветитьThank you so much! The delegate functions with FInputActionValue is so new and I didn't know how else to not run into compile errors until I saw your video.
Ответить