
Create a complete fighting game in Unity by building a character select, AI opponent, multiple levels, two-player controls, and mapped moves, with animator controllers and C sharp scripts.
Install the correct Unity version via Unity Hub, add modules, and create a new external-drive project named lethal invasion, 16, 60, to start the basic scene for your fighting game.
Install post-processing via the package manager in Unity to enable high-quality visuals and a triple-a look for your fighting game, while managing assets through the package manager and Unity registry.
Import backgrounds from the backgrounds folder (sun temple asset), apply them to a quad with unlit shadow shader, and set the camera to a black background at 1920 by 1880.
Download and configure characters for a Unity fighting game, choose from thousands of free animations, mirror animations so characters face left or right, and implement walk, jump, and crouch motions.
Import Eve and Vanguard into Unity, organize character folders, apply external materials, and align transforms and scale. Set up player layers and lighting for enhanced visuals, noting no post-processing yet.
Apply post-processing on the main camera for color grading and exposure, then create a ground with shadows and use a spotlight to illuminate the background.
Fix transparency issues in Unity 2020–2021 by turning off HDR on the main camera, then tune environment intensity, reflections, and post-processing to darken scenes and make characters pop.
Set up each character in Unity with an animator and bind idle, walk, crouch, and jump animations using forward, backward, crouch booleans and a jump trigger, with transitions.
Learn to drive Unity animations with a player move script that reads horizontal and vertical inputs, sets forward and backward booleans, and triggers jump and crouch.
Learn to move a capsule with a rigidbody and collider in Unity, freezing rotations and parenting Eve to the object, then implement a walk speed-based movement and prepare a jump.
Coordinate jumping with the animation using a public jump function, jump speed control, and animation events; prevent double jumps with a jumping flag and a coroutine.
Enforce left-right screen bounds by converting the character's world position to screen coordinates, tracking a screen bounce boolean, and halting horizontal movement when the character reaches the screen edges.
Learn to make a Unity fighting game character always face the opponent by tracking positions and rotating 180 degrees on the Y axis with a brief 0.15 second yield.
Create a flip animation layer in Unity's animator, duplicate the base layer, set loops for walk and jump, and script layer weights to face the opponent.
Develop combat animations for a Unity fighting game by adding light and heavy kicks and punches, a leg sweep, an aerial hurricane kick, with mirroring and 60 fps assets.
Learn to implement spinning jump in Unity by organizing forward and backward moves, creating and linking jump animations, setting transitions, and tuning via script-driven translation.
Explore combat setup in Unity by enabling forward, idle, and walk states, and implementing light and heavy punches and kicks with a substate machine and animator triggers.
Review task progress and wire idle to heavy punch, light kick, and heavy kick transitions in Unity, map inputs fire2, fire3, and jump, then test animations with no exit time.
Maintain a clear naming convention for attacks and implement a crouch-to-leg-sweep transition with no exit time, then test and adjust transition timing to keep the character grounded.
Develop aerial moves in Unity by using animator state info to trigger a hurricane kick from jumping, control motion tags, and manage transitions from jumping to idle and crouching attacks.
Move assets from the base layer to the flip layer, organize forward and back attacks, and implement punch slides with time delta time for frame-rate independent motion.
Implement a center blocking state by adding block on/off triggers, linking transitions from fighting idle and walk states, and mapping a new block input in the input manager.
Integrate creative commons attribution 3.0 audio clips into a Unity fighting game by using a 2D audio source and triggering punch and kick sounds with animation events.
Experiment with Unity audio by adding a reverb zone and an audio mixer to route kicks and punches, adjust volume, and apply presets for cinematic effect.
Select the lead character and implement hit reaction animations, including a head hit, dizzy idol, fast overdrive, knockdown, kip-up, and knocked-out sequences, mirroring assets for Unity at 60fps.
Bring in animations and set up the Unity animator with head and medium hit reactions, transitions from walk and idle, and a big react from any state to knock out.
Script and test reaction animations in Unity by tagging react animations, detecting hits with on trigger enter, and triggering knockouts and big reactions through animation triggers.
Import attack sounds from Open Game Art, convert FLAC files for Unity, and attach light and heavy hit sounds to punches and kicks via a tag-based trigger system.
Tune audio reverb to a carpeted hallway, preview sounds, and adjust volume with the mixer; set up animator transitions and flip variants for moves like head react and heavy kicks.
Select tailored Vanguard animations—walking, punching, kicking, jumping, blocking, and reactions—and mirror, download, and adjust overdrive speeds before importing into Unity's animator.
Set up a Unity animator controller by importing animations from Máximo, duplicating Eve's animation preset, and replacing idle, walk, jump, punches, kicks, blocks, and reactions for the Vangard character.
Set up a second player in Unity by duplicating the vanguard collider, creating player two scripts, aligning rotation, and assigning separate move and action controls to enable two-player gameplay.
Set up alternate player two controls in Unity by configuring input axes for keyboard and joystick, updating horizontal and vertical mappings, and mapping fire and jump actions in project settings.
Set up player two blocking by mapping a block key in the input manager, test crouch and jump, and ensure blocking prevents movement while refining animation transitions.
Develop player 2 animations in Unity by editing the mutant jumping sequence, testing with colliders and kinematic rigidbodies, and refining attack moves through keyframe edits and events.
Learn to create and refine mutant jump attack animations for forward and back flips in Unity, duplicating and renaming clips, adjusting speeds, adding events, and tuning transitions in the animator.
refine flip layer animations and transitions; test capsule colliders, is kinematic, and gravity to prevent passing through characters, shrink colliders to about 0.3 and adjust center to -0.69.
Configure a Unity push detector using a small trigger collider, a kinematic rigidbody, and a jump activator script to push the player 0.4 units on contact.
Learn to implement jump animations in a Unity fighting game by configuring jump activation with keyframes and ensuring the jump switch-on in air and switch-off on landing.
Create a P1 Jump Activator with a trigger box collider and a kinematic rigidbody, wire up the P1 jump script, and test P2 Space Detector interactions and forward flip animations.
learn to add detector barriers and trigger colliders in Unity to stop a fighter from pushing the other, and wire a move-restrict script activated during walking animations.
Set up push prevention in a Unity fighting game using a P1 detector trigger, pizza left and right tags, and a shared walk left/right state controlled by the animator.
Reset player control quickly in Unity by using a restrict object to re-enable walk left/right after animation, ensuring stable movement and responsive jumping for a fighting game.
Adjust jumps by using public facing booleans to move in the correct direction, and shift walk-to-jump transitions and animation events for forward and back flips to improve responsiveness.
Configure attack colliders in Unity by adding trigger box colliders to fists and feet, naming kicks and punches, and testing hit detection to drive reactions.
Switch off all colliders at the start, then enable the correct limb collider during each attack animation (hook punch, heavy/light punches, hurricane kick) to trigger accurate, single-frame collisions.
Tag characters as player one and player two, create a player one trigger script to disable hit colliders on contact, and reset them using a public static hits flag.
Set up player 2 colliders for left and right limbs, feet, hands, and head as triggers, assign kick and punch tags, and synchronize with animations.
Duplicate player scripts for player two, update collision tags and public hits variables, attach scripts to the Vangard elements, and test punch and kick reactions before refining the Vangard animation.
Refine Vanguard's reaction animations by editing keyframes to stop sliding on knockdown, moving the collider instead of the animation, and adjusting transitions for proper getting up.
Learn to implement a heavy hit reaction in Unity that makes the character slide across the ground, updated over frames with a heavy slide state and animation events.
Copy idle keyframes to overwrite the light and heavy reactions, delete keyframes above the spine, and keep the legs still while adjusting the hips and body for smoother Vangard attacks.
Configure two game controllers in Unity by updating the input manager to use joystick one and joystick two, mapping axes and fire and jump buttons for two-player play.
Import UI sprites, place health bars on a scalable canvas, and configure left and right horizontal filled bars (red and green) linked to player health via script.
Implement health bar logic in Unity by saving player health, linking UI images, and applying damage amounts for different attacks, and testing live health updates.
Make the red health bar slide back to the green bar about two seconds after attacks, using a two-second timer, time.deltaTime, and fill amount adjustments replenished on hits.
Implement player health bars in Unity by duplicating health logic for player one, adding a damage amount, updating health on hits, and preparing a win condition when health reaches zero.
Learn to trigger the knocked out animation in Unity when health hits zero, then disable player move and actions scripts after a short delay to complete the knockout.
Block by disabling the box collider and capsule collider and setting the rigid body to kinematic so the character takes no damage while blocking.
Create and implement a victory animation for when a character wins, select and mirror a dynamic victory animation, then import and set it up in Unity for 60fps gameplay.
Configure Unity animator transitions to play the victory animation from any state when a victory trigger fires. Link health checks for both players to trigger knockout and return to idle.
Implement a synchronized victory sequence by duplicating player two's heavy react logic to player one, enabling heavy react with animation events and sliding back movement in Unity's fight system.
Fix jump speed in Unity by using a public static flying jump flag and jump speed, and reset with idle speed, applying the approach to the Vanguard character.
Learn to add hit particle effects in Unity by importing a cartoon particle pack, configuring a cfx magical source, and triggering particles through a script attached to the fighter.
Master particle effects in Unity by importing CFX sparks and skull explosion assets, doubling emission counts for richer visuals, and syncing time scale to slow motion during kicks and punches.
Slow the victory animation to 0.5, enforce exit time on all transitions, reset time scale to one, and wire knockout triggers with particle effects for the eve character.
Refine attack timing by speeding up light punch, kicks, and jumps, giving each character a distinct pace that matches their style, and prepare dynamic particle effects for the next video.
Dynamically load opponents and their particle effects in a Unity fighting game. Unpack prefabs, name them player one and player two, and locate particle systems at runtime.
Implement dynamic checks in Unity by unpacking prefabs, wiring particle systems to each move, and enabling dynamic player spawning on opposite sides for a two-player fighting game.
Save characters as prefabs in Unity, swap between player one and player two by unpacking and renaming, and assign move scripts, sounds, and particles.
Swap player controls in Unity by aligning the P1 detector and P2 tags, adjust move restrictions, and apply triggers to enable health, particles, and combat feedback.
Create and test a Unity spawning system using a transform-based spawn marker, a level spawn script with public player objects, and instantiate at startup to spawn players.
Diagnose and fix spawning behavior in a Unity fighting game by ensuring box colliders are enabled, mirroring trigger logic for both players, and stabilizing the spawn so it triggers once.
Configure ai characters for a one-player game by duplicating prefabs, renaming them for ai control, and implementing distance-based movement and attack logic.
Add a slight pause before the vanguard moves toward the player by using a new enumerator with a 0.6 second yield, creating more natural timing when approaching the opponent.
Learn to implement AI random attacks in Unity by adding a randomAttack method and using Random.Range to choose punch, light punch, kick, or heavy kick, triggered by animation events.
Set up a can attack boolean in the animator to ensure punches and kicks fire only when the opponent is within attack distance, updating transitions across layers for all attacks.
Duplicate and rename the player two trigger script, attach the correct script to each collider, and ensure box colliders and triggers, plus references, point to the proper script for attacks.
Learn to implement an AI attack rate in Unity by adding an attacking flag and a configurable attack rate. Use a coroutine to pause between attacks and adjust difficulty.
Implement a dazed state that freezes movement and stops attacks for a configurable duration. Control this with a public static boolean and a dazed time value.
Build an automatic crouch defense that triggers a leg sweep and returns to idle, driven by a random defend state and simplified animator transitions.
Implement ai blocking in Unity by using a private bool isBlocking to trigger block on and off, pause with waits, and return to idle for a fuzzy, randomized defense.
Learn to toggle the box collider during crouch and sweep attacks in Unity, and implement a two-second crouch timer with a counterattack kick to prevent cheating.
Configure Vanguard P1 as an AI character using prefabs, animator, and collision layers; implement a random attack function for player one and two actions, then test with Eve characters.
Set up Eve AI by converting Eve to an AI character, duplicating and adapting the player move logic for crouch and sweep, and configuring attack distance and can attack parameters.
Set up Eve’s AI and action events in Unity, assign random attack behavior, and save or swap AI prefabs to reuse characters in a two-character fight scene.
Learn to set up TextMesh Pro in Unity with a custom font, generate a font atlas, and apply color gradients, outlines, and bevels for a timer and player names.
Connect a TextMeshPro timer to a 90-second level time in Unity, update it with delta time, round the float, and display the result as text.
When level timer hits zero, the fight stops and the game declares the winner by remaining health, using a public static time-out flag to pause actions and reset on restart.
Learn to display centered in-game text for a Unity fighting game by duplicating text controls, adjusting font size, and dynamically updating round, fight prompts, and win/lose messages.
Create a round start sequence in Unity by showing the round text, playing round and fight audio, and timing actions with a coroutine to sync character direction.
Create and configure an audio mixer for round start in a Unity fighting game, attach a round announce clip, and tune reverb, delay, and chorus to enhance the announcer's sound.
Set up win and lose sequences in a Unity fighting game by reusing scripts, showing win/lose text, and playing the win or lose audio before reloading the level.
Set up a timer-based win/lose system by linking a win condition to the health bar script. Enable the win condition at the timer threshold and drag it into the canvas.
Import and integrate free music from the indie devs nation pack into Unity, create a music mixer, adjust volume, and assign looping tracks to each level of your fighting game.
Create a fade-in effect by placing a black panel over the canvas, animate its alpha from 1 to 0 over 0.3 seconds, and use an animator controller.
Learn how to implement two-player win text and audio cues in Unity, including creating player win texts, syncing with audio, and handling one- and two-player modes.
Set up a win counter UI in a Unity fighting game using P1 and P2 icons and a health bar tracking rounds. Reload the scene via scene management, resetting health.
Demonstrates rounds 2 and 3 in Unity by duplicating round UI, assigning texts and audio, and tracking the current round with a safe script.
In Unity, create an audio source music player and configure it to play after each fight, with a two-second pause and a volume around 0.15 on the canvas.
Import the four new characters—Eli, Maria, Mauriac, and Cynth—from the unity package and test them in the level spawn; adjust the attack routine to always stay attacking.
Create a Unity scene, place character prefabs, and adjust the camera and lighting for a fighter image, then capture a screen image and generate an alpha mask by disabling emission.
Isolate game-ready character icons by selecting and removing backgrounds with a magic cutout and mask, crop to the head, and save each image with a transparent background.
import and arrange character icons in Unity's canvas, convert textures to UI, resize and position icons along the screen edges, then duplicate and rename for player one and player two.
Create victory backgrounds for a Unity fighting game by setting up a dynamic camera, fading the background, applying depth of field, and capturing character screenshots to assemble finalized prefabs.
Edit and prepare background artwork by importing layered images, locking the bottom layer, cropping each image, and saving high quality JPEGs for use in the Unity fighting game.
Import the victory images into Unity, set them as 2D UI textures, and build per-character victory screens with image, text, a continue button, on a blocking full-screen panel.
Learn to build a character select flow in Unity by gating victory screens and icons with panels, and dynamically spawn the chosen character using public static selections and scripted switches.
Enable p2 control, duplicate and rename, configure the p2 icon and text, and spawn the second vanguard with its victory screen and name.
Add a second player slot with a dynamic AI character for player two, and adjust UI text to center and fit names, while testing fade-in transitions.
Refine the victory screen by slowing the fade-in, ensuring a black start, triggering the screen at two wins, and pausing time while keeping UI buttons responsive.
Fix character movement by resetting the dazed flag on level restart, and configure the load UI for Eve, Eli, Maria, and Cynthia with icons, names, victory screens, and switched-off scripts.
Mark characters on panels with icons and victory screens and enable dynamic spawning in the canvas. Hide level spawn fields by making them private and test dynamic naming.
Set up a character select screen in Unity with a fixed-resolution canvas, a background, six character icons, and player name labels.
Set up P1, P2, and CPU UI elements in Unity, save the scene with no spaces in names, color CPU red, and place labels in the top corners for gameplay prep.
Navigate a grid of character icons with keyboard or joystick, enforcing a one-second delay between moves and updating the highlighted character via a P1 Select script.
Adjust time scale to slow animations and test character transitions; implement switching on the selected character, update the player name text, and verify only one character is active during play.
Implement a dynamic P1 indicator above the selected character by creating multiple text indicators, toggling them on and off with a script, and setting a default character.
Enable character selection in Unity by mapping a button press to update P1's character via the safe script and load the chosen character, with an audio cue.
Add an audio source for character selection and extend the P1 flow to include player two and CPU selection with updated input mappings.
Test character selection transfer to the next level by configuring Unity scene management and build settings, ensuring the correct characters load on level transition with proper icons.
Design a level select in Unity by cycling level backgrounds on a UI canvas, and loading the chosen scene with a level selector script.
Demonstrates linking levels in Unity by wiring scene transitions with the scene manager, using public scene indices, and returning to the character select screen via victory screen buttons.
Swap dynamic backgrounds by swapping materials through a level spawn script, linking eight background materials to levels and testing via character select in Unity.
Reset the round to zero and set both players' win counts to zero on the character select screen, ensuring a fresh start for every new match.
Design the Unity main menu by importing UI assets, configuring a scalable canvas, adding a logo and background, and creating buttons for one player, two players, options, controls, and exit.
Create functional main menu buttons in Unity to start one player or two player modes, load the correct scenes, and implement an exit option, with a reusable menu button script.
Create Unity controls screen using a canvas, images, and text for gamepad and keyboard mappings. Add a close button with a script to return to the main menu, then test.
Create options menu in Unity by building a canvas and panel, adding difficulty and volume controls with sliders for music and SFX, and close button to return to main menu.
Create a Unity options menu for a fighting game to set AI difficulty by adjusting a public static float and control music and SFX volume with exposed audio mixer parameters.
Test and polish the Unity fighting game by tuning the options menu—music and sound effects settings, expert difficulty persistence, and screen-bound character controls, with polished menus.
In this course I am going to be showing you how to create your own fighting game inside of the Unity game engine.
We're going to be bringing in a series of free characters as well as a wide range of free animations so that each character can have their own unique style.
We're going to create a character select screen and we're also going to setup AI characters, these are computer controlled characters that will fight against you and it will seem as though the AI character is just as effective and just as realistic as a real player. The characters you choose will dynamically load into the level you choose and there are a wide variety of levels to choose from.
We will also be setting up a 2 player mode and mapping the controls for 2 game pad controllers so you can have two people playing at the same time. You can control characters either by game pad or by keyboard.
We will setup options so that you can set a difficulty level for the AI characters. You will also be able to adjust the volume for music and sound effects independently.
We're going to be setting up animator controllers for each character and controlling the animations through various parameters that will be called in C# scripts. We're going to create a wide range of C# scripts using easy to understand and easy to implement code.
So by the end of this course you will have a fully completed fighting game which will look great in your portfolios. You can also include your completed game for free on websites or sell it commercially online through Steam or other such websites. You will also have gained the experience and knowledge of how to make this type of game inside of the Unity game engine.
Why not enroll today and I look forward to seeing you in my course.