
Learn level management in Unity by building a scalable front end menu system, connecting UI to the back end, and implementing save and load data with json.
Prepare for level management in Unity by meeting prerequisites in Unity and c sharp, object oriented programming, and familiarity with the Unity Engine API.
Master coding and naming conventions for Unity scripts by following Microsoft guidance, using Pascal case for classes and methods, camel case for variables, and serialize field with public property.
Project updates to Unity 2019.
Download the Sample Game Project from the link in the Resources.
In this video, we review syntax for the basic loading of Unity Scenes.
Challenge yourself to extend the Scene loading methods. Create methods to reload the current Scene and load the next Scene automatically.
Explore designing a flexible Unity menu system with splash screens, main menus, options, pause and end screens, using a flow diagram and a reusable menu manager.
Create and lay out a Unity main menu using separate canvases, header and body panels, a background image, and a canvas scaler for scale with screen size.
Create a functional main menu layout in Unity by building a button group with a vertical layout, sizing, and labeled play, settings, credits, and quick buttons.
Adopt scripting to automate Unity menu creation with prefabs, replacing manual button wiring, and manage runtime instantiation of menus via a dedicated menu and menu manager system.
Wire up prefab-based menus in Unity by wiring the play, settings, and credits buttons to on-click methods. Manage UI with a stack to open, close, and navigate back.
Implement on settings pressed and on credits pressed in the Unity menu, locate instantiated menus with transform find, and open them using the menu manager to transition screens.
learn how generics create a generic menu base class in Unity, reducing duplicate singleton code across main, settings, credits menus, via the curiously recurring template pattern.
Create a pause menu in Unity using the main menu prefab, with resume, restart, main menu, and quit actions. Pause gameplay by setting Time.timeScale to zero and resume with one.
Implement a pause menu in level management by deriving from the generic menu base, wiring resume, restart, main menu, and quit actions with time scale and scene management.
Create a game menu prefab, wire a pause button, and use don't destroy on load to persist menus across level loads in Unity.
Refactor and streamline Unity level menus by introducing a static open method, fixing scene enablement, and consolidating menu access through a level-management namespace to improve readability and reliability.
Learn how to implement a win screen that appears on level completion, with next level, restart, and main menu options, using a windscreen prefab and a level loader.
Create a reusable screen fader in Unity to fade UI elements, and implement a splash screen with a full-screen background, logo, and loading text that fades in and out.
Declare a public static play transition method to instantiate a transition fader prefab from anywhere. Trigger it from the main menu on play to fade into level one.
Learn how to save and load player settings in Unity by wiring three sliders for master, SFX, and music volume, and persisting their values with the built-in player prefs system.
Learn to save and load player preferences in Unity with the built in player press, storing int, float, or string values by key and persisting data across sessions.
Protects save data with a cryptographic hash using SHA-256 to create a one-way digest, deterring edits to JSON save files in the persistent data path.
Learn to secure Unity save data by adding a sha-256 hash field and a hex string helper, then verify integrity on load to detect tampering.
Let's create a new menu screen that allows the user to select specific levels in the game, instead of forcing us to start at level 1.
Our first new script describes the details of each level's mission, including its name, description, unique id and any decorative elements we'll use in the menu.
Let's create a list of these Missions and store them in a ScriptableObject, a useful container for storing data in the Unity project.
Here we create a new Canvas and UI Prefab and mock up a simple layout for our Level Selector.
Here we make a simple class that can select a single Mission from the MissionList, always staying within bounds of the list.
We will create a custom LevelSelectMenu component to connect the UI with the data in our ScriptableObject. This will complete our basic level selector.
In this video, we link the LevelSelectMenu to the MainMenu and make the Play button work!
Check out these other offerings from GameAcademy.school!
Are you ready to level up your game dev skills?
In this course, we will:
start with simple demo Unity project and add a front-end menu system
learn techniques for building reusable UI components and transitions in-between Unity scenes
learn the fundamentals of saving and loading persistent data locally from your application
create C# scripts line-by-line and learn how to architect game components cleanly and logically
Level up your Unity skills!
learn the Singleton design pattern
use statics and Generics to avoid repetitious code
explore PlayerPrefs and JsonUtility to save and load data
When you complete the class, you should have a full set of source code to build your own menu system and to save/load persistent data!
Learn from 40+ videos broken into small 10-15 minute lessons. Power through 6 hours of lectures and save weeks of coding!
Join the ever-growing ranks of our class and see what you can build today!
Note: the videos were originally recorded with Unity 2017.3 but the project files have been upgraded to version 2019.3. You should be able to follow along with the lectures using the latest version of Unity.