Master a series of performance-enhancing coding techniques and methods that help them improve the performance of their Unity3D applications
About This BookDiscover features and techniques to optimize Unity Engine's CPU cycles, memory usage, and the GPU throughput of any applicationExplore multiple techniques to solve performance issues with your VR projectsLearn the best practices for project organization to save time through an improved workflowWho This Book Is ForThis book is intended for intermediate and advanced Unity developers who have experience with most of Unity's feature-set, and who want to maximize the performance of their game. Familiarity with the C# language will be needed.
What You Will LearnUse the Unity Profiler to find bottlenecks anywhere in your application, and discover how to resolve themImplement best practices for C# scripting to avoid common pitfallsDevelop a solid understanding of the rendering pipeline, and maximize its performance by reducing draw calls and avoiding fill rate bottlenecksEnhance shaders in a way that is accessible to most developers, optimizing them through subtle yet effective performance tweaksKeep your scenes as dynamic as possible by making the most of the Physics engineOrganize, filter, and compress your art assets to maximize performance while maintaining high qualityDiscover different kinds of performance problems that are critical for VR projects and how to tackle themUse the Mono Framework and C# to implement low-level enhancements that maximize memory usage and avoid garbage collectionGet to know the best practices for project organization to save time through an improved workflowIn DetailUnity is an awesome game development engine. Through its massive feature-set and ease-of-use, Unity helps put some of the best processing and rendering technology in the hands of hobbyists and professionals alike.
This book shows you how to make your games fly with the recent version of Unity 2017, and demonstrates that high performance does not need to be limited to games with the biggest teams and budgets.
Since nothing turns gamers away from a game faster than a poor user-experience, the book starts by explaining how to use the Unity Profiler to detect problems. You will learn how to use stopwatches, timers and logging methods to diagnose the problem. You will then explore techniques to improve performance through better programming practices.
Moving on, you will then learn about Unity's built-in batching processes; when they can be used to improve performance, and their limitations. Next, you will import your art assets using minimal space, CPU and memory at runtime, and discover some underused features and approaches for managing asset data. You will also improve graphics, particle system and shader performance with a series of tips and tricks to make the most of GPU parallel processing.
You will then delve into the fundamental layers of the Unity3D engine to discuss some issues that may be difficult to understand without a strong knowledge of its inner-workings. The book also introduces you to the critical performance problems for VR projects and how to tackle them.
By the end of the book, you will have learned to improve the development workflow by properly organizing assets and ways to instantiate assets as quickly and waste-free as possible via object pooling.
Style and approachThis practical book will help readers understand the essentials of the Unity3D engine and how to build games while improving the performance of their applications.