This course is a great tutorial that carefully tailors Hasura to implement multiplayer features in Unity.
This course shows how to build the multiplayer features of Shooter Arena, which is an ideal demo of what is possible with Hasura and Unity.
Key topics and takeaways:
- GraphQL queries, mutations, subscriptions
- Using GraphQL with Unity
- Online matchmaking
- Cross platform real-time online gameplay
- Authentication with Hasura
- Dynamic Leaderboard
What will we be building?
We will be building a cross platform multiplayer realtime first person shooter game.
Play Shooter Arena to see what we'll be building. Download the apps from:
Google PlayStore: https://play.google.com/store/apps/details?id=com.Gazuntype.ShooterArena
Apple AppStore: https://apps.apple.com/us/app/shooter-arena/id1506191296?ls=1
The rules of Shooter Arena are simple.
- There are two roles in each battle,
Shootergoes first and has to shoot some targets as fast as possible. These targets turn red.
Shooter's turn ends when they run out of bullets.
Defendergoes next and has to deactivate all the targets the
Shootershot. These targets are red at the start of the
Defender's turn and change to green when shot.
Defender's turn ends when he runs out of time or out of bullets.
- The time the
Shooteruses in their turn is the time the
Defenderhas for their turn, plus 5 seconds.
Defenderwins if they successfully deactivate all the targets the
Shootershot. Else, the
Will this course teach Unity concepts as well?
No, most of the Unity-centric parts of the game have already been built within the boilerplate version of the app.
We will be focused mainly on integrating multiplayer features to the game by utilising Hasura's GraphQL engine.
What do I need to take this tutorial?
You will need to have Unity. Ideally, version 2019 and upward.
- Beginner level understanding of Unity
- Ability to build a realtime GraphQL backend with Hasura
Courses to gain prerequisite knowledge
Unity: Intro to Unity
Backend: Building a realtime GraphQL backend with Hasura in 30 mins (ideal for frontend, backend or fullstack developers)