Tags
Language
Tags
June 2025
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
    Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

    ( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
    SpicyMags.xyz

    Multiplayer In Unreal With Gas And Aws Dedicated Servers

    Posted By: ELK1nG
    Multiplayer In Unreal With Gas And Aws Dedicated Servers

    Multiplayer In Unreal With Gas And Aws Dedicated Servers
    Published 6/2025
    MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
    Language: English | Size: 46.61 GB | Duration: 62h 28m

    Create a MOBA Game with Unreal Engine Gameplay Ability System and Build the Dedicated Server infrastructure with AWS

    What you'll learn

    Create Multiplayer Game in Unreal Engine

    Use the Gameplay Ability System

    Build and Deploy Unreal Engine Dedicated Servers

    Host Unreal Engine Dedicated Servers on AWS

    Make a Comprehensive Inventory and Shop System

    AI Perception and Behavior in Unreal Engine

    Epic Online Service

    Requirements

    Basic Understanding of Unreal Engine

    Basic Understanding of C++

    Description

    This course walks you through the complete process of building a competitive 5v5 multiplayer game using Unreal Engine, the Gameplay Ability System (GAS), and AWS for cloud deployment. You'll learn to implement core gameplay mechanics in C++, design scalable systems with a modular architecture, and deploy dedicated servers using Docker and AWS—allowing players to connect and play from anywhere in the world.By the end of the course, you'll have a fully functional MOBA-style game with:User login and account systemLobby creation and matchmakingCharacter selectionA complete game loopDedicated server deployment on AWSThe course starts with implementing the basic character components, enhanced input system and movement control. A proper IK foot will also be implemented with Control Rig. The Gameplay Ability Systems will then be utilized to implement the character attributes and abilities, ensuring multiplayer support from the beginning, and tested throughout the course. The abilities can be learned, upgraded, and their effects are level driven. The ability system also uses attribute driven algorithms to determine character health, regeneration, and many other character properties, following industry standard implementations.Two fully playable player characters with a total of twelve abilities will be implemented in the game, a melee combo, a ranged attack, four abilities for each of the player characters, and two shared passive abilities. With GAS and a flexible OOP approach, the game can be scaled up with more players with ease.A comprehensive AI driven minion is also implemented with the AI module of Unreal Engine. The AI has proper team id configuration, perception and forgetting routine, and can be reused for other types of games.A Completed inventory and shop system that is fully compatible with the Gameplay Ability is also implemented. The systems support multiplayer, using server authoritative approach, and support item stacking, consumption, granting abilities, and combinations. A combination widget will be implemented to show the entire combination tree of any selected item in the shop.Each of the components of the Game has complete UI implementation and a sophisticated animation blueprint will also be built to ensure the rich visuals of the gameplay.There are many other systems that are created in the course, explore the course curriculum for a full breakdown of each system covered.The course primarily uses C++ to implement the gameplay mechanics. With a modular approach, many systems are decoupled and can be repurposed for different types of games.

    Overview

    Section 1: Introduction

    Lecture 1 01 Introduction

    Section 2: Basic Character Movement Control and Animations

    Lecture 2 02 Install Unreal Engine and Visual Studio

    Lecture 3 03 Create the Project and Configure Visual Studio

    Lecture 4 04 Setup Source Control with Git and GitHub

    Lecture 5 05 Setup the Base Class

    Lecture 6 06 Add the Basic Components of the Player Character

    Lecture 7 07 Add the Jump Input Action

    Lecture 8 08 Add the Look Input Action

    Lecture 9 09 Add the Move Input Action

    Lecture 10 10 Create the Animation Instance

    Lecture 11 11 Add the Speed Attribute to Drive Ground Locomotion

    Lecture 12 12 Add Jog Stop and Leaning

    Lecture 13 13 Add the Jumping Animations

    Lecture 14 14 Add Look Offset

    Lecture 15 15 Add Foot Tracing

    Lecture 16 16 Offset the Joints

    Lecture 17 17 Add Foot IK

    Section 3: Integrate Gameplay Ability System to the Character

    Lecture 18 18 Add the Ability System Component

    Lecture 19 19 Add the Health and Mana Attribute to the Attribute Set

    Lecture 20 20 What is a Gameplay Effect and How to Apply Them

    Lecture 21 21 Setup the Server Client Call Chain

    Lecture 22 22 Apply the Gameplay Effects and Replicate the Attributes

    Section 4: Setup Basic UI Widgets

    Lecture 23 23 Add the Value Gauge Widget Class

    Lecture 24 24 Add the Value Gauge Widget Blueprint

    Lecture 25 25 Add the Gameplay Widget Blueprint

    Lecture 26 26 Update the Health and Mana In the Gameplay Widget

    Lecture 27 27 Add the Over Head Status Gauge

    Lecture 28 28 Make the Over Head Widget Display Hidden for Local Player Character

    Lecture 29 29 Setup the Visibility Control of the Overhead Stat Gauge

    Section 5: Implement the Combo Gameplay Ability

    Lecture 30 30 Add the Base Ability Class and the Combo Ability

    Lecture 31 31 Add the Animation Montage Play for the Combo Ability

    Lecture 32 32 Prevent the Combo From Firing By Using Gameplay Tags

    Lecture 33 33 Play the Combo Montage on the Upper Body

    Lecture 34 34 Use an Enum to Represent the Input ID for Given Abilities

    Lecture 35 35 Add Input Action Binding for Abilities in the Player Character Class

    Lecture 36 36 Create the Send Gameplay Event Animation Notify

    Lecture 37 37 Handle the Combo Change Event in the Combo Ability

    Lecture 38 38 Handle the Combo Transition in the Combo Ability Class

    Lecture 39 39 Basic Idea of the Melee Target Direction

    Lecture 40 40 Create the Animation Notify to Send Sweep Location Data in a Gameplay Event

    Lecture 41 41 Define the Target Sockets and Configure the Target Notifies

    Lecture 42 42 Implement the Sweep in the CGameplay Ability Class

    Lecture 43 43 Add and Apply the Damage Effects

    Lecture 44 44 Clamp the Attributes

    Lecture 45 45 Add Punch VFX and Gameplay Cue

    Lecture 46 46 Spawn Hit VFX with Gameplay Cue

    Lecture 47 47 Add Camera Shake and Hit Reaction Animation

    Section 6: Setup Death, Respawn and Teams

    Lecture 48 48 Add Death Signal With durational Gameplay Effect and Death Tag

    Lecture 49 49 Implement the Death Sequence

    Lecture 50 50 Implement the Respawn

    Lecture 51 51 Enable Ragdoll When Dead

    Lecture 52 52 Refine the Ragdoll Physics

    Lecture 53 53 Import Our Game Level

    Lecture 54 54 Add the TeamID to the Player Controller and Player Character

    Lecture 55 55 Initialize Team ID and Start Spot for Players

    Lecture 56 56 Respawn Player Character At Their Start Spot

    Lecture 57 57 Prevent Player From Damaging Firendly Characters

    Section 7: Create the Minions with AI Perception and Behavior

    Lecture 58 58 Add AI and Configure the AI TeamID and Sight Perception

    Lecture 59 59 Add the Behavior Tree and Blackboard to the AI and Update the Target

    Lecture 60 60 Implement the AI Forgetting to Update the Blackboard Target

    Lecture 61 61 Use the AI Stimuli Source to Control AI Perception

    Lecture 62 62 Make The AI Forget Dead Targets Immediately

    Lecture 63 63 Basic Concept of an AI Behavior

    Lecture 64 64 Implement the Chasing AI Behavior

    Lecture 65 65 Make the AI Attack

    Lecture 66 66 Add the Minion Assets and Configure the Animation Blueprint

    Lecture 67 67 Create the Melee Combo Ability and Montage for the Minion

    Lecture 68 68 Refine the Minion Health and add Damage VFX

    Lecture 69 69 Implement the Death and Respawn of the AI Behavior and Perception

    Lecture 70 70 Change the Skin Based on the TeamID

    Lecture 71 71 Create the Minion Barrack Class and Implement Basic Minion Spawning

    Lecture 72 72 Create the Peoridic Spawning of Minions

    Lecture 73 73 Give a Goal to the Minions

    Lecture 74 74 Improve the Behavior of the Minions

    Lecture 75 75 Rfine the Ragdoll Logic and Refactor the Minion Class

    Lecture 76 76 Adjust the Heath Bar Display of the Minion

    Section 8: The Upper Cut Ability

    Lecture 77 77 Add the Upper Cut Ability and Key Binding

    Lecture 78 78 Add the Upper Cut Targetting

    Lecture 79 79 Add and Trigger the Passive Launch Ability

    Lecture 80 80 Add Damage Cooldown Cost and Stun Effect to Upper Cut

    Lecture 81 81 Add the Stun Behavior

    Lecture 82 82 Add the Stun Animations

    Lecture 83 83 Add the Combo Montages

    Lecture 84 84 Listen for Basic Attack Input in Upper Cut

    Lecture 85 85 Add the Upper Cut Combo Damage and Air Hold

    Lecture 86 86 Refine the Upper Cut Combo Damage and Push Effect

    Lecture 87 87 Add Upper Cut VFX

    Section 9: Implement the Ability Gauge Widget

    Lecture 88 88 Create the Ability Gauge Class

    Lecture 89 89 Pass The Abilities from the ASC To The GameplayWidget

    Lecture 90 90 Add the Ability List View

    Lecture 91 91 Use Data Table to Store Ability Icon

    Lecture 92 92 Get and Display the Cooldown and Cost Values

    Lecture 93 93 Implement the Countdown Logic

    Lecture 94 94 Add the Count Down Radial Shading

    Section 10: The Ground Blast Ability

    Lecture 95 95 Add the Ground Blast Ability

    Lecture 96 96 Using an Aimming Tag to Alter the Body Rotation Control

    Lecture 97 97 Add the Aimming Animations

    Lecture 98 98 Add the Aim Camera Lerp

    Lecture 99 99 Add and Spawn the Ground Pick Target Actor

    Lecture 100 100 Update the Targeting Location to the Player View and Add Trace Channels

    Lecture 101 101 Find Targets With our Target Actor

    Lecture 102 102 Apply Damge to Targets

    Lecture 103 103 Add VFX to Ground Blast

    Lecture 104 104 Add the Decal to Ground Pick Actor

    Lecture 105 105 Wrap up the Ground Blast Ability

    Section 11: Character Level, Stats and Stats Driven Attributes

    Lecture 106 106 Add Addtional Gameplay Attributes

    Lecture 107 107 Create the Stats Gauge Class

    Lecture 108 108 Populate the Status Gauge

    Lecture 109 109 Create the Data Table for Hero Stats

    Lecture 110 110 Use the Data Table to Initialize the Attributes

    Lecture 111 111 Change the Move Speed and Damage Based on the Attributes

    Lecture 112 112 Add the Health and Mana Regenaration Effects

    Lecture 113 113 Add the Health and Mana Full and Empty Tags

    Lecture 114 114 Add and Trigger the Dead Passive Ability

    Lecture 115 115 Find the Reward Targets

    Lecture 116 116 Calcuate The Total Rewards

    Lecture 117 117 Apply The Rewards

    Lecture 118 118 Refactor the Generic Abilities and Effects to a Primary Data Asset

    Lecture 119 119 Create and Read the Experience Curve Table

    Lecture 120 120 Update Level and Upgrade Point Based on Experience

    Lecture 121 121 Use Level to Drive Other Attributes

    Lecture 122 122 Rescale Health and Mana

    Lecture 123 123 Create the Level Up Widget

    Lecture 124 124 Implement the Level Up Gauge

    Section 12: Ability Updgrading

    Lecture 125 125 Implement the Ability Upgrading Mechanics

    Lecture 126 126 Create Visual Element of the Ability Level and Upgradability in the Material

    Lecture 127 127 Update the Ability Gauge Based on Upgrade Point and Abilty Level

    Lecture 128 128 Create Helper Functions to Find Realtime Ability Cooldown and Cost

    Lecture 129 129 Define the Ability Cooldown and Cost Effects on each Level With Curve Table

    Section 13: GAS Optimization

    Lecture 130 130 Refactor AN_SendTargetGroup to Send Damage GameplayCue Locally

    Lecture 131 131 Refactor the Ability and Game Play Cue to Ensure Cues are Triggered Locally

    Lecture 132 132 Fix Variable Initialization and Camera Shake Issues When Switching Aim Mode

    Section 14: The Shop System

    Lecture 133 133 Create the Shop Item Primary Data Asset

    Lecture 134 134 Create the Asset Manager and ShopItem Loading Functions

    Lecture 135 135 Create and Test the Item Widget Class

    Lecture 136 136 Implement the ShopItemWidget and the ShopWidget

    Lecture 137 137 Add the Shop Widget Blueprint and Test with Some Shop Items

    Lecture 138 138 Add the Shop Widget Popup Animation and Key Binding

    Lecture 139 139 Toggle Mouse Cursor and Player Input Mode when Toggling the Shop

    Lecture 140 140 Add Tool TIps to the Shop Items

    Lecture 141 141 Setup Purchasing Logic

    Section 15: The Inventory System

    Lecture 142 142 Create The Inventory Item Handle

    Lecture 143 143 Create and Store the New Item on Both the Client and the Server

    Lecture 144 144 Apply Equip Effect and Grant Ability WIth Inventory Item

    Lecture 145 145 Implement the Inventory Item Widget

    Lecture 146 146 Implement the Inventory Widget

    Lecture 147 147 Create the Inventory Widget Blueprint

    Lecture 148 148 Add Stack Checking Functions

    Lecture 149 149 Implement the Stacking Capability to the Inventory System

    Lecture 150 150 Implement the Inventory Drag and Drop Operator and Drag Drop Visual

    Lecture 151 151 Add Drag and Drop Logic to the Inventory Item Widget Class

    Lecture 152 152 Implement the Drag and Drop Handling in the Inventory Widget

    Lecture 153 153 Add Supporting Functions for Item Activation and Removal

    Lecture 154 154 Add Item Activation and Cosumption Functions

    Lecture 155 155 Create The Context Menu class and Implement the Spawning Logic

    Lecture 156 156 Implement Toggle Context Menu

    Lecture 157 157 Implement the Inventory Context Button Events and Create the Shop Items

    Lecture 158 158 Implement the Combination Logic

    Lecture 159 159 Create the Spline Widget

    Lecture 160 160 Make the TreeNodeInterface and Implement it with ShopItemWidget

    Lecture 161 161 Create the Parameters and Utility Functions of the Item Tree Widget

    Lecture 162 162 The Tree Drawing Algorithm

    Lecture 163 163 Implement the Recursive Draw Stream Function

    Lecture 164 164 Finsh and test the Drawing Mechanic of the Tree

    Lecture 165 165 Improve and Testing the Combination Mechanics

    Lecture 166 166 Trigger the Cooldown Event On the Inventory Item Widget

    Lecture 167 167 Implement the Cooldown Functions

    Lecture 168 168 Refactor the Inventory Item to Hold the Ability System Component

    Lecture 169 169 Check and Start the Cooldown when Updating the Inventory Item in the Widget

    Lecture 170 170 Update the Can Cast in Realtime

    Lecture 171 171 Setup Inventory Item Key Bindings

    Section 16: Create a Headshot Render

    Lecture 172 172 Create the Render Actor Class

    Lecture 173 173 Create the Render Actor Widget Class

    Lecture 174 174 Implement the Skeletal Mesh Renderer

    Lecture 175 175 Setup the Headshot Render

    Lecture 176 176 Setup the Lighting of the Headshot Render

    Section 17: Storm Core

    Lecture 177 177 Import and Configure the Storm Core Class

    Lecture 178 178 Update the Team Count and Team Weight

    Lecture 179 179 Move the Storm Core Based on Weight

    Lecture 180 180 Add the Ground Decal to Display the Influence Range

    Lecture 181 181 Implement the Core Capture Mechanics

    Lecture 182 182 Configure and Test the Core Captureing Mechanics

    Lecture 183 183 Create the Match Stat Widget

    Lecture 184 184 Update the Progress Bar of the Match Stat

    Lecture 185 185 Create a Gameplay Menu Widget Class

    Lecture 186 186 Add the Gameplay Menu Toggle

    Lecture 187 187 Trigger the Match Finished Events

    Section 18: Another Character with Ranged Attack

    Lecture 188 188 Import Another Character

    Lecture 189 189 Create the Animation Blueprint for the New Character

    Lecture 190 190 Create the Shoot Ability and Initial Events

    Lecture 191 191 Add the Input Bindings of the Shoot Ability

    Lecture 192 192 Create and Play the Animation Montage

    Lecture 193 193 Create the Projectile Actor Class

    Lecture 194 194 Spawn and Shoot the Projectile in the Shoot Ability

    Lecture 195 195 Create the Crosshair Widget Class

    Lecture 196 196 Make the Crosshair Widget Blueprint

    Lecture 197 197 Implement and Test the Get Aim Target Function

    Lecture 198 198 Apply the Hit Effect and Fire the Hit Effect Cue

    Lecture 199 199 Implement the Lock on System

    Lecture 200 200 Update the Crosshair to the Aim Target Location On Screen

    Lecture 201 201 Define the Headshot Capture Local Position and Rotation

    Lecture 202 202 Improve the Render Quality of the Headshot

    Section 19: Lazer Ability

    Lecture 203 203 Setup the Montage Play and Mana Consuption Logic of the Lazer Ability

    Lecture 204 204 Create the Lazer Ability Blueprint and Test the Functionality

    Lecture 205 205 Create the Lazer Target Actor

    Lecture 206 206 Spawn the Lazer Target Actor

    Lecture 207 207 Create the Targetting Properties and Configure the Replication

    Lecture 208 208 Update the Lazer Length

    Lecture 209 209 Report Lazer Targets and Apply Damage

    Lecture 210 210 Adress the Ability Spec Dangling Pointer Issue in the Ability Gauge

    Lecture 211 211 Fix Other Minor Issues

    Section 20: Black Hole Ability

    Lecture 212 212 Create the Blackhole Ability and Setup the Targetting

    Lecture 213 213 Configure and Test the Blackhole Ability Implemented so Far

    Lecture 214 214 Create and Setup the Component and Basic Events of the Blackhole Target Acto

    Lecture 215 215 Add the Spawning Logic of the Blackhole Target Actor

    Lecture 216 216 Implement the Pulling Mechanic of the Blackhole Target Actor

    Lecture 217 217 Implement the Final Blow Effect of the Blackhole Ability

    Lecture 218 218 Add the Focus State for the Player Character and Finalize the Blackhole Abil

    Lecture 219 219 All Other Abilities

    Section 21: Create the Lobby

    Lecture 220 220 Create The Lobby Classes

    Lecture 221 221 Create the Lobby Level and Spawn the Lobby Widget

    Lecture 222 222 Create the Team Selection Slot Widget

    Lecture 223 223 Create and Listen for Team Selection Slot Click Event

    Lecture 224 224 Create the Player Selection Structure

    Lecture 225 225 Make the CGameState class to Keep the Player Selections

    Lecture 226 226 Connect the Lobby Widget with The Player Slot Selection System

    Section 22: Hero Selection

    Lecture 227 227 Switch To Hero Selection

    Lecture 228 228 Add the Character Defination Primary Asset

    Lecture 229 229 Create and Load the Character Definations with the Asset Manager

    Lecture 230 230 Implement the Character Entry Widget

    Lecture 231 231 Configure the Character Selection Tile View and Character Entry WBP

    Lecture 232 232 Implement the Character Selection Logic in the Game State

    Lecture 233 233 Add the Player Selection and Character Selection Server Functions

    Lecture 234 234 Issue and Update Player Character Selection on the Lobby Widget

    Lecture 235 235 Create the Character Display Class

    Lecture 236 236 Handle the Spawning and Updating Logic of the Character Display

    Lecture 237 237 Setup the Visuals of the Lobby Level

    Lecture 238 238 Display The Abilities in the Lobby Widget

    Lecture 239 239 Refine The Ability Display

    Lecture 240 240 Create And Configure the Ability Tool Tip

    Lecture 241 241 Spawn the Tooltip in the Ability Gauge Class

    Lecture 242 242 Implement the Player Team Slot Widget

    Lecture 243 243 Construct the Player Team Slot Widget Blueprint

    Lecture 244 244 Implement the Player Team Layout Widget

    Lecture 245 245 Compose the Payer Team Layout Widget Blueprint

    Lecture 246 246 Implement the Map Loading in the CGame Instance Class

    Lecture 247 247 Add the Start Match Button

    Lecture 248 248 Copy The Player Selection Through the CopyProperties Function

    Lecture 249 249 Configure the Character and TeamID Based on Player Selection

    Section 23: Test Dedicated Server Packaging and Connecting

    Lecture 250 250 Get and Build the Engine from Source

    Lecture 251 251 Convert Our Game Project to Use the Source Build and Add Entry Animation

    Lecture 252 252 Build the Server and Clients and Try Out Manual Connections

    Lecture 253 253 Create and Configure the EOS Product

    Lecture 254 254 Configure EOS in Our Project

    Lecture 255 255 Read Command Line Arguments When Creating Session

    Lecture 256 256 Create the Launch Scripts

    Lecture 257 257 Implement Server Side Session Creation

    Lecture 258 258 Load Level After Session Creation Successful or Terminate if Not

    Lecture 259 259 Implement the Game Session Class and React to Player Join and Left

    Lecture 260 260 Enable and Test EOS

    Section 24: User Login and Session Creation Request

    Lecture 261 261 Create the Main Menu Level and Classes

    Lecture 262 262 Create the Login Widgets

    Lecture 263 263 Implement the Login In Game Instance

    Lecture 264 264 Add the Waiting Widget and Show It During Logging In

    Lecture 265 265 Add the Create Lobby Widgets

    Lecture 266 266 Configure and Get the Coordinator URL

    Lecture 267 267 Compose and Send Session Creation Request

    Section 25: Server Coordinator and Session Orchestration

    Lecture 268 268 Setup Python and VS Code

    Lecture 269 269 Create and Test the Coordinator HTTP Server

    Lecture 270 270 Using the HTTP server to Launch and Instance of the Server Upon Request

    Lecture 271 271 Setup Find Created Session Timers

    Lecture 272 272 Search for Created Session

    Lecture 273 273 Stop Session Search and Retrieve Session Name and Port

    Lecture 274 274 Connect to the Session Server Through the Search Result

    Lecture 275 275 Implement the Global Session Search

    Lecture 276 276 Create and Compose the Session Entry Widget Class

    Lecture 277 277 Populate the Session List in the Main Menu Widget

    Lecture 278 278 Join Session with The Session Id

    Lecture 279 279 Test with Multiple Player Accounts

    Lecture 280 280 Add Project Icon and Splash Screen

    Lecture 281 281 Add More Testing Characters

    Section 26: Server and Client Packaging and Containerization

    Lecture 282 282 Prep for Linux Server Build

    Lecture 283 283 Build Linux Server and Windows Game Client

    Lecture 284 284 Install Docker and Docker Compose Through WSL

    Lecture 285 285 Containerize the Coordinator and Test Connections

    Lecture 286 286 Containerize the Server and Test Connections

    Lecture 287 287 Query Occupied Ports Through Docker

    Lecture 288 288 Process the Port Query Result to Get the Occupied Ports

    Lecture 289 289 Finish and Test the Coordinator Container

    Lecture 290 290 Use Docker Compose to Define and Build Our Images

    Section 27: Server Deployment on AWS

    Lecture 291 291 Create the AWS Account

    Lecture 292 292 Create and Login to the EC2 Instance

    Lecture 293 293 Setup Docker and Docker Compose on Our EC2 and Copy The Server Over

    Lecture 294 294 Deploy and Test Our Server on EC2

    Section 28: Conclusion

    Lecture 295 295 Conclusion and Goodbye

    Game Developers Who Need to Make Solid Multiplayer Games with Unreal Engine,Game Developers Who Need to Setup Dedicated Servers,Game Developers Who Need a Complete and Deep Understanding of the Gameplay Ability System in Unreal Engine and How It Works with the Rest of the Engine,Game Developers Who Want to Improve their Code Quality & Structure with C++,Game Developers Who Need to Adapt to the Epic Online Services