Adventure
-
San Andreas Unity - An open source reimplementation of GTA San Andreas game engine in Unity.
Puzzle
-
Nodulus - A puzzle game with a clever twist. Based on the mathematical theory behind plank puzzles, consists of a grid of cubes and rods which can be rotated with a swipe.
-
Angry Birds style game - An effort to replicate a level and relevant mechanisms of Rovio's famous Angry Birds game, built in Unity game engine. Source code is provided for educational purposes.
-
Match-3 game - A match-3 game in Unity (like Candy Crush and Bejeweled).
Role
-
Darkest Dungeon - Darkest Dungeon port in Unity. Almost completely identical to the original.
RPG
-
Hogwarts - A Hogwarts (Harry Potter) open sandbox game made in Unity.
Runner
Sandbox
-
CubeWorld - Minecraft like game made in Unity.
Shooter
-
Multiplayer-FPS - A multiplayer first-person shooter game based on Unity3D. Different types of input devices are supported, including Kinect, Xbox controllers, Leap motion, and VR Glasses.
Strategy
-
Starcraft Unity3D - A recreation of the classic Starcraft game by Blizzard, on Unity3D.
Code Examples
Augmented reality
-
ARCore - Build new augmented reality experiences that seamlessly blend the digital and physical worlds. Transform the way people play, shop, learn, create, and experience the world together—at Google scale.
-
ARKit - Build unparalleled augmented reality experiences for hundreds of millions of users on iOS and iPadOS, the biggest AR platforms in the world.
-
Vuforia - The World’s Most Widely Deployed AR.
Virtual Reality
Controllers
Editor
-
Runtime Unity Editor/Debugging Tools - In-game inspector and debugging tools for applications made with Unity3D game engine.
-
Path-Creator - An intuitive and lightweight editor for quickly creating smooth paths in the editor.
-
UIWidgets - A Unity Package which helps developers to create, debug and deploy efficient, cross-platform Apps.
Scripting
-
ScriptableObject-Architecture - Makes using Scriptable Objects as a fundamental part of your architecture in Unity super easy.
-
UniRx - Reactive Extensions for Unity.
-
C-Sharp-Promise - Promises library for C# for management of asynchronous operations.
-
FSM_Command_Patterns - A basic platform game developed for help to undertanding State pattern and Command pattern.
Networking
-
RestClient - 🦄 Simple HTTP and REST client for Unity based on Promises, also supports Callbacks! 🎮.
Platforms
-
Native Toolkit - Easily integrate native iOS & Android functionality into Unity projects.
Utilities
-
Yarn Spinner - A tool for building interactive dialogue in games!
-
Unity2D Components - A varied collection of Unity3D components that I've built for use in the 2D Platformer/RPG I'm currently developing.
-
Unity Image Cropper - A uGUI based image cropping solution for Unity 3D.
-
ChainSafe Gaming - Unity SDK for building games that interact with blockchains.
Guides
Tutorials
-
Introduction to Roll-a-Ball - An introduction to the Roll-a-ball project, showing the final game and describing what will be covered in this tutorials.
-
Setting up the Game - Creating a new project and setting up the basic game.
-
Moving the Player - Moving the player object using player input and physics forces.
-
Moving the Camera - Moving the camera relative to the player.
-
Setting up the Play Area - Setting up the play area.
-
Creating Collectable Objects - Creating and placing the "Pick Up" collectables.
-
Collecting the Pick Up Objects - Collecting the pick-up objects; discussing physics, collisions and triggers.
-
Displaying the Score and Text - Counting, displaying text and ending the game.
-
Building the Game - Building the game as a Standalone application.
-
Scripts as Behaviour Components - Learn about the behaviour component that is a Unity script, and how to Create and Attach them to objects.
-
Variables And Functions - What are Variables and Functions, and how do they store and process information for us?
-
Conventions and Syntax - Learn about some basic conventions and syntax of writing code.
-
If Statements - How to use IF statements to set conditions in your code.
-
Loops - How to use the For, While and Do-While Loops as well as the For Each loop to repeat actions in code.
-
Scope and Access Modifiers - Understanding variable & function scope and accessibility.
-
Awake and Start - How to use Awake and Start, two of Unity's initialisation functions.
-
Update and FixedUpdate - How to effect changes every frame with the Update and FixedUpdate functions, and their differences.
-
Vector Maths - A primer on Vector maths - as well as information on the Dot and Cross products.
-
Enabling and Disabling Components - How to enable and disable components via script during runtime.
-
Activating GameObjects - Learn about the behaviour component that is a Unity script, and how to Create and Attach them to objects.
-
Translate and Rotate - How to use the two transform functions Translate and Rotate to effect a non-rigidbody object's position and rotation.
-
LookAt - How to make a game object's transform face another's by using the LookAt function.
-
Destroy - How to use the Destroy function to remove GameObjects and Components at runtime.
-
GetButton and GetKey - How to get button or key for input and how these axes behave / can be modified with the Input manager.
-
GetAxis - How to "get axis" based input for your games in Unity and how these axes can be modified with the Input manager.
-
OnMouseDown - How to detect mouse clicks on a Collider or GUI element.
-
GetComponent - How to use the GetComponent function to address properties of other scripts or components.
-
DeltaTime - What is Delta Time and how can it be used in your games to smooth and interpret values.
-
DataTypes - Learn the important differences between Value and Reference data types, in order to better understand how variables work.
-
Classes - How to use Classes to store and organise your information, and how to create constructors to work with parts of your class.
-
Instantiate - How to use Instantiate to create clones of a Prefab during runtime.
-
Arrays - Using arrays to collect variables together into a more manageable form.
-
Invoke - The Invoke functions allow you to schedule method calls to occur at a later time.
-
Enumerations - Enumerations allow you to create a collection of related constants.
-
Switch Statements - Switch statements act like streamline conditionals. They are useful for when you want to compare a single variable against a series of constants.
-
Events - Learn how to use special delegates called Events in order to subscribe methods (functions) to create flexible broadcast systems in your code.
-
Creating a Text Based Adventure Part 1 - Learn how to program a text based adventure game in which the player explores a series of rooms by reading text and inputting commands via the keyboard.
-
Creating a Text Based Adventure Part 2 - Learn how to to display the descriptions of all the items in a room when we enter it.
-
How to Play Test Game Mods (Official Unity Tutorial) - In the Play Testing In-Editor Tutorial, you will learn how to play and mod your Microgame in Unity.
Tools
-
OpenUPM - Open Source Unity Package Registry.
YouTube Channels
Architecture
Other Awesome Lists
Concepts
-
3DOF: A term often used in the context of virtual reality, refers to tracking of rotational motion only: pitch, yaw, and roll.
-
6DOF: Refers to the freedom of movement of a rigid body in three-dimensional space.
Supporting 🍻
I believe in Unicorns 🦄
Support me, if you do too.
Donate Ethereum, ADA, BNB, SHIBA, USDT, DOGE:
Wallet address: 0x3F9fA8021B43ACe578C2352861Cf335449F33427
Please let us know your contributions! 🙏
Happy coding 💯
Made with ❤️