🎮
Awesome Unity Games A curated list of awesome Unity Games (Open Source), code examples and resources.
Credits to https://codepen.io/boldfacedesign/pen/EoGgD
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
- InfiniteRunner3D - Creating an infinite 3D runner game in Unity.
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
- Innoactive Creator - Scalable and maintainable Unity-based VR training.
- Innoactive Creator Examples - Simple examples showcasing the capabilities of the Innoactive Creator.
- XR-Interaction-Toolkit-Examples - Various examples to use with the XR Interaction Toolkit.
- OpenVR XR - OpenVR plugin for Unity's XR API.
Controllers
- 2D-Platformer-Hunter - A 2D Platformer Controller in Unity.
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
- Coding in C# in Unity for beginners - The very basics of coding, like variables, functions and classes, and how to use them.
- Design Patterns Written in Unity3D - All Gang of Four Design Patterns written in Unity C# with many examples.
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
- Brackeys - Game Dev Tutorials
Architecture
- SOLID - The S.O.L.I.D Principles in Pictures.
- .Net Documentation - SOLID, DI, N-Tier, Logs, etc with dotnet.
Other Awesome Lists
- GameDev-Resources - A wonderful list of Game Development resources.
- awesome-unity3d - A categorized collection of awesome opensource unity3d repos.
- Awesome Unity Open Source on GitHub (800+) - A categorized collection of awesome Unity open source on GitHub.
- Awesome Unity FREE - A community driven list of useful Unity Game Engine "FREE" packages, libraries and others.
- Awesome Unity Community - A categorized community-driven collection of high-quality awesome Unity assets, projects, and resources.
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
Donate Ethereum, ADA, BNB, SHIBA, USDT, DOGE:
Wallet address: 0x3F9fA8021B43ACe578C2352861Cf335449F33427
Please let us know your contributions!
💯
Happy coding Made with