Skip to product information
Life Unity Textbook
Life Unity Textbook
Description
Book Introduction
Top-tier Unity game development course!
Completely revised to version 6!
[2021 Sejong Book Award for Outstanding Academic Books]


This book is a completely revised version of the 6th edition, with comprehensive function descriptions and menus revamped to match Unity version 6, which was released on October 17, 2024.
A Unity introductory book has been published, written by Youngho Lee, a Unity Evangelist at Unity Korea and famous for his professional Unity lectures, and six professional Unity instructors (Younghoon Lee, Taehwan Kim, Hyeonjin Kim, Wonseok Park, Hyeonsang Park, and Gwangwook Tak) with extensive experience in Unity development, as the representative of ARA XR Lab, a Unity lecture group.
Just as important books and movies in life are called 'life books' and 'life movies', this book, ambitiously prepared under the name of 'Life Unity Textbook', covers the differences between Unity 2019 and 2020 versions, explaining the basics of Unity, installation, C# grammar, and FPS (first-person shooter games).


Unity is a 3D and 2D game engine created by Danish developers Joachim Ante, Nicolas Francis, and David Helgason, and is an integrated authoring tool that supports the creation of interactive content such as 3D animation, architectural visualization, and augmented reality (AR)/virtual reality (VR).
Unity, which advocates the 'democratization of game development', supports 27 platforms including Windows, macOS, iOS, Android, PlayStation, Xbox, Nintendo Switch, and web browsers (WebGL), and the Unity editor supports Windows and macOS.
Because Unity has such a wide range of uses, it is preferred for employment training courses and in university game departments.
It is distributed in three versions: Personal, Plus, and Pro, and individuals can use the Personal version for free, so its base is quite wide.


This book is literally a standard textbook that teaches everything about Unity development, and in the future, example sources and lecture videos will be continuously uploaded to the author's cafe (cafe.naver.com/unrealunity) and GitHub (github.com/araxrlab/lifeunity) to make it easier for readers to access.
This text guides you on the path to becoming a true Unity expert by explaining practical source code and coding methods through various stages of Unity game development (prototype, alpha, beta type) starting from an introduction to Unity grammar.

  • You can preview some of the book's contents.
    Preview

index
Preface: Seven Authors' Prefaces
Profile About the Author

Chapter 1: Getting to Know Unity

1. Getting to know Unity
1.1 Development Methodology
1.1-1 Understanding Project Creation
1.1-2 job groups
→ Classification and understanding of occupational groups
1.1-3 How to Make a Lego Unity Assembly
→ Comparing LEGO and Unity creation methods

1.2 Installing Unity
1.2-1 Unity Membership Registration and Installation
→ Sign up for Unity membership
→ Download and install Unity Hub
→ Install Unity with Unity Hub

1.3 Unity Screen Configuration
1.3-1 Creating a New Project
1.3-2 Understanding Unity Screen Layout
1.3-2 Learn Unity's Basic Features
→ Creating basic shapes
→ Learn about screen movement in the scene window
→ Object Focus
→ Learn about the Transform tool
→ Learn about Vertex Snapping

1.4 Handling Objects
1.4-1 Making a Chair
→ Create a scene
→ Making the chair seat
→ Making a chair backrest
→ Making chair legs (1)
→ Making chair legs (2)
→ Making chair legs (3), (4)
1.4-2 Creating an Apartment Floor Plan
→ Making an apartment floor
→ Building an apartment balcony
→ Making a large room in an apartment
→ Making a small room in an apartment
→ Building an apartment bathroom
→ Building an apartment balcony
→ Blocking a hole in an apartment wall
→ Apartment floor plan completed

Chapter ㆍ 2 C# Script Coding

2 C# script coding
2.1 Coding Features
2.1-1 Linguistic features
2.1-2 Logical Features
2.1-3 Algorithm

2.2 Unity and C# Scripts
2.2-1 What is C#?
2.2-2 Preparing to Code in Unity
2.2-3 Structure of C# script

2.3 Learning basic grammar
2.3-1 Printing HelloWorld
2.3-2 Data types and variables
2.3-3 Conditional statement if
2.3-4 for loop
2.3-5 Function
→ Function implementation and calling
→ Implementing the Plus function
→ Local and global variables
2.3-6 Classes and Objects
→ Class
→ Object
2.3-7 Object-oriented features
→ Abstraction
→ Inheritance
→ Encapsulation
→ Polymorphism

2.4 Conclusion

Chapter 3: Creating a Shooting Game

3 Shooting Game Creation
3.1 Creating a prototype version
3.1-1 Project Creation and Environment Setup
→ Create a shooting game project
→ Setting up the production environment
3.1-2 Player Movement Production
→ Create a player GameObject
→ Create and assign a move script
→ Implementing a movement script
3.1-3 Bullet Movement Production
→ Create a bullet GameObject
→ Create and assign a move script
→ Implementing a movement script
3.1-4 Bullet Launcher Production
→ Create and assign a bullet firing script
→ Implementing a bullet firing script
3.1-5 Enemy Movement Production and Collision
→ Create an enemy GameObject
→ Create and assign a move script
→ Implementing a movement script
→ Collide with another object
3.1-6 Enemy Auto-Generation
→ Make Enemy into Prefab
→ Create an EnemyManager game object
→ Create and assign an EnemyManager script
→ Implementing enemy creation script
→ Randomly generate enemy spawn time
3.1-7 Enemy AI (Finding Player Direction)
→ 30% chance to face the player, the remaining chance to face down
→ I want to decide on a direction when I'm born and continue to move in that direction.
3.1-8 Collision Detection with DestroyZone
→ Create an area detection GameObject
→ Create and assign a region detection script
→ Implementing area detection script

3.2 Alpha type version
3.2-1 Upgrade players to the alpha version
→ Download assets to use from the Asset Store
→ Import assets into the project
→ Apply the asset to the project
3.2-2 Upgrade to Enemy Alpha version
→ Apply the corresponding asset to the enemy
3.2-3 Upgrade Bullet to Alpha Version
→ Download assets to use from the Asset Store
→ Import assets into your project
→ Apply the corresponding asset to the bullet
3.2-4 Added explosion effect
→ Download assets to use from the Asset Store
→ Import assets into your project
→ Generate an explosion effect when objects collide
3.2-5 Add background
→ Download assets to use from the Asset Store
→ Import assets into your project
→ Add a scrolling background
→ Creating background game objects
3.2-6 Added sound
3.2-7 points added
→ When you want to display the current score and high score UI
→ When you want to display the current score every time you kill an enemy
→ When you want to display the highest score
→ When you want to save and load values

3.3 Beta type version
3.3.1 Creating a Manager with the Singleton Design Pattern
3.3-2 Memory Management Using Object Pool
→ The concept of object pool
→ Creating a bullet object pool
→ Create a pool of enemy objects
→ Creating an object pool using a list
→ Replace with enemy object full list
3.3-3 Responding to Mobile Joystick Input
→ Download and import the plugin from the Asset Store
→ Responding to mobile joystick input
3.3-4 PC and Mobile Builds
→ Build PC environment
→ Build a mobile environment

Chapter 4: Creating an FPS Game

4.1 Prototype Version
4.1-1 Character Rotation
4.1-2 Character Movement
4.1-3 Jump

4.2 Weapon Crafting
4.2-1 Throwing Weapons
4.2-2 Launcher Weapons

4.3 Enemy Production
4.3-1 FSM design
4.3-2 Implementing the state function

4.4 UI Creation
4.4-1 Health Bar UI
4.4-2 Hit Effect UI 415
4.4-3 Creating a Game Manager

4.5 Modeling Replacement and Animation
4.5-1 Enemy modeling replacement
4.5-2 Enemy Animation
4.5-3 Player Model Replacement
4.5-4 Player Animation

4.6 Finding Your Way
4.6-1 Pathfinding Algorithm
4.6-2 Applying Navigation Functions

4.7 Added weapon mod and applied effects
4.7-1 Added sniper mode
4.7-2 Applying weapon effects

4.8 Creating an Options UI
4.8-1 Configuring the Option UI Layout
4.8-2 Implementing optional features

4.9 Login Screen and Asynchronous Scene Loading
4.9-1 Login Screen Configuration
4.9-2 Configuring the login function
4.9-3 Asynchronous Scene Loading

4.10 UI Design Layout
4.10-1 Summary of Unity UI System Concepts
→Unity UI system structure
→Canvas properties
→ Anchor and Pivot
→ Preparation for UI work
4.10-2 Crosshair
4.10-3 Player Health Bar
4.10-4 Enemy Health Bar
4.10-5 Weapon Change UI

4.11 Graphics Customization
4.11-1 Materials
→ PBR rendering system
→ Albedo and Diffuse
→ PBR's metal property parameter, Metallic
→ PBR's smoothness parameter, Smoothness
→ Normal map for details
→ Self-luminous effect, emission
4.11-2 Particle System
→ Creating a firework effect
→ Creating smoke effects
4.11-3 Light Mapping
→ Static processing → Light
→ Skybox Setting
→ Lightmapping Settings
→ Lightmap options
→ Utilization of probes
4.11-4 Post Processing
→ Download from package manager → Set post-processing → Anti-aliasing effect
→ Ambient Occlusion effect
→ Bloom effect
→ Applying the Depth of Field effect

4.11-5 Cinemachine
→ Understanding the structure of Cinemachine → Playable Director component and Timeline asset
→ Camera and CinemachineBrain
→ Basic settings for Virtual Camera
→ Virtual camera application
→ Animation Track
→ Activation Track
→ Control through script

4.11-6 Precautions when using animation (MIXAMO)

Appendix Using the Asset Store and Package Manager

→ Asset Store Changes
→ Using the package manager

Detailed image
Detailed Image 1

Publisher's Review
Author's Note

Before I encountered the engine called Unity, I remember struggling to create a convenient engine with many features.
Looking back, I think we were working on a lot of technologies that Unity already supports, but that users don't need to know about.
These days, it is necessary to develop content-creation-focused technologies for the parts visible to users.
Therefore, it is important to know the parts that you really need well enough to use them when you need them.


When you look at coding as 100% of the whole, the necessary part is about 30%, which takes care of most of the development.
It's important to know what you really need so you can use it when you need it.


Although this book is a technical book, the key word that runs throughout the book is 'diligence.'
I believe that the process of establishing goals, breaking them down into detailed items, and executing them, including implementing content, is intertwined with our lives.
I hope this book will be of great help to those of you who dream of a better future.


- From the preface by CEO Lee Young-ho
GOODS SPECIFICS
- Date of issue: March 12, 2025
- Page count, weight, size: 736 pages | 1,396g | 188*245*33mm
- ISBN13: 9788931556377
- ISBN10: 8931556373

You may also like

카테고리