ABSTRACT

This second edition of C# Game Programming Cookbook for Unity 3D expounds upon the first with more details and techniques. With a fresh array of chapters, updated C# code and examples, Jeff W. Murray’s book will help the reader understand structured game development in Unity unlike ever before.

New to this edition is a step-by-step tutorial for building a 2D infinite runner game from the framework and scripts included in the book. The book contains a flexible and reusable framework in C# suitable for all game types. From game state handling to audio mixers to asynchronous scene loading, the focus of this book is building a reusable structure to take care of many of the most used systems.

Improve your game's sound in a dedicated audio chapter covering topics such as audio mixers, fading, and audio ducking effects, or dissect a fully featured racing game with car physics, lap counting, artificial intelligence steering behaviors, and game management. Use this book to guide your way through all the required code and framework to build a multi-level arena blaster game.

Features

  • Focuses on programming, structure, and an industry-level, C#-based framework
  • Extensive breakdowns of all the important classes
  • Example projects illustrate and break down common and important Unity C# programming concepts, such as coroutines, singletons, static variables, inheritance, and scriptable objects.
  • Three fully playable example games with source code: a 2D infinite runner, an arena blaster, and an isometric racing game
  • The script library includes a base Game Manager, timed and proximity spawning, save profile manager, weapons control, artificial intelligence controllers (path following, target chasing and line-of-sight patrolling behaviors), user interface Canvas management and fading, car physics controllers, and more.

Code and screenshots have been updated with the latest versions of Unity. These updates will help illustrate how to create 2D games and 3D games based on the most up-to-date methods and techniques. Experienced C# programmers will discover ways to structure Unity projects for reusability and scalability. The concepts offered within the book are instrumental to mastering C# and Unity.

In his game career spanning more than 20 years, Jeff W. Murray has worked with some of the world's largest brands as a Game Designer, Programmer, and Director. A Unity user for over 14 years, he now works as a consultant and freelancer between developing his own VR games and experiments with Unity.

chapter 1|8 pages

Making Games in a Modular Way

chapter 2|39 pages

Making a 2D Infinite Runner Game

chapter 3|11 pages

Building the Core Game Framework

chapter 4|13 pages

Player Structure

chapter 5|26 pages

Recipes Common Components

chapter 6|22 pages

Player Movement Controllers

chapter 7|13 pages

Weapon Systems

chapter 8|8 pages

Waypoints Manager

chapter 9|9 pages

Recipe Sound and Audio

chapter 10|32 pages

AI Manager

chapter 11|14 pages

Menus and User Interface

chapter 12|10 pages

Saving and Loading Profiles

chapter 13|7 pages

Loading Level Scenes

chapter 14|43 pages

Racing Game

chapter 15|19 pages

Blaster Game Example