From Player to Creator: Building Games from Scratch with Unity
My Game Developer Journey
Editor’s Note
Good day everyone! 👋🎮 How are we all doing? Welcome to yet another Game Dev Assembly edition, and this one is truly magical ✨ What does it really take to build a game from scratch? For Vishnu, it started with curiosity, a YouTube video, and zero experience in Unity. What followed was a journey filled with experimentation, failed optimizations, frozen screens, late-night debugging ☕💻, and eventually, published games on the Play Store. All of this happened because he decided to stop consuming and start creating. If you want to learn how he built two games with Unity, dive in and read the latest issue🕹️
Table of Contents
How It All Started
Since childhood, I’ve been very fond of playing games and used to spend hours doing it. When I started my career as a developer, I wanted to create a game of my own. That’s when I thought, ‘Hey let’s try to make one!’
So in 2023, I built my first trial game in Kotlin language. It’s just a simple game developed using Kotlin code in Android Studio IDE. During that stage, I understood that it wasn’t the right approach in creating a mobile game. It was difficult to add graphics as the whole game depended on the code. The drawbacks of the game were:
It wasn’t responsive to different mobile sizes
It wasn’t easy to add graphics
It was completely dependent on code, so the code became complex
Integrating with other features were a bit difficult
Then I researched how to create a high-quality mobile game. This helped me understand there are multiple game engines to build such games easily. One of the most common game engine is Unity. There are many other engines, but Unity is the most selected one by developers and is beginner-friendly.
I had no experience in Unity or C#, which is the backend code that’s compatible with Unity. So I started learning about Unity until I realized it’s better to try something out in it than watching learning videos. Once you try Unity, you can learn on the go.
And because of this, my first two games were born.
My First Unity Game
My first Unity game was Godspeed. It’s an endless runner game similar to subway surfers/temple run. But what makes it unique from others is that it has a career feature where players can try to complete 20 exciting levels. The journey of building Godspeed from scratch, for someone who has zero knowledge in Unity, was simple. I learned how to make this game using a YouTube video by Jimmy Vegas. This video clearly explains how to build a game from scratch.
🔸Choosing Whether To Build For Computer or Mobile
First, you need to finalize whether you’re building a computer or mobile game, and whether it is a 2D or 3D game. Unity has multiple templates that you can select based on your requirements. Once you select the template, Unity prepares the project and handles all dependency and compatibility configurations (things we need not be concerned about). I selected the 3D mobile template. What I learned from this game is that we have everything available free of cost to create a simple game.
🔸The Design Challenge
For the design, I needed good-quality graphics, from the environments to the obstacles, characters, and audio. I used the Unity Asset Store, where you can import assets directly into Unity for free (though paid options are also available).
🔸Main Character and Animations
For the main character, I used Mixamo. Since my game is a running game, I needed a character with a running animation. Mixamo made this incredibly easy. You can download characters, attach animations like running, walking, jumping, or cheering, and use them directly in your game, all for free.
Next, I wanted the character to actually move, not just play an animation. That’s where a C# script comes in. I created a script and attached it to the character so it would move forward. Even though I have coding experience, I had no experience in C#, so I used ChatGPT to generate the script.
🔸All About UI
Then came the user interface. In Unity, all UI elements sit inside something called a Canvas. This is essentially the front end; the part users see and interact with. When a user clicks a button, the action is handled by backend logic written in C#. Connecting the frontend and backend is straightforward in Unity, mostly involving simple drag-and-drop.
🔸Handling Data
For storing player data and scores, I used Firebase Realtime Database. I chose Firebase because it’s beginner-friendly and integrates easily with Unity. It stores data in a simple key-value format, which works well for games.
🔸Revenue: Something Nobody Talks About
One common misconception I had to learn early on is about revenue. We don’t earn money from downloads. Revenue comes from in-app purchases or ads. I integrated Unity Ads into the game using a C# script (again with help from ChatGPT). Once integrated, Unity Ads handles everything, from fetching ads to displaying them.
🔸Game Testing
Testing was another important step. While Unity allows you to test features within the editor, real insights only come when you test the game on an actual device. This is where you truly understand performance issues, identify bugs, and see how the game behaves in real-world conditions. Something that works perfectly in Unity might not work the same way on a phone.
Finally, deployment turned out to be much simpler than I expected. I created a Google Developer Console account (a one-time $25 fee), set up my app with screenshots and descriptions, and uploaded the game as an .aab file from Unity. That’s all it took to get the game onto the Play Store.
Where I Got Stuck
Design: I spent hours dragging assets from the Unity Asset Store into my game, testing what looked good without any real plan. That’s when I realized that features don’t matter if the game doesn’t look good. I had two choices. Either I use ready-made assets (fast but limiting) or create my own (powerful but skill-heavy). Since I had no 3D experience, I stuck with the Asset Store.
Maintenance: After publishing, players started finding bugs I never saw. That’s when it hit me that you don’t truly test a game until real people play it. Godspeed had too many assets and too little optimization. I was experimenting, not refining. Looking back, optimization is everything.
Performance: The game ran perfectly on my phone, but froze on my friend’s. His device couldn’t handle it. Too many assets, inefficient code. Even small things mattered, like using
Update(), which runs ~60 times per second, for tasks that didn’t need it. Those mistakes added up quickly. Fixing them made the game lighter and more stable.Data Reloading: Then came another question of what happens if a player deletes the game? Without a login system, all their data is gone. I decided to integrate Google Play sign-in so player data could be restored. It took time and effort, and honestly, for a simple game like mine, it wasn’t strictly necessary. But I did it anyway because I wanted the experience to feel complete.
My Second Unity Game
This is when Egg Rush came in. This time, I wasn’t starting from scratch; I was starting from experience.
One thing I had learned by now is that the most important part of a game is the idea. A game can be very simple and still be a huge hit. What matters is how it makes the player feel. They need to feel addicted, entertained, and excited to play again.
That’s how Egg Rush was born. It’s simple, but fun. Five chickens randomly lay eggs, and the player catches them. Players can compete with others worldwide, making it competitive. On top of that, it has 60 levels of fun challenges.
I followed the same approach as Godspeed, starting with a 3D mobile template in Unity. I used the Unity Asset Store for environments and audio. Since I couldn’t find a suitable animated character for free, I created the chicken using Meshy AI. For UI button images, I used Leonardo AI. The C# scripts were created with the help of ChatGPT. For the database, I switched to Firebase Firestore, and for ads, I integrated Unity Ads.
But this time, I focused on what I didn’t do before: optimization.
I tested the game on multiple devices before publishing, making sure it didn’t lag or get stuck. I added assets carefully, one by one, and removed anything unnecessary. I optimized the code as much as possible, using the Update() method only when absolutely required, and ensuring no condition was running more times than needed.
Switching from Firebase Realtime DB to Firestore made a big difference. Earlier, to show the top 100 players and the current user’s rank, I had to download and process all the data on the device. Now, Firestore handles it with powerful queries on the server side, making it faster, cleaner, and with less memory usage.
I also paid attention to smaller details. If a game object had any unnecessary component, I removed it. These small optimizations may seem minor, but together they make a huge difference.
One major improvement was using object pooling. Earlier, in Godspeed, objects were constantly created and destroyed, which affected performance. In Egg Rush, I reused objects instead. For example, instead of creating and deleting eggs repeatedly, I created a set of eggs at the start and reused them; disabling and reactivating them as needed. This significantly improved performance.
After all these changes, the game felt much lighter. When I tested it across multiple devices, especially low-spec ones, the difference was clear. I published Egg Rush on the Play Store in 2026. And this time, it wasn’t just about building a game; it was about building it better.
Things I Wish I Knew Before I Started
Looking back at this journey, I realized that many of the things I once believed about game development weren’t actually true. The biggest misconceptions are:
Practical Advice for Beginners
As a beginner, don’t start by creating a big game. Start simple. Make a small game first. Learn from it. Experience it. Then move on to something bigger.
The reason is if you begin with a big project, you’ll likely get stuck in the middle without fully understanding the basics or the standard approach. As the game grows, it quickly becomes complex, and once that happens, maintenance becomes very difficult.
One more thing I learned along the way is to try to log and record every issue you face during development. It may not seem important at the time, but later, it helps you avoid getting stuck in the same place again. Even though we have AI to resolve issues quickly, some problems still take time. Finding the exact solution isn’t always instant, and those recorded learnings make all the difference.
List of Tools and Resources I Used in My Journey
If you enjoyed my story and can relate and benefit from it, you can also use the following tools and resources. The best part is they’re FREE. The only thing is that you’ll need an efficient and more powerful computer to run Unity Game Engine and a Developer Console (for Play Store only; $25 one-time fee).
Parting Words
To be honest, my journey of game development is not a successful one. My first game was not a hit, yet I chose to develop another one. And now my second game is also not a hit yet. But I continue to aim to market it and make it successful.
For me, game development isn’t just about revenue, but passion. Something that I do with all my heart. When I see someone playing the game I had developed, it gives me the same joy I felt when I played hundreds of games in my childhood, knowing that, someday, some kid is going to enjoy their childhood playing my game.
So to all the game devs out there, find your motivation. It should come from within ourselves. People may doubt us and make us question our worth, but what matters is our passion to create something. If you lack motivation, just think why you had started. If the game is a failure, maybe try something different. The only way we are going to achieve success is through trial and error.
Just make it exist first, and you can always make it better.
As a wise panda once said, “There is no secret ingredient. It’s just you. You have to believe in yourself. That’s the secret.”
💖 Thanks for reading.
About the Author
I’m Vishnu U Pillai, and I love coding and exploring. I’m a Computer Science Engineer currently working as a Senior Software Engineer at Allianz Technology (Trivandrum, Kerala). I am primarily a Backend Developer specializing in Java. I’m also an indie game developer, with published games including Godspeed and Egg Rush, and the founder of the online fashion brand Aalila.
From childhood, I have always been very fond of playing games. I used to spend hours playing computer and mobile games. Over time, I wanted to create a game of my own; an actual product of my own. An idea that someone would love and feel entertained by; something that would make their time special, just like many games did for me.
While I haven’t achieved any major notable milestones yet, I see my journey itself as meaningful. If receiving prizes in coding contests at college tech fests counts, then yes! More importantly, creating three games, one application, and launching an online clothing business feels like a big achievement for me personally. I’m aiming to achieve even more in the near future, and I’m happy to part of Game Dev Assembly’s community to help me get there.
Please check out my games and give them follow:
🥚 Egg Rush
Egg Rush is a fast-paced arcade game that puts your reflexes to the test.
Five chickens sit high above the ground, laying eggs — and it’s your mission to catch them before they hit the ground.
ᯓ🏃🏻♀️➡️Godspeed
Godspeed is a high-octane 3D endless runner game where every second counts and survival is your only goal.
Swipe left, right to dodge deadly obstacles and keep moving at breakneck speed. And collect coins as you run!
Closing - Until the Next Edition
And that’s a wrap, folks. How did you find Vishnu’s journey? Was it helpful? Does it make you think of your own game development projects? Do you think Vishnu is on the money when he talks about having love, passion, and motivation for building games?
Every game starts with a simple idea.
All it takes is curiosity, the courage to try, and the willingness to keep going even when things don’t work the first time. Vishnu’s journey reminds us that creation rarely begins with expertise. It begins with passion, experimentation, and persistence 🎮✨
Whether you’re building games, writing code, designing worlds, or simply exploring a new idea, this issue is a reminder that you don’t have to start perfectly. Feel free to drop your comments, and like and share this issue. And if you want to share your own story, get in touch with us.
Until next time, keep building, keep learning, and keep creating 🚀
WAIT! There’s more…
We have an exciting event lined up for you. And it’s FREE to attend! Are you ready, peeps? We’re bringing Jordan in the house who has spent years working in the indie space and has launched a marketing agency to help games take off and attract players.
After reading Umut and Berkay’s story, you will realize marketing your game is an absolute must, and Jordan will break this down in a simplified way.
Our hosts at Game Dev Assembly and Jordan look forward to greeting you and holding a game-changing session! Get it? ;) Sign up fast before tickets run out!









