About 'Climbing Motion'!

  • Binding input to the controllers.
  • Setting starting climb state.
  • Updating the parent location.

(Unique Video Reference: 24_AE_VR2)

We would love to know…

  • What you found good about this lecture?
  • What we could do better?

Remember that you can reply to this topic, or create a new topic. The easiest way to create a new topic is to follow the link in Resources. That way the topic will…

  • Be in the correct forum (for the course).
  • Be in the right sub-forum (for the section)
  • Have the correct lecture tag.

Enjoy your stay in our thriving community!

Hi, I posted the following question on the Udemy Q&A but have not gotten an answer yet, so am posting again here:

Does this climbing functionality require one to follow all of the steps preceding this lecture to a T, or can it can edited into an existing VR-ready motion controller pawn? Any help or guidance would be much appreciated. (I’ve been using a modified version of the motion controller pawn from Unreal’s VR Template level for my project, and would prefer not to have to start from absolute scratch - fully intend to follow the entire course from the beginning in some weeks, but for the time being, would really prefer to add the climbing functionality onto pre-existing code/controller).

You should have an answer over there now :wink:

I have a question about the state of bCanClimb. In the lecture, this bool is stored in the VR character, and updated on overlap and end overlap. Then the state of this bool is checked during the climb (Grip) function.

Since the overlap and endoverlap simply call the function CanClimb(), wouldn’t it make more sense to remove the bool and dynamic function calls altogether, and simply call CanClimb() when grip is pressed?
That is, instead of
if (!bCanClimb) return;
if (!CanClimb()) return;

I learned how to implement overlap functions and dynamic calls from this lecture group (so it is definitely useful!), but I was wondering if it is really necessary for the game. Thanks in advance!

Well the boolean is stored on the controller not the character for starters. We need to store it so that we can give controller rumble when the state changes. So given we need the boolean, makes sense to use it rather than make another function call.