Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Create Zelda-like skills with C++ in unreal engine 5
Rating: 4.5 out of 5(11 ratings)
198 students

Create Zelda-like skills with C++ in unreal engine 5

Learn all you need to know about designing skill and locomotion managements with C++ in Unreal Engine 5!
Created byHowl Chang
Last updated 1/2025
English
English

What you'll learn

  • A powerful skill framework to handle various abilities
  • Create abilities of remote bomb, magnesis, ice actor and stasis skill
  • Sprint/Gliding/Exhuasted/normal state management with stamina system
  • Robust and neat UI system for Multiple gameplay mechanical actors such as wind tunnel, pressure plate, pickable object, breakable wallskill selection
  • Communication between C++ and blueprint

Course content

5 sections55 lectures8h 10m total length
  • Course Introduction4:01

    Learn to build a Zelda-like skill system in Unreal Engine 5 with C++, creating remote bombs, magnesis, stasis, and ice actor spawning, plus locomotion states and Blueprint and C++ integration.

  • Project Creation And Configuration12:50

    Create a Zelda skills project in Unreal Engine 5 by converting a blueprint project to C++, configure editor startup maps, and build core C++ classes and BP assets for testing.

  • Camera Boom And Camera7:07

    Add a spring arm camera boom and a follow camera, attach the camera to the boom, set length to 400, and enable pawn control rotation.

  • Enhanced Input Part 017:50

    Set up the enhanced input system for a zelda-like player by adding the module, configuring a custom player controller, and creating an input mapping context in Unreal Engine 5.

  • Enhanced Input Part 0210:27

    Bind actions with the enhanced input component, create IA_MoveAction (axis 2d), and connect Move_Triggered and Move_Released to on-screen messages for testing in the editor.

  • Character Movement8:45

    Define and read input vectors, compute velocity, and apply movement input in Unreal Engine 5 using C++, align the character's yaw to movement, and tune input mappings and rotation settings.

  • Rotate Camera5:58

    Implement camera rotation with a look action, bind mouse XY axis, invert pitch, and set game focus at startup by configuring begin play and input mode in Unreal Engine 5.

  • Locomotion Manager13:10

    Design a local motion manager to handle walking, sprinting, gliding, and exhausting, bind sprint action to input, and implement movement state transitions with an enum, then test with left shift.

  • Sprinting Action6:41

    Implement sprinting by updating the locomotion manager to switch MT_Walking to MT_Sprinting, adjust max speeds, set air control to 0.35, and reset to walking when velocity stops.

  • Stamina atribute11:20

    Implement stamina management in Unreal Engine 5 by adding stamina variables, creating drain and recover timers, and updating movement states from walking to exhausted as stamina depletes.

  • Stamina UI9:14

    Create a stamina bar UI in Unreal Engine using UMG, linking a ZSLayout widget to the player stamina and updating the progress bar every tick.

  • Animation UI8:03

    Implement stamina bar UI visibility and exhaustion handling in Unreal Engine 5 by adding ShowGaugeAnim and IsCharacterExhausted, wiring green to red color changes and a gauge animation.

  • Exhausted State4:13

    Expose stamina depletion rate and amount as blueprint read-write in ZSCharBase and implement SetExhaustedState. Adjust locomotion to cap walk speed at 300 and enable stamina recovery with air control 0.35.

  • Gliding State13:21

    Implement a gliding state for the player, including JumpGlide input actions, a line trace to ground distance, and switching to MT_Gliding with flying movement and stamina drain.

  • Simulated Gravity And Falling State9:42

    Implement simulated gravity for gliding in Unreal Engine 5 by adding a flying timer, binding a gravity function, and handling landing, stamina, and state transitions.

  • Handle Animation From Cpp11:08

    Create a C++ anim instance in Unreal Engine 5 to drive player animations, linking AZSCharBase and movement component, and computing ground speed with VSizeXY for ABP_Player.

  • Import Assets And Setup Animations10:54

    Import gliding and parachute assets into Unreal Engine, and implement them in the animation blueprint. Modify arm bones and apply layered blend per bone for gliding transitions.

  • Display Parachutte Model6:17

    In Unreal Engine 5, learn to display a parachute skeletal mesh during gliding by adding and attaching ParachuteSKM component, toggling visibility with gliding state, and set a parachute flying animation.

  • Wind Tunnel12:47

    Implement persistent and temporary wind tunnels in Unreal Engine 5 using spawn deferred function, a box component, and overlap events to push gliding players, visualized by a BPA_WindTunnel blueprint.

Requirements

  • Basic C++ experience with unreal engine is required

Description

Please read requirement first, learners need to have basic understanding of C++.

Or I recommend you take basic level C++ course first.


UPDATES:

2024.10.12 : All auto-generated captions are corrected.


Welcome to "Create Zeldar-like skills with C++ in unreal engine 5"! You will learn how to create a skill framework which can handle various abilities including remote bomb, magnesis, stasis and ice actor, and basic locomotion states such as sprinting, gliding and exhausted states. I prepared reference projects for every lesson so when you are stuck in any lesson you can freely download them and compare your own project with them! Don't worry about making mistakes, learn from them!


In the first section, we're going to setup project and implement basic locomotion states for player character from scratch in C++. With enhanced input system and locomotion manage, these customized actions will be triggered when player character meets certain conditions. For example, once player character is falling from high place and having enough stamina, gliding action is available. If stamina is depleted, player character cannot jump, sprint or gliding anymore.


Secondly, we will design and create a powerful framework to manage various skills before any skill creation. Only one skill could be activated at one time. Thanks to the convienient communication between blueprint and c++ in unreal engine, we can easily transfer information from UI to our code base. It is the best way to take advantage of them. Blueprint is more convenient for visual design and c++ is more performant for game in general.


Thirdly, we're focus on several kinds of different skills including remote bombs, magnesis, stasis and ice actor spawning. In remote bomb skill, a bomb will be spawned and player character can throw it out. When it explodes on breakable wall, it will crash and if it explodes on grass, a tempory wind tunnel will be spawned, which might be helpful for player to solve puzzles in the game. Sure I will introduce more details in the course. Though their logics are totally different, they all in the same skill framework so developer can easily add new skill types.


At last, several useful gameplay object will be implemented for better play experience. Those objects must be compatible with skill framework. For example, interactable object such as rock will be added. When player is holding a rock but trying to activate a skill, this rock must be dropped first. Similarly, pressure plate, wind tunnel, breakable walls will be implemented.


You can also join my discord to ask question or in udemy Q&A part. With detailed reference project provided in each lecture and a step-by-step approach, what are you waiting for? Join the course and there's no better time to start your own dream project now!

Who this course is for:

  • Learners who want to build a project with multiple skills
  • Learners who want to apply their C++ knowledge to game project
  • Learners who want to create a zelder-like third-person puzzle game