There are no reviews yet. Be the first to send feedback to the community and the maintainers!
line-renderer-bezier-path
In this tutorial repository you will learn how to make an Editor script that will allow you to smooth a Line Renderer with Bezier Curves.scriptable-object-based-guns
Learn how to create a ScriptableObject-based gun system from scratch for your game!ragdolls
Learn about the ragdoll ceration workflow, a script to toggle between an Animator and Ragdoll, and some optimization ideas for having ragdolls in your game.menu-controller
Learn how to use a Stack to manage your UI Pages. Create pages that have configurable entry/exit animations, sounds, and actions. This is the base framework I've been using for over 6 years in my own projects and find it to be highly reliable, scalable, and still easy to use.fade-objects-standard-shader
Learn how to fade out objects that block line of sight to your player, or any other object, while still using the Unity Standard Shader! No custom shader writing or Shader Graph editing required!ai-series-part-42
Learn how to combine a Root Motion animated model with a NavMeshAgent. This gives you all the pathing benefits and local avoidance of the Navigation System with the precise animation you expect from Root Motion.juicy-springs
Transform your simple, bland transitions and movement into juicy springy movement!surface-manager
Create and use a ScriptableObject-based Surface Management system for your game!raycast-bullet-trails
Learn how to add bullet trails (aka "tracers") to your hitscan weapons. In this tutorial repository you'll learn how to implement a hitscan gun that makes bullet impact effects, has bullet trails, and fires on left mouse click using the new input system.baked-animation-meshes
Learn how to bake animations as a series of "snapshots" of meshes.bullet-impacts
In this tutorial you will learn how to create a basic RigidBody Bullet that on impact, will have a particle system play at the impact location based on the material of the object the bullet collides with.ai-series-part-27
In this tutorial repository you will learn how to make NavMeshAgents surround a target instead of blindly chasing to the center point of their target at a customizable radius.async-scene-transitions
Learn how to implement a framework to manage animations between scenes.doors
Learn how to create multiple different types of doors in Unitypersistent-data
Learn how to save and load data in Unity - avoiding common mistakes and dangerous serialization techniques many other tutorials will tell you to use!line-renderer-collider
Learn how to dynamically generate a collider that aligns to your Line Renderer regardless of shape or size of your Line Renderer2021-object-pool
Get an in-depth overview of the most commonly needed functionality of the Unity Object Pooling API introduced in the 2021 version of the Unity Editor.ai-series-part-32
Learn how NavMeshAgent obstacle avoidance works... in DEPTH! In this deep dive into NavMeshAgent avoidance you'll learn 5 key takeaways for improving NavMeshAgent avoidance using the Unity Navigation System, no external assets needed!ai-series-part-38
Learn how to create your very own Companion AI! In this tutorial video you will learn how to create a companion that follows the player when the player moves, rotates around the player when idle, and attacks nearby Attackable GameObjects when they come within range!urp-fading-standard-shaders
Learn how you can easily fade out objects that are using the standard URP shaders that obstruct view to the player using C# code!projectile-trajectory
Learn how to use a Line Renderer and a basic kinematic equation to show the trajectory of any projectile! We're using a grenade in this case, but it can be applied to cannon balls, bullets affected by gravity, throwing a banana, or any other projectile!destructible-objects
Learn how to add destructible objects into your game - for free! In this tutorial you'll learn how to destroy any individual game object with a common "replacement" technique. Clean up afterwards with a subtle fade out effect.urp-decal-projector
Learn about the URP Decal Projector in this tutorial repository and video!ai-series-part-50
See a full implementation of an enemy AI with GOAPflamethrower
In this repository you can learn how to implement a flamethrower that damages enemies over time, including applying a burning effect to the enemyworldspace-health-bars
Learn how to implement Worldspace Health Bars in this tutorial repository with accompanying video tutorial.3d-model-ui-preview
Learn how to show animated 3D Models on your UI using a Canvas, Render Texture, and any 3d modelraycasting-explained
In this tutorial repository I aim to make it really clear how each of the Ray, Sphere, Box, and Capsule casts work, look, behave, and how you can use each one of them to achieve your "casting" goals!ai-series-part-29
Learn how to make NavMeshAgents find valid cover spots from another target object.ai-series-part-40
Learn how you can implement the jobs system to improve the performance of Line of Sight checking for your AI!read-texture-data
Learn how to sample a 2D texture and get a weighted randomness value based on an arbitrary color attributeai-series-part-14.5
Project used in the AI Series Part 14.5 Unity Tutorial where I show how to approach optimizing code, using our runtime navmesh generation as the optimization targetmobile-touch-inputs
In this tutorial repository you can learn how to add a Touch Movement Joystick to control your player using the New Input System.christmas-lights
Learn how to add Christmas lights into your game, for free with this tutorial repository!ai-series-part-2
Full project of the end state of the AI Series Part 2 video where we've add jumping with NavMeshLinksai-series-part-14
Project corresponding to AI Series Part 14 where we implement Baking NavMesh at Runtime around the Player, instead of baking on the entire scenelerping-fundamentals
Lerping is one of the foundational things you need to know about in video game development! There are so many use cases for lerping it's impossible to name them all! Almost any time you want to rotate, move, or change a value over time, lerping is an option.light-lod
Learn how to apply the "LOD" (Level of Detail) concept to lights!get-terrain-texture
sing this tutorial repository and associated video you will learn how to get the Albedo texture from any Renderer using any Shader AND how to get the active textures on a Unity terrain at any given point.unity-csharp-basics-5
Learn about delegates in a Unity-focused tutorial!unity-csharp-basics-1
If you've been using Unity for a while, or are just getting started with Unity and decided it's time for you to start learning how to write code - this is the video you need to start your programming journey!ai-series-part-30
In this tutorial repository you will learn how to make NavMeshes with Moving and Rotating Platforms that are traversable by NavMeshAgents. This is officially unsupported and comes with some limitations on how it can work.explosion-damage
In this tutorial you will learn how to create an explosion effect that will apply force to objects that are within range. It will also show you how you can apply damage with damage falloff based on the distance from the explosion an object is.advanced-lerping
In this tutorial repository you'll learn how you can easily apply smoothing and randomness to smoothing by using Animation Curves or MinMaxCurves to achieve nonlinear interpolation on "lerp"s.audio-slider
Many of you have probably tried to create a slider that manages levels of audio for different things like Sound Effects or Music volume. However the most immediately obvious ways to approach this is very, very wrong.smooth-look-at
A simple project created for the video: https://youtu.be/2XEiHf1N_EY to smoothly turn an object to look at another target.raycast-bouncing-bullets
Learn how to use Vector3.Reflect to upgrade your Raycast/Hitscan bullets so they can ricochet or bounce off any objects!scene-inspector-debug-information
Learn how to extend an existing Inspector in the Unity Editor and draw debug information in the Scene View.ai-series-part-36
In this tutorial repository you will learn how to construct doors that NavMeshAgents will open when they come nearby.unity-csharp-basics-3
Learn about some fundamentals in Unity - Lifecycle events, Instantiate, and Destroy!ai-series-part-28
In this tutorial repository you will see how you can use moving platforms with the Unity Navigation System.ai-series-part-12
Project for the AI Series Part 12 where I go over how to choose the closest target to a particular NavMeshAgent based on the distance the NavMeshAgent would travel to get to the other target.ai-series-part-4
Full project of the end state of the AI Series Part 4 video where we spawn NavMeshAgents at runtimeai-series-part-43
Learn how to find the OffMeshLinks (high level component: NavMeshLink) that a NavMeshAgent will take on their current pathai-series-part-39
Learn how to transform your fully animated NavMeshAgents and transform them into a Ragdoll on death that eventually subtly fade outai-series-part-19
Tutorial repo for AI Series Part 19, where you will learn how to do round-based spawning and scaling up enemies per round.ai-series-part-26
In this tutorial repository you will learn how to select units with either a click. shift+click (to add/remove), and click+drag to bulk select units utilizing a singleton SelectionManager with automatically registering SelectableUnits that can have their path set with a right click of the mouse.unity-csharp-basics-6
In this tutorial repository you'll learn what Inheritance is (it's not passing on hereditary traits or getting money!), how to use it (you already are using it!), what an Interface is, how to use it, and what the difference between the two are!ai-series-part-34
In this tutorial repository you will learn how to make a NavMeshAgent traverse a NavMesh without using SetDestination nor the mouse to click-to-move. We'll use the keyboard to move the NavMeshAgent along the NavMesh instead, apply a configurable smoothing to the inputs so the agent doesn't abruptly swap directions and rotations.ai-series-part-24
Tutorial repository for AI Series Part 24, which is the 4th and final part of a sub-series to implement enemy skills and abilities. In this repository we have extended the foundation from part 21, 22, and 23 to implement a new instant-cast ability - poison gascanvas-scaler
The Canvas Scaler is a powerful tool to help your UI automatically scale across aspect ratios and resolutions, but understanding exactly how it achieves that is a little nuaced. In this week's video I'll be explaining how the Canvas Scaler knows how to scale up or down your UI based on the UI Scale Mode and other configurations so you can choose which one works best for you and your workflow!ai-series-part-37
In this tutorial repository and accompanying video you will learn how to make your NavMeshAgents break down obstacles that block their path. The agents will consider if a particular path is worth going through by breaking down the obstructions or if pathing around them is more worthwhile.urp-scrolling-texture
Learn how to create a scrolling texture shader in URP Shader graphai-series-part-20
This tutorial repository is the end state of the AI Series Part 20 - Weighted Random Spawning video where we implement a new spawn method and define these spawn configurations in ScriptableObjects.unity-csharp-basics-2
This tutorial repository is to help you learn some critical fundamentals - Arrays and Loops. They usually go hand in hand so it just felt right to talk about them together. Check out the associated video tutorial for best resultsai-series-part-1
Full project of the end state of the AI Series Part 1 videoai-series-part-31
learn how to show a path to a specific target without using a NavMeshAgent. We'll calculate the path on a NavMesh from the player's current location (controlled via a Third Person Controller) to the target location, and show that with a LineRenderer. The path calculation has a few knobs to turn, how high above the NavMesh to draw the line and how frequently to recalculate the path.ai-series-part-13
Project used in the AI Series Part 13 Unity Tutorialprogress-bars
Learn how to implement Progress Bars that can optionally report their progress and raise completed events!random-range
Learn a much simpler AND more powerful way to choose random values between two constants, curves, on a curve, or even a single value.ai-series-part-22
Tutorial repository for AI Series Part 22, which is Part 2 of a sub-series to implement enemy skills and abilities. In this repository we have extended the foundation from part 21 and implemented a new channeled ability - fire breathbullet-trails
In this tutorial you will learn how to create trails on bullets using a TrailRenderer that can be configured on a bullet-prefab levelai-series-part-18
Project for the AI Series Part 18 tutorial that demonstrates how to burst spawn enemies, leveraging our existing EnemySpawner .ai-series-part-41
In this Unity tutorial, learn how to make your AI throw accurate projectiles at stationary or moving targets given only a maximum allowable throwai-series-part-8
Full project of the end state of the AI Series Part 8 video where we dive deeper into bullet mechanics by adding homing bullets and noise to the path they takeai-series-part-3
Full project of the end state of the AI Series Part 3 video where we add basic animations to our NavMeshAgentscinemachine-basics-1
learn how you can use the Transposer and Composer (and what each configuration option does!) to frame & follow your Player using Cinemachine!level-resetting
Learn how to reset a scene in Unity back to its original state after the player has died, lost, or even won!ai-series-part-17
In this tutorial repository I show how to upgrade the AgentLinkMover script provided by Unity in the NavMesh Components repository to allow configuring Agent Move Method per NavMesh Area Typeai-series-part-10
Full project of the end state of the AI Series Part 10 video where we implement a flying enemy!ai-series-part-7
Full project of the end state of the AI Series Part 7 video where we add the ability to have Ranged enemies shoot projectiles with Rigidbody physicsai-series-part-15
Project for the AI Series Part 15 tutorial where we spawn NavMeshAgents at runtime on a Procedurally baked NavMesh that is baked only around the player in a large or procedurally generated world.ai-series-part-44
Learn how to make AI calculate an intercept path for a moving target.ai-series-part-5
Full project of the end state of the AI Series Part 5 video where we configure the NavMeshAgents with ScriptableObjectsunity-iap-2023
Learn how to set up Unity IAP for both Google Play and the Apple App Storellamacademy
ai-series-part-11
Project for the tutorial on how to implement basic finite state machines for your AI in Unity.ai-series-part-21
Tutorial repository for AI Series Part 21, which is Part 1 of a sub-series to implement enemy skills and abilities. In this repository we have the foundation for how to implement skills via ScriptableObjects and a single ability - a jump attackai-series-part-9
Full project of the end state of the AI Series Part 9 video where we dive deeper into ScriptableObjects and change to a Data-Oriented Design from our prefab-focused design.hdrp-decal-projector
Learn about the HDRP Decal Projector in this tutorial repository and video!ai-series-part-25
In this tutorial repository, I demonstrate how NavMeshModifiers and NavMeshModifierVolumes work with Cost Modifiers to control NavMeshAgent pathing. I also implement a simple script to slow down NavMeshAgents when they enter a more costly zone.ai-series-part-6
Full project of the end state of the AI Series Part 6 video where we add Attacking to NavMeshAgentsai-series-part-16
Project for the AI Series Part 16 tutorial where we link Pre-Baked NavMeshes on additively-loaded scenes. This is a common need when you have non-procedural worlds that are statically created, but you want to have a seamless experience as the player moves from one chapter to another that you've constructed via different scenesscriptable-objects-explained
In this tutorial respository you'll learn about a hugely powerful tool provided to us by Unity, ScriptableObjects. Many beginners in Unity (myself included!) don't understand what these are and just completely disregard them.ai-series-part-23
Tutorial repository for AI Series Part 23, which is Part 3 of a sub-series to implement enemy skills and abilities. In this repository we have extended the foundation from part 21 and 22 and implemented a new instant-cast ability - ice lanceemissive-animation
Learn how you can animate the elusive "Intensity" property on the color picker in this beginner friendly tutorial!ai-series-part-33
Learn how to combine NavMeshObstacles and NavMeshAgents on the same GameObject for NavMeshAgents that can carve the NavMesh when stationary. Moving NavMeshAgents cannot carve the NavMesh.navmesh-link-bug
Showcasing a bug in NavMeshComponents when having a unidirecitonal NavMeshLink and stacked NavMeshesLove Open Source and this site? Check out how you can help us