The last video was amazing mate, cheers! One thing I've run into with Unreal (started learning a few months back) Tracking down C++ errors with Unreal is tough, would love to see you tracking back an error (e.g. memory out of bounds -> crashes Unreal -> Debug mode -> Stacktrace -> Setting breakpoints -> Finding the source) A particularly tricky situation I've found is you are accessing an array that contains things on each frame, something else clears the array at some point causing the lookup to dereference a null pointer
Gotcha! I was going to start getting into that in a future video by intentionally adding in a null pointer (or even a dangling pointer 👀) Then go through how I tend to track those things down, the symptoms you usually get (dangling pointers are gonna do weird things 😆) Really looking forward to that one! Thanks
@@DanGoodayleUnreal Ah Dangling Pointer! That's the name I was searching for. Do you ever use the shared/unique pointers in your code to handle these? Thats one part of this I'm suuuper new to.
@@mckseal Yep - got a few tricks to use when it comes to anything pointer related. That videos going to be a liiiittle bit in the future, but it's coming :)
One thing I noticed is that depending on the rotation it doesnt always play the forward/backward animation properly. Depending on where you are looking, if youre going forward it will play the backwards animation, i think the XY value of the vector2 passed to the blend horizontal/vertical must be projected into the actor local space.... But I have NO IDEA how to do that😅 Besides that great tutorial! Im loving it! I like how you go directly into practice instead of explaining things too much and doing too little. There are series that are so long that only after 4-5 hours of content you get to see movement and animation. I'm somewhere between beginner and intermediate so this style of tutorial is awesome.
Thanks! You are totally right - I left it in that state as a jumping-off point for the next video where I explain a way better way to do things (I also kind of wanted to leave it as an exercise for the viewer to figure out the best way to convert it) The new upload coming tonight will explain the whole process and get you up and running with some retargeted animations
So writing a UPROPERTY in the header is kind of like writing the unity decorators on a property in C#? I'd love to know more about setting up rider for Unreal - it definitely seemed to take a long time to load and process the project, and wouldn't show errors as clearly as I'd expect.
Yeah kind of! The UPROPERTY / GENERATED_BODY are actually these super complex macros under the hood. When the compiler builds the code, it expands those macros into a set of C++ code that basically tells the engine a load of information that it needs. Luckily those macros you'll never need to drill into (at least I haven't in the last 5 years)
Thanks for doing these! The last time I used Unreal, it was still Unreal 4, so these are excellent for derust and catching up with the new features. I've noticed that the input mapping system in 5 is quite different, with the new asset types specifically for inputs. If I understand it right, I could have an input mapping for controlling the player, and a separate mapping for, say, driving a car, and then set up a car class to use the car mappings? So when the game possesses the car, it'll use the car mappings instead?
@@DanGoodayleUnreal Awesome, that's a really nice improvement to the input system. Thanks for the quick response too! I'm going to be looking forward to these guides
@@DanGoodayleUnreal whoops 🤭 guess I'll just have to suffer through more high quality content! Bonus points if you show how to attach weapons to the car and make it some James Bond-esque spy car :P
The last video was amazing mate, cheers!
One thing I've run into with Unreal (started learning a few months back)
Tracking down C++ errors with Unreal is tough, would love to see you tracking back an error (e.g. memory out of bounds -> crashes Unreal -> Debug mode -> Stacktrace -> Setting breakpoints -> Finding the source)
A particularly tricky situation I've found is you are accessing an array that contains things on each frame, something else clears the array at some point causing the lookup to dereference a null pointer
Gotcha!
I was going to start getting into that in a future video by intentionally adding in a null pointer (or even a dangling pointer 👀)
Then go through how I tend to track those things down, the symptoms you usually get (dangling pointers are gonna do weird things 😆)
Really looking forward to that one!
Thanks
@@DanGoodayleUnreal Ah Dangling Pointer! That's the name I was searching for.
Do you ever use the shared/unique pointers in your code to handle these? Thats one part of this I'm suuuper new to.
@@mckseal Yep - got a few tricks to use when it comes to anything pointer related.
That videos going to be a liiiittle bit in the future, but it's coming :)
@@DanGoodayleUnreal Amazing, looking forward to it. Seems everyone in Aus is busy at the moment (myself included).
One thing I noticed is that depending on the rotation it doesnt always play the forward/backward animation properly. Depending on where you are looking, if youre going forward it will play the backwards animation, i think the XY value of the vector2 passed to the blend horizontal/vertical must be projected into the actor local space.... But I have NO IDEA how to do that😅
Besides that great tutorial! Im loving it! I like how you go directly into practice instead of explaining things too much and doing too little. There are series that are so long that only after 4-5 hours of content you get to see movement and animation. I'm somewhere between beginner and intermediate so this style of tutorial is awesome.
Thanks!
You are totally right - I left it in that state as a jumping-off point for the next video where I explain a way better way to do things (I also kind of wanted to leave it as an exercise for the viewer to figure out the best way to convert it)
The new upload coming tonight will explain the whole process and get you up and running with some retargeted animations
So writing a UPROPERTY in the header is kind of like writing the unity decorators on a property in C#? I'd love to know more about setting up rider for Unreal - it definitely seemed to take a long time to load and process the project, and wouldn't show errors as clearly as I'd expect.
Yeah kind of!
The UPROPERTY / GENERATED_BODY are actually these super complex macros under the hood.
When the compiler builds the code, it expands those macros into a set of C++ code that basically tells the engine a load of information that it needs.
Luckily those macros you'll never need to drill into (at least I haven't in the last 5 years)
Oh as for rider, in the project settings there is a source control section, you can change the IDE there 👍
Let's get the character looking around and animating!
Gist here: gist.github.com/DannyJustAPixel/cfdd82b05826cf7e81ace6181986d521
Thanks for doing these! The last time I used Unreal, it was still Unreal 4, so these are excellent for derust and catching up with the new features. I've noticed that the input mapping system in 5 is quite different, with the new asset types specifically for inputs. If I understand it right, I could have an input mapping for controlling the player, and a separate mapping for, say, driving a car, and then set up a car class to use the car mappings? So when the game possesses the car, it'll use the car mappings instead?
Yes! You totally can, you can add and remove mapping contexts any time, OR add a new context with a higher priority and then remove when you want.
@@DanGoodayleUnreal Awesome, that's a really nice improvement to the input system. Thanks for the quick response too! I'm going to be looking forward to these guides
@@ZeroOneCentaurion you realise I have to now add drivable cars to the demo now 😆
Really looking forward to it
@@DanGoodayleUnreal whoops 🤭 guess I'll just have to suffer through more high quality content!
Bonus points if you show how to attach weapons to the car and make it some James Bond-esque spy car :P
@@ZeroOneCentaurion consider me sold, a whip with whips is coming