Once you grasp the basics of Unity, you’ll want to consider what kind of game you want to make and what tutorials and assets to start using to learn how to build what you want.
Some major game types
Here’s a broad overview of some types of games that you could try to make.
- 2D: Simpler than 3D.
- Visual Novel: Interactive branching choice story game. Best for writers and beginners. No C# experience required to use Fungus.
- Side scrolling platformer: Easiest kind of 2D to start with.
- Top-down action
- Isometric 2D: Harder than regular 2D, best to do isometric games as 3D
- Top-down turn based
- First person
- Third Person
- Board game
- Card game
- War game
Interactive story choice adventure
You can make interactive story choice adventures as complete games or use them to augment another type of game with story elements.
Interactive stories with Fungus
Fungus is a great free open source package for Unity to make stories with flowcharts.
- Download and install Fungus unity package into your project.
- Open and play some of the example scenes to see how it works.
- Watch the Learn Fungus video and the Fungus Documentation Tutorial Videos to get an overview of what Fungus can do.
Basics of making your first fungus story
- Create your own new scene.
- Tools menu / Fungus / Create / Flowchart.
- A Flowchart game object appears in your hierarchy.
- Click it.
- In the Inspector panel, click Open Flowchart Window.
- Click the Start block.
- Click the + button.
- Click Narrative / Say.
- Type a message into the Text field to make the text appear.
- Click Unity’s Play button to test out your game. Your text should appear.
Add branching choices
- Go back to your Start block in the Flowchart window.
- Click + twice to create 2 new blocks.
- Select the Start block.
- In the Inspector, click +.
- Choose Narrative / Menu.
- In the Inspector for the new Menu step:
- Change the text to what you want the menu choice to say.
- In Target Block, choose 1 of your 2 newly created blocks from the flowchart window.
- Repeat steps 3-6 to create another Menu step that goes to the other block in the flowchart.
- Add Narrative / Say steps to the next blocks in the Flowchart.
- Test your game by clicking Play.
- You should be able to choose either menu choice and see the narrative messages appear.
Making AI characters that move
To make friendly and enemy characters that move through the world, you’ll need to learn to write and use some basic game AI concepts.
UnitySteer is a Unity version of OpenSteer open source autonomous agent steering framework. It can enable 2D and 3D characters to follow, chase and evade obstacles and characters.
- Download the UnitySteer package as a ZIP file.
- Expand the ZIP file to a folder.
- Drag the UnitySteer folder into your Unity project view.
- Create a new scene.
- Make a sphere and a cube object.
- On the sphere, drag the /UnitySteer/3D/AutonomousVehicle script.
- On the sphere, drag the /UnitySteer/3D/SteerToFollow script.
- In the SteerToFollow inspector, set the Target to be the Cube.
- Move the sphere to be far away from the cube.
- Click play and you should see the sphere chase after the cube!
A main menu for your game
No matter what kind of game you make, you’ll need a main menu.
Use the Unity Game Jam Menu Template to put a main menu at the start of your game and a pause menu that can return to the menu.
Make a side-scrolling 2D platforming game
If you want to make a 2D game, start with importing the Unity default 2D assets.
There’s an official 2D character controller tutorial from Unity.
Here’s the short version of how to start:
- Make a new project in 2D mode.
- Assets Menu / Import / 2D / Prefabs
- Drag the CharacterRobotKyle prefab into the scene.
- Drag some horizontal platforms into the scene below your robot.
- Drag a SmoothFollow2D script onto the Main camera.
- Set the target of the SmoothFollow2D to be the character by dragging the character from the Hierarchy onto the Camera’s SmoothFollow2D component’s Target variable in the inspector.
2D Platformer Tutorial
To learn more advanced 2D side scrolling concepts, do the 2D Platformer tutorial.
Make a top down 2D action game
Start with the Unity 2D UFO Tutorial project.
2D turn-based RPG roguelike
The Unity 2D Roguelike tutorial will show you how to build a grid-based turn-based RPG style top down world with randomly generated levels.
First person shooter game
Make a basic first person game with triggers and pickups
To learn the basics of making a first-person game world, start with Gamebridge Unityversity’s FPS tutorial series:
Make first-person shooting abilities
Start with the Let’s Try Assets package and tutorial. It will show you how to make several different shooting abilities.
Third person action game
You can start with the Unity Standard Assets / Characters / Third Person Controller prefabs.
For a more advanced and versatile character, try this script:
- Open PlayerControl.cs in your browser.
- Create a C# Script called PlayerControl.
- Copy the code from the pastebin page.
- Paste the code to replace all the code in PlayerControl.cs.
- Attach the PlayerControl.cs script to any simple 3D object, like a Cube. This is the Player.
- Attach a Rigidbody to the Player. Set the Rigidbody Constraints to Freeze rotation on X and Z.
- Make sure there is exactly one Camera in the game
- Run the game. Move as normal. Fire2 (right-click) allows Mouselook.
Simulating card games on computer takes a bit of programming but it isn’t too hard to do.
There are a few ways to get started.
Do it from scratch with tutorials
Unity List View Framework
Use Unity’s slick VR-friendly 3D animated Unity List View card framework!
Desperate Gods virtual tabletop open source Unity project
You can mod Desperate Gods with your own cards, pieces and boards.
MOBA (Multiplayer online battle arena)
So you want to make your own better League or DOTA? Here’s how:
Unity MOBA Asset Packages
If you want to implement a full networked MOBA, you would do well to start with the uMOBA package and focus on consutomizing it with characters and abilities and mechanics that make your game unique rather than wrangling with coding everything from scratch.
Made by the people who made uMMO, so MOBA should be simpler than what they’ve already made.
MOBA Storm (~$55)
An alternative to uMOBA.
Unity MOBA Tutorials
If you want to build a MOBA from scratch, there are tutorials that can help walk you through the process: