Welcome to Programming for Level Design, the second course in Unity's Gameplay Programming Specialization! This course is exam preparation for Unity's Expert Gameplay Programmer Certification Exam. This course will challenge you with a series of realistic programming problems in Unity video-game projects, inspired by one or more of the topics covered in the Expert Gameplay Programmer Exam. Throughout this course, you will work on a 3D “Dual-Stick Survivor” game project. This will help you practice programming for level design, including configuring GameObject physics, spawning Prefabs, designing level logic and behavior, scripting animation systems and events, and working with in-game cinematics. This is an advanced-level course, intended for industry game developers or very experienced Unity enthusiasts who are looking to “level-up” their gameplay programming and implementation strategies. To succeed in this courses, you should have at least 2-3 years of experience developing games with Unity. You should be familiar with the full-game lifecycle (working from early concept to launch), creating and working with Prefabs, understanding game asset and animation pipelines, and have some experience with Unity Services. You should also have advanced programming skills, particularly in the C# language.