
Learn mobile game optimization in Unity by applying profiling, mobile-specific settings, and enemy pooling to deliver smooth endless-wave shooting gameplay at 30 fps on Android and iOS devices.
Download Unity from unity.com and install Unity Hub to manage multiple versions. Select the latest official release with Android build support and required tools, then add Android and iOS modules.
Switch the project to Android by selecting Android in build settings, configure the Android SDK, Gradle, and external tools such as Visual Studio, then reimport basic elements for mobile export.
Optimize mobile performance by targeting Android with lower landscape resolutions and medium quality, disable or tune effects and v-sync, and use Unity's simulator to test across devices.
Sign in to the Unity Asset Store, import free assets like the joystick pack and stylized dungeon, and optimize textures as UI sprites for Android via the package manager.
Optimize a mobile game scene in Unity by using atlas textures and low-poly quads, tiling floor textures, and a forward rendering path for better performance.
Lay out the scene with prefabs, placing gravestones and trees for camera visibility. Use objects, batching, and mobile shaders to reduce draw calls, and use the profiler to analyze rendering.
Use the profiler to analyze frame timing and draw calls, then boost mobile performance by static batching and removing unnecessary components to reduce memory usage.
Construct a dungeon wall perimeter by duplicating and snapping wall prefabs, assign a mobile shader moon material with alpha blended texture for a night sky, and enable static batching.
Implement a fixed joystick UI to drive the main camera via a script, mapping vertical and horizontal input to rotation with time delta, and tackle diagonal tilting.
Create an empty parent object to isolate the main camera movement to one axis, assign it in the script, and test in play mode to prevent conflicting axes.
Explore frames per second in Unity mobile games, set a target frame rate of 60, and display an on-screen fps counter while staying above 30fps.
Learn to bake lighting in Unity by placing point lights, adjusting color and intensity, and generating light maps to optimize mobile performance with no real-time lights.
Add player arms, align them with the camera, and create idle and shoot animations with on-screen triggers; optimize by using mobile shaders and low-poly models.
Add a zombie enemy from a prefab, configure its animations and materials, attach an animator controller, and implement a move-towards script using a target in front of the player.
Add more enemies by introducing bat and ghost characters with animated controllers and die transitions, then optimize movement by centralizing speed calculations in the main script.
Optimize zombie AI in Unity by enabling dynamic batching for low-poly zombies, baking a navmesh to avoid tombstones, and using a navmesh agent to move toward the player.
Learn to implement raycasting from the crosshairs to detect hits, compare objects by tag, ignore layers with a layer mask, trigger death animations, and optimize with cached wait times.
Learn to implement shooting to kill enemies in a Unity mobile game, handling bat and ghost deaths with a delay or animation and completing the kill code.
Add and manage bat and ghost death particles in Unity by tagging ghosts, sizing colliders, and triggering coroutines; optimize with shaders and auto destruct while repositioning effects to hit points.
Learn to optimise a game in Unity with an enemy pooling spawning system reusing zombies at spawn points, using coroutines to spawn at intervals and direct zombies toward the player.
Learn how to pool enemies such as bats, ghosts, and zombies to spawn many without extra allocations and reuse last destroyed slots for mobile game optimization.
Learn to implement a dynamic damage sound system in Unity for a mobile game, with four enemies per type and on-trigger playback of zombie bites, ghost howls, and bat attacks.
Expose enemies as public static game objects to enable cross-script damage handling, trigger attacks, and briefly show damage graphics with a coroutine that toggles zombie, bat, and ghost visuals.
Add a graphical health bar on the canvas using a horizontal filled image, and update its fill amount with damage to trigger a game over check.
Create a finite eight-bullet magazine, add a reload button and bullet UI, trigger a reload animation, and reset bullets after a three-second wait.
Apply a gun reload sound by integrating the reload clip from the low poly fps pack into your Unity script, triggering it to play every time you reload.
Drag the sound into the audio clip field, add an audio source to the script, and call play in the reload function to make the reload sound interactive and realistic.
Implement a timer mechanic that challenges players to survive 30 seconds against endless enemies, awarding progression to the next level and increasing difficulty, with a UI timer updated every second.
Optimize a mobile game in Unity by reloading the current level when the timer reaches zero using scene management, loading scene 0 as defined in build settings.
Learn to optimize a Unity game by starting with enemies off and not spawning them, then enabling them via a load enemies coroutine with 3-second pauses over 12 seconds.
Display the current level and dynamically increase enemy speed per level while optimizing for mobile performance, update a top-left level text, and show level-up indicators as time nears zero.
Create a main menu in Unity by adding a canvas and UI buttons, then wire play and quit to a script that loads scenes using scene management.
Implement a game over screen that pauses time, reveals a game over panel, and returns to the main menu or loads level one when health hits zero.
Reset the game by restoring time scale to one, clearing the game over flag, and resetting the level number to one for a fresh replay from the main menu.
Introduce a hidden pumpkin health pickup that replenishes full health when shot, spawns after a delay, uses a trigger collider, and is switched on or off rather than destroyed.
Master Unity’s profiler and deep profiling to monitor performance, identify FPS spikes, and optimize rendering, memory, and scripting for mobile games.
Use the profiler to analyze Unity scripts and CPU usage, identify the main player loop as the major consumer of processing time, and optimize for mobile 60 fps.
Learn to analyze game data with the Unity profiler, read the profiler documentation, and interpret cpu usage, markers, and the timeline to optimize your mobile game.
Prepare to export and test your Unity mobile game on Android, ensuring build settings, main menu, and about 60 fps, then fix reloading and zombie/bat destruction timings.
Export your Unity game for Android, optimize by removing the FPS counter and UI, anchor bullets to the bottom right, and review texture compression options for mobile compatibility.
Switch the Unity project to iOS in file and build settings, then build in release mode for optimized performance. Avoid development or debug builds unless testing performance compression methods.
Convert the Unity project for iOS, ensure pvrtc compression for textures, apply necessary overrides, adjust safe area and UI elements for iPad, and prepare build settings to export.
Explore how to export and optimize a mobile game built in Unity. Get tips for working across iOS devices and ensuring a fully optimized build.
Creating games for mobile phones is very different than creating games for computers, they require a lot of optimisation techniques. In this course I am going to be covering those optimisation tips and techniques to optimise a game in Unity that is designed specifically for mobile phones and tablets.
We will be designing a Halloween themed shooting game that has an endless wave of enemies that gets faster with each increasing level. I will be showing you how to setup this project correctly, going through the Unity settings, I will be explaining what they do and how to customise for mobile devices.
Then we will begin creating the game, while using Unity profiler to check performance and look at ways to optimise for smooth gameplay and solid frames per second.
We will be focusing on items such as:
Draw calls
Batching
Coroutines
Pooling enemies
And more...
You don't need any previous experience in coding as I will be taking you through the process step by step, showing you good practice for developing for mobiles.
By the end of this course you will have a fully working game that will easily reach 30 frames per second on older mobiles and 60 frames per second on newer devices, and that's for both Android and IOS mobiles and tablets.
So why not enrol today and I look forward to seeing you in my course.