Unity from Zero to Proficiency (intermediate)
What you'll learn
- Code confidently in C# for Unity.
- Understand common coding mistakes and errors in Unity, and how to avoid them easily.
- Use Rigidbody physics to propel projectiles in the air.
- Instantiate, use and control Rigidbody objects from your script as well as explosions.
- Create a simple weapon management system.
- Create weapons (e.g., a gun and a grenade launcher), manage the collection of ammunition, and also implement a user interface to keep track of ammunition.
- Use Mecanim and NavMesh navigation to control an animated NPC that detects, follows, or shoot at the player.
- Create a fully functional game level with armed and intelligent NPCs looking for and attacking the player.
- Use Navmesh navigation so that the NPCs can find their way to the player.
- Use Mecanim to animate 3D characters.
- Control the animation and states of each NPC through your code.
- Create and use prefabs to speed-up your game creation process.
- Create and update a user interface.
- Create NPCs that can detect the player through vision.
Requirements
- This course assumes no prior knowledge on the part of the reader
Description
In this course, you will become proficient in C# and some of Unity's core features, by creating a First person Shooter that includes a 3D environment, intelligent Non-Player Characters, and special effects.
In the first section of the course entitled "Adding Simple AI, ", you will use C# for the creation of a simple launcher. You will learn to instantiate, use and control Rigidbody objects from your script as well as creating explosions.
In the second section entitled "Creating and Managing Weapons ", you will learn to create and manage weapons using a simple inventory system. You will create an automatic gun and a grenade launcher, manage the collection of ammunition, and also implement a user interface to keep track of ammunition. In addition, you will also learn how to include these as prefabs, so that they can be reused in other levels, and to save you some coding too.
In the third section entitled "Using Finite State Machines", you will get an in-depth explanation of how to create and use Finite State Machines (FSM) in Unity. You will create your FSM and use it to control the behavior and movement of an animated Non-Player Character. You will also learn how to employ NavMesh navigation so that your animated NPCs can navigate easily within the scene to either follow the player or go to a specific location. Finally, you will learn how to optimize your assets so that they can be reused seamlessly in other scenes with no or little changes.
The last section called "Putting it All Together", makes it possible to combine the skills you have acquired in the previous chapters, and to reuse and combine all the objects that you have created so far (e.g., NPCs, weapons, inventory systems, ammunition, etc.), and the concepts (e.g., FSM, NavMesh, RigidBody components, User Interface, etc.) that you have mastered, to create a fully functional level.
After completing this course, you will become proficient in the following areas:
C# programming
Rigidbody Physics.
Objects' Instantiation.
Animating 3D characters.
Artificial Intelligence for Non-Player Characters
Mecanim and Finite-State Machines.
Prefabs Creation.
Inventory System.
RayCasting.
Collision Detection.
User Interface Creation.
Persistent Objects.
Who this course is for:
- You are a beginners in Unity or programming.
- You would like to become proficient in the core functionalities offered by Unity.
- You would like to teach students or help your child to understand how to create games, using coding in C#
- You would like to start creating games.
- Although you may have had some prior exposure to Unity, you would like to delve more into Unity and understand its core functionalities in more detail.
Instructor
Patrick Felicia, PhD, is a lecturer, and researcher at Waterford Institute of Technology, where he teaches and supervises undergraduate and postgraduate students. He obtained his MSc in Multimedia Technology in 2003 and PhD in Computer Science in 2009 from University College Cork, Ireland.
Patrick has a keen interest in the design and development of engaging educational multimedia-based application for secondary and third level. He is specialized in Game-Based Learning, Multimedia, Educational Psychology, and Instructional Design. he has been teaching Game Development (high-level 2D/3D Game Development) at both graduate and post-graduate levels for the past 8 years using game engines (Unity3D or Game Maker), 3D development libraries (e.g., Java3D or X3D).
He is Editor-In-Chief of the International Journal of Game-Based Learning (IJGBL) and has also served on program committees for international Game-Based Learning and Technology-Enhanced Learning conferences and journals.
Patrick has published more than 10 books on Unity Game Development, C# and JavaScript, including the series "Unity from Zero To Proficiency"