
Learn to build a monetised mobile game with Unity: set up for mobile, implement input, movement, animations, scoring, saving/loading, procedural levels, menus, ads, and a finished app for App Store.
Set up a Unity mobile project, switch to iOS or Android, open the main scene, adjust the camera aspect ratio, and build for a device, with a scripting primer.
Explore how Unity scripts derive from monobehaviour to run start and update, log to the console, and define and call custom methods.
Explore how Unity uses public and private variables—int, string, bool, and float—to store car speed and bounds, with if statements that reset the car when out of bounds.
Create a new C# script in Unity, declare a public boolean, log its value with Debug.Log, run, and modify it to observe console output toward a working prototype.
Create organized folders for materials and scripts, build grass and water materials, apply to a cube, color with the color wheel, and set up a testing plane for ball rolling.
Create a 3-D sphere named player, assign a material, place it on the ground, then attach a Rigidbody and a script to move forward via velocity and delta time.
Implement left-right and forward movement in Unity by exposing speed variables, reading horizontal input, and smoothly moving the player with Vector3.Lerp while clamping the position to defined bounds.
Implement mobile controls in Unity with update if statement that maps touch input to a position from the main camera and moves the player, then test on Android and iOS.
Learn to implement a basic camera follow in Unity with a late update, smooth lerp toward the player using Vector3 and transform, with optional Cinema Machine support.
Learn to access the camera in a Unity script, calculate the distance between the player and the camera, and expose a public variable adjustable in the inspector.
Enhance the level by adjusting ground size and adding water, test in play mode, and introduce prefabs to explain their function before creating enemies or obstacles.
Learn how prefabs in Unity bundle the elements an object needs and enable you to instantiate or spawn them, including mesh renderer and material settings, in a triangle example.
Create a Unity score script using an integer, increment on trigger enter when the player hits a tagged 'score up' object, and log the score for debugging.
Create a Text Mesh Pro UI element, generate a font atlas, and wire a script to display the score by converting the numeric value to text in play.
Explore procedural level generation by using randomness constrained by rule sets, as demonstrated with examples like Tetris shapes and prefab triangles, to shape endless levels and distinct game feel.
Implement object spawning in Unity by creating a triangle array and a Vector3 spawn position. Calculate distance to horizon to trigger spawning and instantiate triangle prefabs for procedural level generation.
Master randomising object spawning in a Unity game by using random range with the triangles prefab length to instantiate a random triangle, enabling procedural level generation and varied gameplay.
Speed up the player, apply the curved world shader to ground textures, and set global shader parameters with an awake script for a polished, skybox-enhanced look.
Discover how to implement infinite level generation in Unity by using a trigger zone to move the level forward, creating a seamless endless world while managing performance and memory.
Implement a destroy script that finds the player by tag and destroys any prefab behind the player when its z position is 15 units lower.
Add sound effects by dragging a theme song into the audio clip and playing score-up and damage sounds on collisions, then replace mesh colliders with box colliders and enable isTrigger.
Set up the basic in-game menu and pause UI, drag and drop menu items, configure the in-game score display, and adjust button visuals for upcoming functionality.
Design and assemble the main and pause menus in Unity, switching off in-game UI and building play, restart, and high-score panels with logo art.
Define public game objects for menus and player, freeze the player's movement with rigid body constraints, and toggle UIs with setActive. Wire scene manager references; pressing play currently does nothing.
Implement a start game flow activated by the menu play button, using a configurable wait time and a public play button method to update menus and reset player constraints.
Implement pause and play controls in the Unity game, wiring on-click events and a has game started flag to delay resuming by one second after pause, then test functionality.
Develop and test a game over menu in Unity by wiring a show ad to grant an extra life, and implement a restart game flow with scene management.
Save and load the high score with player prefs, updating it when a new score beats the old one. Use start and update logic to persist and display high score.
Create and refine menu UI animations by recording keyframes for the play button, logo, and left and right balls, adjust curves for smooth motion, and preview interactions.
Recap core Unity basics, including installing Unity, mobile setup, variables, materials, and player movement. Review saving and loading, procedural levels, shaders, audio, menus, animations, and ad-based monetization with future-feature ideas.
Enable Unity ads in the services tab, integrate QuickStart code, and implement a one-time rewarded ad flow that disables the button after viewing, with test mode for development.
Implement Unity Ads functionality by integrating a rewarded ad, initializing Unity Ads, and using a switch to handle finished or failed results and update coins.
Design a pulsing ad button in Unity that activates when available, disables when not, and pairs with game over and restart button animations, prepping for production on iOS and Android.
Upgrade the player model in Unity by swapping the sphere for a two-material model, adjust scale, assign materials, and implement rotation and movement with a rigidbody and a player script.
Experiment with design decisions to add conflicts, coins, power-ups, and ramping speed in the Unity game, expanding player choices and replayability for a monetised mobile title.
Review export settings by testing the game in the inspector, verifying logs, and preparing Android and iOS builds via Xcode or Android Studio, including icons and orientation.
Congratulate learners on finishing the course and invite them to share a game or code inspired by this tutorial. Check out YouTube dot com slash let's make a game together.
In 2013 Dong Nguyen spent 2-3 days making a simple mobile game called Flappy Bird which went on to earn $50,000 a day in ad-sense revenue. In the last half of 2018, it's not uncommon for a single mobile game to pull in over 1 million dollars a DAY in micro-transactions and ad-sense revenue.
In this course, we will be be making a simple but addictive mobile game, that we will monetise with ads in only 4 hours. We will cover;
Installing and Using Unity
Mobile Setup
Variables & Functions
Materials, 3D Models
Player Movement
Mobile Input
Camera Movement
Adjusting Player Models
Project Management
Prefabricated Objects
Grouping Prefabs
Score System
Procedural Level Generation
Object Spawning
Randomised Game Design
Curved World Shader Implementation
Object Memory Management
Menu Systems, Menu Layouts, Menu Animations
Pause Menu
Saving & Loading Data
Unity Ads
Monetisation Design Principles.