𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Game Development with Unity for .NET Developers: The ultimate guide to creating games with Unity and Microsoft Game Stack

✍ Scribed by Jiadong Chen


Publisher
Packt Publishing
Year
2022
Tongue
English
Leaves
584
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Get up and running with Unity with the help of expert guidance for addressing the performance issues encountered in Unity development

Key Features

  • Discover solutions to common problems faced by .NET developers while creating games in Unity
  • Explore tips, tricks, best practices, and advanced Unity coding techniques for creating impressive games
  • Understand how to program with C# code using Unity's built-in modules and add engaging effects

Book Description

Understand what makes Unity the world's most widely used real-time 3D development platform and explore its powerful features for creating 3D and 2D games, as well as the Unity game engine and the Microsoft Game Dev, including the Microsoft Azure Cloud and Microsoft Azure PlayFab services, to create games.

You will start by getting acquainted with the Unity editor and the basic concepts of Unity script programming with C#. You'll then learn how to use C# code to work with Unity's built-in modules, such as UI, animation, physics, video, and audio, and understand how to develop a game with Unity and C#. As you progress through the chapters, you'll cover advanced topics such as the math involved in computer graphics and how to create a custom render pipeline in Unity with the new Scriptable Render Pipeline, all while optimizing performance in Unity. Along the way, you'll be introduced to Microsoft Game Dev, Azure services, and Azure PlayFab, and using the Unity3D PlayFab SDK to access the PlayFab API.

By the end of this Unity book, you'll have become familiar with the Unity engine and be ready to develop your own games while also addressing the performance issues that you could encounter in the development process.

What you will learn

  • Get to grips with using the Unity Editor
  • Use C# scripts to work with Unity's built-in modules such as UI, animation, physics, video, and audio
  • Create a custom render pipeline in Unity Engine with the latest Scriptable Render Pipeline
  • Write high-performance multithreaded code with the latest DOTS in Unity
  • Discover the Azure PlayFab Client library for C# in Unity
  • Understand how the asset management and serialization system within Unity really works
  • Explore some of the most commonly used profiler tools in Unity development

Who this book is for

The book is for developers with intermediate .NET and C# programming experience who are interested in learning game development with Unity. Basic experience in C# programming is assumed.

Table of Contents

  1. Hello Unity
  2. Scripting Concepts in Unity
  3. Developing UI with the Unity UI System
  4. Creating Animations with the Unity Animation System
  5. Working with the Unity Physics System
  6. Integrating Audio and Video in a Unity Project
  7. Understanding the Mathematics of Computer Graphics in Unity
  8. The Scriptable Render Pipeline in Unity
  9. Using Data-Oriented Technology Stack in Unity
  10. Serialization System and Assets Management In Unity and Azure
  11. Working with Microsoft Game Dev, Azure Cloud, PlayFab and Unity

✦ Table of Contents


Cover
Title page
Copyright and Credits
Foreword
Contributors
Table of Contents
Preface
Part 1: Basic Concepts of Unity and Script Programming in Unity
Chapter 1: Hello Unity
Technical requirements
Getting started with the Unity Editor
Choosing the right Unity release for you
Choosing the right subscription plan for you
Downloading and installing the Unity Editor
Exploring the Unity Editor
Working with different features in Unity
What is a game engine?
Features in Unity
.NET/C# and scripting in Unity
.NET profiles in Unity
Scripting backends in Unity
Building Unity games with Visual Studio
Summary
Chapter 2: Scripting Concepts in Unity
Technical requirements
Understanding the concepts of scripting in Unity
GameObject-components architecture
Common classes in Unity
Prefabs in Unity
Special folders in Unity
The life cycle of a script instance
Initialization
Update
Rendering
Creating a script and using it as a component
How to create a new script in Unity
Adding a script as a component to a GameObject in the Scene
Accessing a component attached to a GameObject
Packages and the Unity Package Manager
Unity Package Manager
Package
Summary
Part 2: Using C# Scripts to Work with Unity's Built-In Modules
Chapter 3: Developing UI with the Unity UI System
C# scripts and common UI components in Unity
Canvas
Image
Text
Selectable UI components
C# scripts and the UI Event System in Unity
Input Modules
The new Input System package
The Model-View-ViewModel (MVVM) pattern and the UI
Performance tips to increase performance of the UI
The Unity Profiler
Multiple canvases
Use Sprite Atlas
Summary
Chapter 4: Creating Animations with the Unity Animation System
Technical requirements
Exploring the Unity animation system's concepts
Animation Clips
Animator Controller
Avatar
Animator component
Implementing 3D animation in Unity
Importing animation assets
Configuring the Animator Controller
Implementing 2D animation in Unity
Improving the performance of Unity's animation system
The Unity Profiler
Animator's Culling Mode
Anim. Compression
Summary
Chapter 5: Working with the Unity Physics System
Technical requirements
Concepts in the Unity Physics system
Collider
Rigidbody
Trigger
Scripting with the Physics system
Collision methods
Trigger methods
Methods of Rigidbody
Creating a simple game based on the Physics system
Increasing the performance of the Physics system
The Unity Profiler
Increasing the fixed timestep
Reducing unnecessary layer-based collision detections
Summary
Chapter 6: Integrating Audio and Video in a Unity Project
Technical requirements
Concepts in Unity's audio system and video system
Audio clips
Audio Sources
Audio Listener
Video clips
Video Player
Scripting with audio and video
AudioSource.Play
AudioSource.Pause
AudioSource.Stop
VideoPlayer.clip
VideoPlayer.url
VideoPlayer.Play
VideoPlayer.frame and VideoPlayer.frameCount
Things to note when using Unity to develop web applications
URL
Frame rate
Increasing the performance of the audio system
The Unity Profiler
Using Force To Mono to save memory
Summary
Part 3: Advanced Script Programming in Unity
Chapter 7: Understanding the Mathematics of Computer Graphics in Unity
Getting started with coordinate systems
Understanding left-handed and right-handed coordinate systems
Local space
World space
Screen space
Working with vectors
Vector addition
How to subtract vectors
Dot product
Cross product
Working with the transformation matrix
Translation matrix
Rotation matrix
Scaling matrix
Working with quaternions
Creating rotations
Manipulating rotations
Working with Euler angles
Summary
Chapter 8: The Scriptable Render Pipeline in Unity
An introduction to the Scriptable Render Pipeline
The Fontainebleau Demo
The Spaceship Demo
The BoatAttack Demo
The Heretic: Digital Human
The Heretic: VFX Character
Universal Render Pipeline
The High Definition Render Pipeline
Working with Unity's Universal Render Pipeline
Exploring the sample scene
The Universal Render Pipeline asset
The Volume framework and post-processing
The Universal Render Pipeline shaders and materials
Commonly used shaders
Upgrading project materials to Universal Render Pipeline materials
Creating a shader and a shader graph
Increasing performance of the Universal Render Pipeline
The Frame Debugger
The SRP Batcher
Summary
Chapter 9: The Data-Oriented Technology Stack in Unity
Technical requirements
DOTS overview
Object-oriented design pattern versus DOTS
C# Job System
ECS
The Burst compiler
Multithreading and the C# Job System in Unity
Coroutines
async/await
Working with the C# Job System
Working with ECS in Unity
Using C# and the Burst compiler
Summary
Chapter 10: Serialization System and Assets Management in Unity and Azure
Technical requirements
Serialization system in Unity
What is Unity's serialization system?
The assets workflow in Unity
GUID and File ID
Meta files
The AssetPostprocessor class and the import pipeline
The Library folder
Introducing the special folders in Unity
Resources folder
StreamingAssets folder
Azure Blob storage with Unity's Addressable Asset system
Setting up an Azure Blob storage service
Installing the Addressable Assets system package
Building addressable content
Deploying content to the Azure Cloud
Loading addressable content from the Azure Cloud
Summary
Chapter 11: Working with Microsoft Game Dev, Azure Cloud, PlayFab, and Unity
Technical requirementsΒ Β 
Introducing Microsoft Game Dev, Microsoft Azure Cloud, and Azure PlayFab
Microsoft Game Dev
Microsoft Azure Cloud
Azure PlayFab
Setting up Azure PlayFab for a Unity project
Creating a new Azure PlayFab account
Setting up a game studio and a game title in Azure PlayFab
Setting up the Azure PlayFab SDK in the Unity project
Signing up and logging in players using Azure PlayFab in Unity
Signing up players in Azure PlayFab
Logging in players in Azure PlayFab
Implementing a leaderboard using Azure PlayFab in Unity
Setting up a leaderboard in Azure PlayFab
Updating the score of a player from Unity using the Azure PlayFab API
Loading the leaderboard data from Azure PlayFab in Unity
Summary
Index
Other Books You May Enjoy


πŸ“œ SIMILAR VOLUMES


Game Development with Unity for .NET Dev
✍ Jiadong Chen πŸ“‚ Library πŸ“… 2022 πŸ› Packt Publishing 🌐 English

<p><span>Get up and running with Unity with the help of expert guidance for addressing the performance issues encountered in Unity development</span></p><h4><span>Key Features</span></h4><ul><li><span><span>Discover solutions to common problems faced by .NET developers while creating games in Unity<