Uncategorized – GameDev Academy https://gamedevacademy.org Tutorials on Game Development, Unity, Phaser and HTML5 Tue, 11 Apr 2023 09:50:10 +0000 en-US hourly 1 https://wordpress.org/?v=6.1.1 https://gamedevacademy.org/wp-content/uploads/2015/09/cropped-GDA_logofinal_2015-h70-32x32.png Uncategorized – GameDev Academy https://gamedevacademy.org 32 32 Best Game Development Courses – Learn to Make Your Own Games https://gamedevacademy.org/best-game-development-courses/ Tue, 11 Apr 2023 09:49:29 +0000 https://gamedevacademy.org/?p=20257 Read more]]> Game development is super fun, but also super complex.

First you have to learn a game engine, then coding, and then a slew of other concepts just to build something that can handle basic input and output. It’s no wonder people often don’t know where to get started! Thankfully, though, online educational resources are available to help you on that journey – so you aren’t in it alone.

In this article, we’ll help you discover what we believe to be some of the best game development courses available so you can start your learning journey. We’ll try to spread things here out between a few different engines and tools, so don’t worry about being pigeonholed in one direction.

Without delay, let’s get started!

What is game development?

Before we go too far down the rabbit hole, we did want to take a moment to define game development. In this way, we can approach this list all from the same place and footing (and we aren’t stuck making too many assumptions about your own knowledge either).

In simple terms, game development is the process of developing a video game. A developer transforms games from concept to reality by coding visual elements and features, and testing the game until it’s ready to go to market. To be a successful game developer, individuals need to be patient, able to overcome problems, and have analytical thinking skills.

Because of the complex nature of game development, professionals are paid well – with the average developer earning $101,160 a year in the US. They code games in a variety of formats including PC and Mac, consoles, web browsers, and mobile games.

By learning game development skills you’ll not only be able to enter a rewarding, creative, and in-demand career, but you’ll also gain transferable skills that can be applied to other aspects of your work life, including problem-solving, design, and self-learning.

Learning coding also gives you many transferable skills and benefits, including skills in design, teamwork, and project management.

Even better, coding and game development skills can be learned from the comfort of your home. There are hundreds of professional courses online available to anyone with the desire and determination to learn coding skills. There’s no need to go to university – with online courses, like those provided by platforms like Zenva, you’ll be able to learn professional skills at your own pace and in your own time.

BUILD YOUR OWN GAMES

Get 250+ coding courses for

$1

AVAILABLE FOR A LIMITED TIME ONLY

What are the best online game development courses?

As stated, if you’re interested in learning game development online, then you’re in luck. There are thousands of courses available, each catering to people of a different age and skill level. If you’re unsure of which course is right for you then don’t worry – we’ve narrowed down what we think are the most comprehensive to start with. We encourage you to explore all of them – as what your game engine preference is might not be immediately obvious.

Best Game Development Courses - Learn to Make Your Own Games

Unity Game Development Mini-Degree

Unity is one of the most popular game engines to date, powering 50 percent of all games in the world and used in over 190 countries. Luckily, it’s also one of the easier ways to learn the art of game development and design, while also being able to handle complicated 2D and 3D projects as well as mixed approaches. Both beginners and experienced developers are more than capable of harnessing the power of Unity to make games in a variety of different formats.

Zenva’s Unity Game Development Mini-Degree is a full curriculum designed for beginners or intermediate developers to master Unity from the ground up. Featuring real-world projects and tons of different Unity tools, learners can master everything from the fundamentals to building their own professional development portfolio.

We especially want to emphasize the project-based approach for this curriculum, as learners get the opportunity to build real-world projects such as FPS games, idle clicks, racing games, procedurally generated maps, 3D assets, animations, and more!

Overall, this curriculum gives learners all they will need to thrive in the video game industry.

Key topics covered:

  • Coding basics
  • UI systems
  • Audio effects
  • Cinematic cutscenes
  • Special effects
  • Procedural terrain
  • Animation

Skill level: Beginner. This is a comprehensive course with over 20 modules. You’ll learn everything you need about Unity to be able to code your own games in the future.

Duration: 36h 23m

How to access: Access the curriculum here.

Best Game Development Courses - Learn to Make Your Own Games

Unreal Game Development Mini-Degree

Unreal Engine is a real-time 3D creation platform for creating games with hyperrealistic visuals and animations. It’s used by indies and AAA studios for a variety of games, being just an all-around powerhouse. Using its unique Blueprints Visual Scripting system, Unreal also allows novice developers to build games, even if they’ve never coded before. It’s also royalty-free until you earn over a million dollars, so it’s safe for hobbyists on a budget as well.

Because Unreal Engine is royalty-free and only charges once a game earns over a million dollars, it’s one of the most popular engines for beginners operating in the game development industry.

Zenva’s Unreal Game Development Mini-Degree is a curriculum of courses centered around getting industry ready. Learners get to start with the simple basics of using Unreal Engine – and the tools it has to offer – and then go straight to practical application.

With the idea you’ll use the curriculum to build a portfolio, you’ll get to explore projects in a variety of popular genres. This includes things like FPS games, action RPGs, arcade-style games, walking simulators, and even strategy games.

This set is just amazingly comprehensive for getting started with the engine and learning tons of useful ways to build real-world games with Unreal!

Key topics covered:

  • Unreal Engine’s various features
  • Using the Blueprints Visual Scripting system
  • Animation controls with state machines
  • Materials and lighting
  • Controlling gameplay flow
  • Various game genre mechanics

Skill level: Beginner. This is a comprehensive course with 10 modules. You’ll learn everything you need about the Unreal Engine to be able to start your career in the video game industry.

Duration: 16h 52m

How to access: Access the curriculum here.

Best Game Development Courses - Learn to Make Your Own Games

Godot 4 Game Development Mini-Degree

Godot is a cross-platform and open-source game engine designed making both 2D and 3D games. While it hasn’t been yet adopted in significant regard by AAA studios, it’s found a popular niche with indie developers. It features unique, flexible node-based systems that speed up the game creation process and uses GDScript, an easy-to-learn scripting language made specifically to make the most out of the Godot engine.

With Zenva’ Godot 4 Game Development Mini-Degree, you’ll get to jump in as a complete novice and end up with a few nifty projects for your portfolio. Along the way, you’ll of course learn a ton of important fundamentals that can be utilized in future projects, including some of the most popular game mechanics available!

Among the projects included in the courses, you’ll master making both 2D and 3D platformers, RTS games, turn-based battle systems for RPGs, and even the foundations for a survival game!

No matter your skill level, this curriculum will ensure you’re ready to make whatever you could want with Godot – and perhaps even make a career out of it!

Key topics covered:

  • Using 2D and 3D assets
  • GDScript – the language powering Godot
  • Gameplay flow
  • Player & enemy combat
  • Item collection & UI systems
  • Survival, RPG, strategy, & platformer mechanics

Skill level: Beginner. This course is suitable for learners with no prior coding experience.

Duration: 10h 59m

How to access: Access the curriculum here.

Learn Python by Building Five Games – Full Course

Python is one of the easiest programming languages to learn, and is used by developers and non-developers alike. It is used to develop hundreds of professional games, including the popular Disney’s ToonTown. While it is less widely used in gaming compared to the previously mentioned engines, it is fantastic for novice developers.

The Learn Python by Building Five Games YouTube course is provided by freeCodeCamp.org. Individuals can use this free course to learn Python at a beginner level by taking on five projects: Pong, Snake, Connect Four, Tetris, and an Online Multiplayer game.

If you learn best through practical learning, we would recommend this course.

However – be warned. FreeCodeCamp courses are designed for independent learning, and you’ll have no access to professional mentors (unlike premium services like Zenva). If you work better with structured learning and regular goals and trophies, this YouTube tutorial might not be for you.

Key topics covered:

  • Learn how to build a Pong game
  • Learn how to build a Snake game
  • Learn how to build a Connect Four game
  • Learn how to build a Tetris game
  • Learn how to build an Online Multiplayer game

Skill level: Intermediate. Since this is a practical course, you’ll need some basic knowledge of Python.

Duration: 6h 43m

How to access: Access the course here.

Best Game Development Courses - Learn to Make Your Own Games

Unit: Advanced JS: Natural Simulations

Khan Academy is a free, nonprofit platform offering comprehensive courses to students, all from the comfort of their homes. While other platforms specialize in coding, Khan Academy has a range of courses from math to economics. While this means there are slim pickings compared to platforms like Zenva, that doesn’t mean it has nothing to offer.

The Advanced JS Natural Simulations course hosted by Khan Academy teaches students how to combine JS, ProcessingJS, and math concepts in order to simulate nature in your games and programs. This course teaches students using the “Nature of Code ” book by Daniel Shiffman from natureofcode.com.

Students taking this course will learn everything from adding randomness to your game to vectors and forces. There’s not much practical learning on this course – instead it focuses on intricate game concepts and theory. Because of this, this course is better suited to older children or adults.

The Advanced JS course is designed for those that have prior knowledge of coding and game development. Similar to the entry above, there’s no mentoring available to students of Khan Academy, so if you’re unsure whether you have the knowledge base to complete the course, it may be best to look elsewhere. Other platforms like Zenva can offer far more beginner-friendly experiences (as well as help through course mentors).

Key topics covered:

  • Intro to Natural Simulations
  • Randomness
  • Noise
  • Vectors
  • Forces
  • Angular Movement
  • Oscillations
  • Particle Systems

Skill level: Advanced. This course is designed to be taken after the Intro to JS course, also hosted by Khan Academy.

Duration: Taken at your own pace.

How to access: Access the course here.

JavaScript Tutorial – Create a Card Game

While engines offer powerful, cross-platform abilities, sometimes it’s good to know just how to bring games to the web. After all, there’s something to be said for old classics where people made mini-games right on their own webpages. JavaScript is the main driving force for this sort of activity, and given its one of the core pillars of web development, it never hurts to learn JavaScript.

In JavaScript Tutorial – Create a Card Game, brought to you again by freeCodeCamp.org, you’ll learn to make a web-oriented game from scratch using just HTML, CSS, and JavaScript. You’ll explore important concepts such as dynamic data updates, animation effects, and so forth. You’ll also, of course, learn how to tap into the webpage aesthetics as well so your card game looks the best it can.

Summarized, this doesn’t sound like a lot – but trust us, there’s a lot that goes into this! Plus, regardless of your next steps after this, we’re sure your JavaScript skills will be improved so you can explore other frameworks, such as Phaser which is JavaScript-based.

Key topics covered:

  • Live Server Extension
  • Create Cards – HTML
  • Create the Game Play Grid
  • Create Cards Dynamically – JS Code
  • Initialise Card Positions
  • Load Game and Start Game
  • Stack Cards
  • Flip Cards
  • Shuffle Cards
  • Deal Cards
  • Choose Card
  • Styling and Layout
  • Animation
  • Responsive Layout
  • Local Storage

Skill level: Beginner. No prior knowledge needed.

Duration: 1h 31m

How to access: Access the course here.

Best Game Development Courses Wrap Up

And there you have it – some of the best game development courses you can learn from. We had to keep this list super short, so don’t think that’s all there is out there. There are simply too many resources to name. Plus, the best resource often comes down to personal preferences such as 1) how much time you want to invest, 2) how much budget you have, and 3) your personal learning needs.

This said, we really encourage you to try out all the resources. Picking a good game engine for your projects can often mean just experimenting with everything the world has to offer. By trying things out, though, you can get a definitive feel for what you like and don’t like.

Ultimately, whether you go with a paid and full-supportive service like Zenva or something free, we’re confident anybody can learn game development given the time! Good luck, and we look forward to your journey ahead!

BUILD GAMES

FINAL DAYS: Unlock 250+ coding courses, guided learning paths, help from expert mentors, and more.

]]>
Amazon Sumerian Tutorials – Complete Guide https://gamedevacademy.org/amazon-sumerian-tutorials/ Wed, 18 Jan 2023 09:48:54 +0000 https://vrgamedevelopment.pro/?p=3866 Read more]]> Have you ever wanted to build a VR, AR, or 3D experience, but just don’t know how you’d even distribute it? Or, are you stuck using your 5-year-old laptop that just can’t quite run Unity, Unreal Engine, or other XR solutions? Still, perhaps you’re just not confident in programming anything for these advanced technologies?

Fortunately, none of these issues need to stop you – not with Amazon Sumerian available! Offering opportunities for professional developers, hobbyists, and beginners alike, Amazon Sumerian will let you easily build for virtual reality, augmented reality, and 3D, while also giving you a quick method to distribute your project to anyone. With this article, we’ll help you understand not only what Amazon Sumerian has to offer you, but also how you can start using it to bring your projects to life!

What is Amazon Sumerian?

Amazon Sumerian is a facet of AWS – Amazon’s popular cloud computing service. With Amazon Sumerian, you’re provided with a concrete set of browser-based tools that let you build 3D scenes and make them interactive. As the technology is built on WebGL 2.0, this has some wonderful implications for developers using it.

First, the entire service is web-based. As such, you don’t need to worry too much about installing extra programs, plugins, or similar. Instead, all building is done from the comfort of your browser. Additionally, when you’re ready to distribute your project, this is likewise done over the web, so there is no complicated exporting or package creation. Instead, you can either embed your project into a website or simply get a URL to send to users – who in turn can connect even with their mobile devices. It also easily integrates with AWS, so if you use these services for other web projects, you’ll have an additional advantage.

The other positive of its WebGL base is that Amazon Sumerian is compatible with WebVR and WebXR. Consequently, you can easily take your apps beyond just plain old 3D and turn them into full-fledged virtual reality or augmented reality experiences. Similar to the above, as this is web-based, as long as users have a compatible VR headset or AR-capable smartphone, they can easily access the project with no fuss.

Advantages of Amazon Sumerian

While there are many VR, AR, and 3D scene solutions available, Amazon Sumerian offers some distinct advantages – regardless of your skill level – that make it a worthwhile service.

Web-Based Production

As mentioned above, Amazon Sumerian is entirely web-based – including both the editor and distribution. This gives it well-rounded, cross-platform capabilities (yes, that includes mobile devices) that can easily suit your needs. It also means there is a low overhead for your customer enablement if you’re using it for that purpose.

Templates & Assets

If you’re a busy, on-the-go person, no need to worry. Amazon Sumerian offers both templates and assets at your disposal. The templates help quickly set up pre-defined scenes for 3D, AR, and VR, so you’ll spend less time fussing to just get your scenes going. Additionally, with a variety of 3D assets and textures available, you can quickly shave off time on production and focus on the aspects that are most important to you.

Want custom assets, though? Don’t fret! Amazon Sumerian accepts FBX (2017) files and OBJ files, so you can add in your own models if you want.

Easy Access to VR & AR

Another one we’ve previously talked about already, but it still stands as an advantage! With pre-made templates at your fingertips, you can easily take any project into the XR world space and go beyond the benefits of 3D – giving you novel ways to improve customer enablement.

Pre-Made Scripts

Amazon Sumerian is also great if you have no coding experience. Using a drag-and-drop UI system, you can easily use predefined actions to do a number of different things. This includes playing animations, processing commands, moving the camera, and more.

However, it does leave its scripting API open and well-documented, so if you need to get custom behaviors into your project, you have the option to do so! It also uses the popular JavaScript programming language, so you don’t have to worry about learning anything too niche.

Sumerian Hosts

What if you’re interested in having virtual characters guide users through different interactions? Well, this is where Sumerian Hosts come in. These 3D animated characters are powered by an easy-to-access AI backend that lets you perform various actions. For example, the hosts have the ability to verbally aloud read scripts you compose or even integrate with voice commands to answer user questions. Of course, you can also customize these hosts to suit your project’s needs. Once again, no advanced programming knowledge is necessary, and you can use these hosts to add innovative solutions to your websites.

Affordability

Amazon Sumerian is quite affordable to host as well. If you sign up to the AWS Free Tier, you can create a scene that is 50MB per less and get access to 100 views/month. However, as long as you don’t need any advanced storage needs, paid hosting only costs $0.38/GB based on bandwidth use (i.e. based on visits). For businesses looking to use this for customer enablement, you won’t be breaking the bank.

What Can You Make with Amazon Sumerian?

Amazon Sumerian has a number of uses, including but not limited to:

  • E-commerce product displays
  • Marketing
  • Job training aids
  • Simulations
  • Education

… and much, much more! The only limit here is your imagination!

Tutorials

Check out the collection of Amazon Sumerian tutorials below to get started building your own 3D and XR projects on the web!

About Amazon Sumerian

User Tutorials

BUILD GAMES

FINAL DAYS: Unlock 250+ coding courses, guided learning paths, help from expert mentors, and more.

]]>
How to Create a Game with Godot 4 – Beginner’s Tutorial https://gamedevacademy.org/godot-4-game-tutorial/ Mon, 09 Jan 2023 03:02:55 +0000 https://godottutorials.pro/?p=3819 Read more]]> Want to make games, but are tired of everything being about Unity and Unreal Engine?

Godot is a great game engine for both 2D and 3D games – making it a multi-purpose engine suitable for many kinds of projects. It’s also open source and has a strong community backing the project, so there are constant updates and new features being released. With the release of Godot 4, it’s also better than ever to explore game development with this fantastic tool.

In this tutorial, we’re going to be learning how to create a very simple coin collection game in Godot 4. We’ll discover not only some of the core tools offered by Godot, but how to use GDScript to render our various mechanics.

Without wasting any more time, let’s dive in!

Project Files

You can download the complete project we’ll be making in this tutorial here.

While we’ll include it later below, you may also wish to download the character sprite and coin sprite that we’ll be using as well.

BUILD GAMES

FINAL DAYS: Unlock 250+ coding courses, guided learning paths, help from expert mentors, and more.

Installing Godot

Right now, Godot 4 is in beta, so let’s go to the Beta Download Page and click Standard Build.

Downloads page showing the Standard build highlighted

Then, we want to click on the download that matches our operating system to begin the download.

Page showing the Godot 4 files available for download

Once that the download is complete, you should have a ZIP file which you can extract the contents of. The application file is the game engine, so we can double click on that to open it up.

User downloads folder with the Godot 4 beta application highlighted

Creating a Project

You should now have the Project Manager window open. This is where all of your Godot projects will be listed. For now, we have none, so let’s create one. Click on the New Project button.

Project Manager window in the Godot Engine with New Project circled

This will open up another window where we need to setup a few things.

  1. Choose a Project Name.
  2. Choose a Project Path. This will be where the project files are located on your computer.
  3. Then, click Create & Edit.

Create New Project window for Godot

Editor Overview

After you create the project, the Godot editor should open up. This is the window where we’ll be spending most of our time in creating our games. This is where we will manage our assets, build our levels and code our gameplay behaviors. At first, this may seem daunting. There are a number of different panels, buttons, and labels. But hopefully, as time goes on, it will all become second nature to you.

Blank Godot project as seen in the Godot editor

Let’s start by looking at what each of these panels do. First, in the center, we have our scene view. This is a window into our game and where we’ll be clicking on objects, dragging them in, and building our levels. At the moment, the engine is set to 3D, so that’s why we have a 3D view.

Godot Editor with the main Editor viewport circled

On the bottom left, we have our File System. This panel contains all of our assets (textures, models, sprites, sound effects, scripts, etc). It’s very similar to the file explorer on your computer.

Godot Editor with the File System panel circled

At the top left, we have the Scene panel. This here is a list of all the nodes currently in our scene. The way Godot works is with a node system. We’ll get more into that later, but it’s important to know that everything in your game (the player, camera, objects, lights, etc) are all nodes. And a scene is a collection of nodes.

Godot Editor with the Scene panel circled

On the right-hand side of our editor, is the Inspector. Whenever we select a node, this panel will populate to show us all of that node’s properties. Its position, rotation, scale and any other things that we might want to modify. If it’s a light node, then the inspector will allow us to change the color, brightness, range, angle, etc.

Godot Editor with the Inspector panel circled

At the top right corner of the screen, we have our play tools. These allow us to test out our game while we’re developing it. We can play, pause, stop, run the current scene, run a specific scene, or use the movie maker.

Godot Editor with a closeup of the play options for Godot

At the top center of the screen, we have a few buttons. These allow us to change what we see down in the large, center-scene viewport. Right now, it’s set to 3D, so that’s why we see our 3D scene. But we can easily switch over to 2D if that’s the type of game we want to create. When we start to code, we’ll be hopping over to the Script tab, as that’s where the text editor is contained.

Godot Editor showing the 2D, 3D, Script, and AssetLib options

For this tutorial though, we’ll be creating a 2D game. So let’s click on the 2D button to switch the window over to 2D mode.

Godot Editor with the 2D button clicked to make a 2D Godot project

Nodes

Now that we’re ready to begin, let’s go over to the Scene panel and create our first root node. Select the 2D Scene.

Godot Scene panel with 2D Scene selected as the Root Node

This is going to create our root node, which is now visible in the list. The way Godot works is through nodes. Everything in your game is nodes. 3D models, tiles, blocks, the player, enemies, UI – everything that can have a position in space or be instanced is going to be a node. Now with these nodes, they can be nested inside of each other. For example, a player node will also have a child node that acts as a collider. Another child node renders its sprite to the screen and another child node for the camera.

If you wish to learn more about Nodes and Scenes, check out the Godot documentation.

Now before we continue, let’s save our scene. A scene is basically a collection of nodes that can be loaded into our game. Press CTRL + S or go to Scene > Save Scene As to save. Let’s call it Level1.tscn, then click Save.

Creating the Player

Let’s get started on creating our player. We, first of all, need to figure out what node we want our player to be, because each node has a specific type. Each node type serves a different purpose, and for our player, we’ll be using a CharacterBody2D node. So to get started, go to the top right corner of the Scene panel, and click on the + icon.

In the Create New Node window, search for CharacterBody2D, select it, then click Create.

Godot CharacterBody2D node circled from the Create New Node window

This will create the node. Now we can double-click on it to rename the node. Rename it to Player.

Player node as seen in the Scene panel of Godot

Now that we have our root player node, we need to give them a visual.

Download this ZIP and extract the PNG inside.

With the image downloaded and extracted, drag it into the FileSystem panel to import.

Character sprite as seen in the Godot FileSystem

Now on our player node, right click it and select Add Child Node.

Add Child Node option highlight for the Player Node in Godot

Search for Sprite2D, select it and then click Create.

Create New Node window in Godot with Sprite2D selected

With the new child node selected, look over at the Inspector and you should see that the panel has a bunch of information. There is a texture property that we need to enter. From the FileSystem, click and drag the character sprite over into the field to assign it.

Sprite assigned to Sprite2D node in the Godot Inspector

Now we can zoom into the player in the scene view, but you’ll notice that it’s blurry.

Blurry sprite as seen in the Godot editor space

To fix this, select the sprite node, go to the inspector, and under the Texture drop-down, set Filter to Nearest.

Godot Inspector with Nearest set for the Texture filter of the Sprite2D node

Our player also needs a collider, so add a new child node of the type CollisionShape2D.

Player node with CollisionShape2D node added in Godot's Scene panel

In the inspector, you can set the Shape to be a RectangleShape2D. Then in the scene view, click and drag on the orange dots to fit it to our sprite.

2D collision box as seen in both the Godot Editor and in the Inspector

And there we go! We now have our player created. Let’s move on to coding, where we’ll get our player moving around.

Moving the Player

To move the player, we need to create a script. This is basically a text file that contains code. The engine can read that and apply whatever gameplay behaviors we define.

With the Player node selected, go down to the bottom of the inspector. Click on the down arrow next to Script and select New Script.

Node creation options with Script options shown

Call it Player.gd then click Create.

Attach Node Script window in Godot with Player script being created

This will then switch us from 3D mode to Script mode and we’ll see some default code here:

Godot script showing default code for movement

Delete everything except for the first line.

Clean Godot script with only "extends CharacterBody2D" left

Now let’s add in some code:

func _physics_process(delta):
  
    velocity = Vector2()
  
    if Input.is_key_pressed(KEY_LEFT):
        velocity.x -= 1
    if Input.is_key_pressed(KEY_RIGHT):
        velocity.x += 1
    if Input.is_key_pressed(KEY_UP):
        velocity.y -= 1
    if Input.is_key_pressed(KEY_DOWN):
        velocity.y += 1
    
    velocity *= 50	
    
    move_and_slide()

What we’re doing here is detecting inputs from the arrow keys, then changing the value of our velocity based on that. At the end, we’re multiplying it all by 50, so that we move at 50 pixels per second. And finally, move_and_slide will apply those changes to our CharacterBody2D.

If you now go to the top right corner of the screen and click on the Play button, you can test it out.

Godot project playing in editor

One thing you will notice, is that after you press play, a window will open. But our player is so small! And it’s in the top left corner of the screen. To fix this, we can go to our player node and add a new child node of type Camera2D.

Godot Scene panel with Camera2D node added to the Player node

Then in the inspector, make sure to enable Current. And for the Zoom, set that to 3, 3. This will make it so the camera is closer to the player and we can get a much better view of them.

Camera2D node in Godot's Inspector showing Zoom options

Now when you press play, it should look like this:

Godot project playing with zoom on character from Camera2D node

Collectibles

When we play our game, there’s one problem. There’s nothing to do! So let’s add in some coins that the player can collect.

To begin, download the coin sprite and import it into your project.

To begin, download the coin sprite and import it into your project.

Godot FileSystem showing a new tile sprite for coins available

Next, in the Scene panel, click on the + and create a new node of type Area2D. Make sure to rename it to Coin. Then as a child of Coin, add a Sprite2D node.

Coin node with Sprite2D node added in the Godot Scene panel

In the Inspector:

  • Set the Texture to be the coin sprite.
  • Set the Position to 0, 0.
  • Set the Filter to Nearest.

Select the Coin node, then at the top of the scene window, select the Move Tool. This will allow us to click and drag on the coin to move it around our scene.

Godot scene with the coin added and moved from behind the player

As a child of the Coin, create a CollisionShape2D node. Then in the Inspector, set the Shape to CircleShape2D. We can then click and drag on the orange circle to resize the collider.

Coin with the Collision2D node added to the coin node object in Godot

Finally, let’s create a script for the coin.

  1. Select the Coin node.
  2. In the inspector, create a new script called Coin.

Here’s what our Script panel should look like now.

Script Panel in Godot with the Coin script added

With the Coin selected, go over to the inspector and swap over to the Node tab. Here, we want to double-click on body_Entered(body: Node2D).

Node panel in Godot with body_entered circled under the Area2D options

In this window, select the Coin and click Connect. What we’re doing here is basically setting it up so that the coin script gets informed when a body hits the coin collider.

Connect Signal to a Method window in Godot with Coin circled

This new bit of code should then be added to the script automatically.

Godot coin script with new functionality automatically added

Delete the “pass” line of code and add these three new lines:

func _on_body_entered(body):
    body.scale.x += 0.2
    body.scale.y += 0.2
    queue_free()

What we’re doing here, is increasing the size of the colliding object (player) when they hit the coin. Then with queue_free(), we are destroying the coin so the player can only collect it once.

Back in our 2D panel, let’s make some more Coins. The best practice is to turn it into a scene. Much like how our level is saved as Level1.tscn, we are going to make our coin a scene. This means we can have many different instances of it in our scene which all inherit from the same blueprint. So to do this, click and drag the coin node into the FileSystem. Call it coin and click save.

Coin object node dragged to FileSystem in Godot

Now we can duplicate the coin (Ctrl + D) and move them around like so.

Godot scene with many instances of Coin added

Press play and we can test it out!

Play test of character and coins in Godot project

Conclusion

And there we go! We’ve made a small, introductory game with the Godot game engine. While this game is very simple, it does serve to not only show you what Godot 4 is all about, but some of the core tools you’ll be using in any Godot game project.

From here, you can expand upon our project, or create an entirely new game with the knowledge that you’ve learned. Perhaps you’ll want to turn this into a platformer with tons of jumping mechanics. Or maybe you want to make a bullet hell or even a strategy game. There is a ton left to explore, but hopefully these foundations will help you in taking that next step.

If you’re interested in learning more about the specifics with Godot, then you can read their documentation here. Thanks for following along, and good luck with your future Godot 4 games!

]]>
Phaser 4 Tutorials – Complete Guide https://gamedevacademy.org/phaser-4-tutorial/ Sat, 07 Jan 2023 03:18:49 +0000 https://phasertutorials.com/?p=3104 Read more]]> Phaser is a comprehensive 2D game engine built in JavaScript, which allows both hobbyists and professional developers to rapidly craft cross-platform HTML5 games for the browser.

As technology and programming languages evolve, it’s common to see popular libraries improve and incorporate new best practices and also community feedback. Such is the case with Phaser and it’s upcoming version 4, which will incorporate modern JavaScript standards into this popular HTML5 game framework.

Finding good Phaser tutorials, courses and resources is always challenging, that’s why at Zenva we’ve created comprehensive series for various versions of Phaser over the years, and supported the project both via Patreon and through our affiliate program. Phaser 4 will be no exception once it’s out.

What do we know about Phaser 4?

Thanks to Richard Davey’s (the creator of Phaser) updates in Patreon, we know a few things about Phaser 4 and how it will work. The R&D repository of Phaser 4 can also be checked out on Github. Whilst we don’t have any official Phaser 4 tutorials yet, there are already plenty of resources and examples to learn from.

What we do know is that Phaser 4 will firstly come out as Phaser Nano – a simplified version of Phaser 4 which will only provide minimum functionality. According to the last update via Patreon, Phaser Nano is only 7.6 kb when minified + compressed.

Could we be looking at Phaser Nano games in the next JS13kGames competition? Only time will tell.

Phaser 4 Examples

The first examples of Phaser 4 can be checked out at the new Phaser 4 Evolution website, where screenshots of Phaser 4’s primitives, shaders, and even some higher-level constructs such as sprites and animations – all fundamental to any 2D game engine. Over time, the set of examples is expected to grow and include more of Phaser 4’s features.

Phaser 4 Tutorial Primitives  Phaser 4 Tutorial Quads

Phaser 4 Tutorial Sprite  Phaser 4 Tutorial Sprite

Phaser 4 Coding Style

Phaser 4 not just utilizes, but fully embraces modern JavaScript ES standards. This will be a significant improvement compared to Phaser 3, which was somewhere in between. The lack of modern JavaScript is a common complaint we received from our students, so we are quite happy to see this new approach.

Below an example from Richard Davery’s Patreon (support to see this project grow):

Phaser 4 Tutorial - Coding Style

Phaser 4 Links

You can also learn more about making games or, specifically, HTML5 games in general!

BUILD GAMES

FINAL DAYS: Unlock 250+ coding courses, guided learning paths, help from expert mentors, and more.

]]>
How to Code a Virtual Reality Game https://gamedevacademy.org/how-to-code-a-vr-game/ Mon, 01 Aug 2022 06:06:31 +0000 https://vrgamedevelopment.pro/?p=3730 Read more]]> In recent years, virtual reality has become one of the hottest topics around. Though it has been attempted several times in the past, it was often written off as a gimmick before being able to truly take hold. However, this time virtual reality is here to say – so what does that mean for everyone?

With new technology comes new ways to create games. Virtual reality offers a whole new way to immerse players into worlds, provide interactive VR experiences, and just all-around present stories in a new and different light. Though VR still has some limitations to work out, each VR experience is truly unique when it comes to games – and it’s only getting better.

Thus, whether you’re a beginner or veteran game developer, you might have had your eye on jumping into this fast-growing industry. But… how does one actually code a VR game? In this post, we will help you both understand virtual reality, how it works, and how you can develop exciting games with this exciting, cutting edge technology. Let’s jump into it, and learn just how to code a VR game!

Man using a VR headset

What is Virtual Reality?

Virtual reality (VR) is the simulation of 3D spaces that you can experience through a headset. You can look around and with some headsets – move. With your entire vision being controlled by the headset, along with the ability to move and look around in the real world – immersive VR is a very sought out technology.

In some more advanced headsets, you can use controllers that act as your hands. You can pickup objects, throw them and interact with the world around you. Virtual reality is a technology that can be found on PC, mobile and consoles with a wide range of different headsets.

As the years go on, the headsets are getting cheaper and the catalogue of games is getting larger and larger. At the start of the year, Valve released Half-Life: Alyx. One of the first AAA VR game and a major turning point for the industry. There are also innovative companies like Magic Leap trying to bridge the gap between VR and AR, showing just how robust this technology can get.

Woman using a VR headset

Types of Virtual Reality

When it comes to VR, there are generally two different types of VR headsets and VR experiences. Stationary and room-scale experiences.

Stationary

The most basic form of VR which generally has the cheapest VR headsets. You can look around in VR, but can’t move your head. These VR headsets sometimes have a small controller with basic functionality. Having a seated VR experience is the most accessible type of VR.

Each VR headset below can give you a stationary VR experience:

  • Oculus Go
  • Google Cardboard
  • Samsung Gear VR

BUILD YOUR OWN GAMES

Get 250+ coding courses for

$1

AVAILABLE FOR A LIMITED TIME ONLY

Room-Scale

When it comes to having the most immersive experience, room-scale VR is what you want. This form of VR allows you to not only look around, but move around too in a virtual world. These VR headsets normally also have motion-tracked controllers so you can interact with the world.

Each VR headset can give you a room-scale experience:

  • Oculus Rift
  • Oculus Quest
  • HTC Vive
  • Valve Index
  • PlayStation VR

oculus rift s

Which Game Engine Should I Choose?

When it comes down to creating a VR game, what you need to do is choose a game engine. What’s a game engine? A game engine is software that allows you to create video games. Instead of coding everything from scratch, you only need to code the gameplay aspects. The engine handles rendering, objects, data management and many more things.

When it comes down to VR development – there are two game engines our there which do it great.

Being the most popular game engine, Unity allows you to create pretty much any kind of game. It has universal VR support, which means you can make your game once and can play it on pretty much any VR device. Unity’s VR tools are extensive and require minimal coding.

Pros

    • Universal VR framework
    • Very versatile
    • Large amount of platforms to build to

Cons

    • Less AAA presence than Unreal Engine
    • Less graphical fidelity than Unreal Engine

The Unreal Engine has a focus on 3D graphics. So if you want the best visual fidelity in your VR game, then Unreal may be the way to go.

Pros

    • Graphically, one of the best game engines out there
    • Visual scripting (no coding required)

Cons

    • Less versatile than Unity

Above we’ve given a brief overview of the two major players. However, if you’re interested in more information, you can also check out any of the following articles:

Best Practices for VR Development

When developing a virtual reality game, you need to be cautious about how you develop your game. Motion sickness is something that can easily occur in VR. Some people are fine with it, while others are very sensitive to it. There are a number of things you need to keep in mind in order to reduce the chance of motion sickness.

  • Only the player can move themselves around.
  • If you do want to move the player around (out of their control), either block out their peripheral vision or place the player in a cockpit (stationary context).
  • Make sure that the frames per second (FPS) are greater than 60. Low FPS can be a large factor in motion sickness.
  • When transitioning scenes or areas, you’ll want to fade the screen out then back in.
  • Player movement can be done with smooth movement or teleportation.
    • Smooth movement is like any other game. You can press a button or move a joystick to directly move your player around.
    • Teleportation is where you can aim your controller point to a location to teleport to. When teleporting, you want to make sure the screen fades out/in to hide the direct change in position.

Demonstration for grabbing VR objects with controller

Links

If you’re wanting to get into VR game development, you should start with the Unity or Unreal game engines.

Unity

Unreal Engine

Here at Zenva, we’ve created a couple of VR games.

Read More About Each VR Headset

RPG made for Unity VR

Conclusion

Congratulations if you’ve reached this point! While we’ve only just touched the surface here, you should now have a better understanding of how to get started coding your own VR game.

There is, of course, a lot to consider when developing for VR – least of all which VR headset to target and what sort of game you even want to create. Remember, though, that even if new, VR offers tons of freedom to create novel games never seen before. VR is truly a new frontier of game development, whether for games or just creating a virtual world. So even if you don’t stick with it long term, gaining the skills for virtual reality can only be a net positive!

BUILD GAMES

FINAL DAYS: Unlock 250+ coding courses, guided learning paths, help from expert mentors, and more.

]]>
Best AR Tutorials: Beginner Level Augmented Reality https://gamedevacademy.org/best-ar-tutorials/ Wed, 06 Jul 2022 08:15:21 +0000 https://vrgamedevelopment.pro/?p=3904 Read more]]> Augmented reality (AR) is everywhere! From powering popular games such as Pokémon Go, the technology has expanded to become an essential tool of modern enterprises – including medicine, education, travel, retail, architecture, engineering, and real estate to name a few.

AR sounds exciting, right? But where do you get started learning this explosive new technology? We’ve compiled a list of the best AR tutorials covering AR fundamentals: from setting up your development environment, including AR software and SDKs (software development kits), to building AR experiences for iOS, Android, and the web!

Let’s dive in and learn how to make our own augmented reality apps!

What is AR?

Before we begin, just what is AR? How is it different from Virtual Reality (VR)? Essentially, AR is a technology paradigm for bringing the virtual and “real world” together in entertaining and useful ways. While VR is about replacing the “real world” with an immersive digital experience, AR is about adding digital layers (data, sound, video, graphics, GPS overlays, and more) on top of “real world” objects. This digital content then responds, in real-time, to changes in the user’s environment.

There’s of course a lot to it, but as you review the ar tutorials below, you’ll discover just how easy mastering AR can be!

New to Augmented Reality? Start Here!

This 4-part AR tutorials series from Reality School starts by defining Augmented Reality (AR) and answering common AR-related questions. From there, explore how AR works including basic concepts such as mapping your environment and tracking objects within that environment. Learn how to place virtual objects in the “real world” and create an AR experience.

The next couple of videos show you how to create and share simple AR experiences directly on your mobile device without writing any actual code! In the first example, you’ll create a “Happy Birthday” experience from scratch. In the next example, you’ll create an AR Bowling game with no code. Both examples use Apple’s Reality Composer App (Android device options available) and provide a simple but amazing introduction to AR possibilities without leaving the touch experience of your mobile device.

Key Topics Covered:

  • What is Augmented Reality?
  • Mapping your Environment
  • Tracking within your Environment
  • Placement of AR Content
  • Making AR experience realistic
  • Creating an AR experience with just your mobile device
  • Creating an AR game with just your mobile device

Duration: 40 minutes of video training

Access Now: New to Augmented Reality? Start Here! 

Augmented Reality (AR) Development

Banner for Zenva's YouTube Channel Playlist for Augmented Reality Development

In this 9-part AR tutorial series from Zenva, learn how to set up your development environment to create immersive AR apps and games using the Unity game engine. Unity is one of the most popular and versatile engines for creating 2D, 3D, VR, and AR experiences across a large number of platforms.

Within Unity, learn how to install and set up the two main AR software development kits (SDK): Apple’s ARKit for iOS devices and Google’s ARCore for Android Devices. You’ll also learn about Unity’s cross-platform API (AR Foundation) that utilizes both ARKit and ARCore to allow you to develop a single app that can then build to both iOS and Android devices seamlessly.

Finally, learn how to install and set up the EasyAR augmented reality engine within Unity. EasyAR provides powerful sensing, tracking, and mapping abilities to your AR app. Beyond install, this tutorial provides instruction on project setup and image targets.

Key Topics Covered:

  • Apple ARKit – Install and setup SDK for iOS builds
  • Google ARCore – Install and setup SDK for Android builds
  • AR Foundation – Install and setup of Unity’s cross-platform API
  • EasyAR – Install SDK, setup project and image targets

Duration: 1 hour of video training

Access Now: Augmented Reality (AR) Development

Augmented Reality 101 – AR Foundation Basics

Learn the basics of AR in this free course from Zenva. This tutorial will guide you through downloading and configuring AR Foundation for Unity. Gain the core skills you need to develop a simple Augmented Reality game that teaches you how to spawn virtual objects into the “real world” by tapping your mobile device screen.

You’ll learn the fundamentals of Unity’s AR Foundation that allows you to target iOS and Android with a single, cross-platform API. With these skills, you’ll be ready to take on more complex AR tutorials on your way to developing your own apps and games.

Key Topics Covered:

  • Set up AR Foundation in Unity
  • Detect planes using a mobile device’s main camera
  • Place indicators for virtual object positions
  • Placing objects into the “real world” with tap gestures
  • Build your AR app to iOS and Android

Duration: 1 hour of video training

Access Now: Augmented Reality 101 – AR Foundation Basics

Unity AR Foundation Series – Setup and Concepts

Created by Dinesh Punni, this 9-part AR tutorial series starts with setting up your Unity AR Foundation development environment including the required setup for both iOS and Android builds (ARKit + ARCore).

Next, you’ll learn AR Foundation concepts including image tracking, plane detection, and adding AR objects to a scene using mobile tap. The series rounds out your AR Foundation introduction with tutorials on face tracking and filtered planes.

Key Topics Covered:

  • Setup for Android
  • Setup for iOS
  • Image tracking
  • Plane detection
  • Place object in AR with mobile gesture
  • Face tracking basics
  • Filtered planes

Duration: 2 hours of video training

Access Now: Unity AR Foundation Series – Setup and Concepts

AR Game Dev Series

This 11-part AR tutorial series from Mohd Hamza starts with installing, setting up, and providing an overview of Unity with its AR Foundation API. With the tools in place, the tutorial walks you through creating a beginner-level AR app from scratch.

Next, you’ll learn how to create and interact with AR objects using sliders and mobile touch gestures to rotate, scale, and interact with AR objects. From there you’ll explore basic game dev concepts such as player movement, spawning enemies, creating game bullets, image tracking, collision effects, and enemy re-spawning. Finally, you’ll learn game enhancements such as adding a scoreboard and timer!

Key Topics Covered:

  • Install the Unity Game Engine from Unity Hub
  • Unity AR Foundation – Set up and overview
  • Rotate and scale AR Objects using sliders
  • How to scale AR objects using mobile gestures
  • Spawn AR objects and interact with touch gestures
  • Control player movement using joystick and touch controls
  • Use primitive objects, such as spheres, to create game bullets
  • Introduce interaction effects when objects collide
  • Learn how to re-spawn objects after they’ve been destroyed
  • Use canvas and text to create a scoreboard
  • Enhance gameplay by creating a countdown timer bar
  • AR Image Tracking
  • Use touch gestures to scale, rotate, and drag AR objects

Duration: 1.5 hours of video training

Access Now: AR Game Dev Series

AR App Dev Series

In this 15-part AR tutorial series from Joystick Lab, you’ll learn AR Foundation concepts using real-world examples. The series takes you from very basic to advanced AR concepts using Unity and its AR Foundation API. In this series, you’ll create four complete AR apps from scratch including a “Floor Tile” e-commerce app and an “IKEA style” app.

Through project-based learning, you’ll gain the skills to create and interact with AR objects including touch gestures, precise positioning, and object rotation. You’ll also learn more advanced techniques including scrolling with scale animation, how to store object information, using Addressable to load assets from Google Cloud Platform, how to handle AR objects dynamically using scriptable objects, and how to use Unity’s XR interaction toolkit for object manipulation (select, rotate, translate, scale).

Key Topics Covered:

  • Create custom plane texture
  • Add AR interaction
  • Select AR objects in a scene
  • How to block AR input from UI touch
  • AR object rotation
  • Techniques to ensure precise positioning of AR objects
  • Advanced scrolling effect with scale tween animation
  • Handle AR objects dynamically using scriptable objects
  • Store information about AR objects
  • Use Addressable to load assets from Google Cloud Platform
  • Use XR interaction toolkit for object manipulation (select, rotate, translate, scale)
  • Create app builds

Duration: 3.5 hours of video training

Access Now: AR App Dev Series

Create an Augmented Reality App with Unity and Vuforia

For this AR tutorial from Playful Technology, you’ll be provided with a step-by-step guide on creating an AR app using Unity and Vuforia.

Vuforia, an SDK for creating AR apps, integrates with Unity to add advanced computer vision functionality. This enables your app to recognize images and objects in the real world and overlay additional or alternative content on top of them when viewed through a device camera.

Key Topics Covered:

  • Overlaying real-world image with an alternative image
  • Overlaying real-world image with a video clip

Duration: 25 minutes of video training

Access Now: Create an Augmented Reality App with Unity and Vuforia

Marker-Based AR Apps for Beginners with EasyAR

Banner for Zenva's Marker-Based AR Apps for Beginners with EasyAR Course

This AR course from Zenva teaches you how to build Marker-Based games using Unity and EasyAR.

EasyAR Sense, an SDK for creating AR apps, integrates with Unity to add planar image tracking, motion tracking, and more. Using EasyAR’s marker-based technology, you can scan and recognize images and manipulate 3D models on image targets to create interactive AR apps and games.

Key Topics Covered:

  • Set up EasyAR SDK in Unity
  • Select image targets to track
  • Instantiate 3D models on top of tracked image targets in AR
  • Control image rotation and orientation
  • Cast virtual beams between matching color points

Duration: 1 hour of video training

Access Now: Marker-Based AR Apps for Beginners with EasyAR

Marker-Based AR Games for Beginners with AR.js

Banner for Zenva's Marker-Based AR Games for Beginners with AR.js Course

Developed by Zenva, this AR course teaches you how to build marker-based games for the web using the lightweight and open source AR.js library. In this course, you’ll learn by building a marker-based AR puzzle game.

AR.js, built on top of two popular web-based 3D frameworks, A-Frame and Three.js, allows you to create AR apps that can be accessed on the web with any WebGL compatible device. This course guides you step-by-step through the process of building a marker-based jigsaw puzzle game that uses AR and image markers to take a custom image, slice, shuffle, and move the pieces back together to win the game.

Key Topics Covered:

  • Understand marker-based AR
  • Set up AR.js for web projects
  • Implement image capturing
  • Slice images into pieces using code
  • Track image marker position and rotation
  • Detect win conditions based on marker image positions

Duration: 2 hours of video training

Access Now: Marker-Based AR Games for Beginners with AR.js

WebAR Markerless Object Placement using WebXR API

This AR tutorial from AllInReality explains WebAR markerless object placement in the browser using the WebXR API. The tutorial covers several aspects of WebAR using WebXR technology including sample AR applications, object placement, modification, and reticle change plus testing WebAR apps using the WebXR API Emulator.

Key Topics Covered:

  • Finding and cloning WebAR samples
  • WebAR building and hosting
  • WebAR object placement, modification, and reticle change
  • WebXR API
  • WebXR emulator
  • WebAR application testing using an emulator
  • WebAR application testing using ARCore model device

Duration: 23 minutes of video training

Access Now: WebAR Markerless Object Placement using WebXR API

Augmented Reality Mini-Degree

Banner for Zenva's Augmented Reality Mini-Degree

Take your AR Education to the next level with this complete curriculum from Zenva. The Augmented Reality Mini-Degree is a complete curriculum developed by industry experts with certifications from Unity Technologies.

After completing this project-based Mini-Degree, you’ll have the experience to take on real projects, a valuable certification to add to your resume, and more than a dozen immersive AR games and applications to enhance your professional portfolio.

Key Topics Covered:

  • Using AR frameworks in Unity including AR Foundation, ARCore, ARKit and EasyAR
  • Detecting planes using a mobile device’s camera
  • AR techniques for both marker-based and markerless
  • Adding and manipulating virtual objects in a physical world environment
  • Track images, objects, and more
  • Combine virtual and physical world mechanics in a variety of apps, games, and experiences

Duration: 12 hours of video training

Access Now: Augmented Reality Mini-Degree

Extra Resources

For those new to AR development, we recommend reading our How to Code an Augmented Reality Application article to get you started!

If you enjoy learning from books, then the free eBook – AR Game Development for Beginners is a good next step.

Alternatively, if you’re just ready to explore more AR tutorials, you can check out some of the tutorials here on this blog.

Ending Words

Unsurprisingly, this list of best AR tutorials is just the beginning! With AR powering applications in every industry, there is an extremely bright future for anyone ready to learn this awesome and emerging technology. Augmented reality is also constantly in flux and changing all the time to match both demand and technological evolution, so you can expect AR to grow exponentially in the coming years. Regardless though, we wish you all the best on this exciting journey, and we can’t wait to see the AR apps you create!

BUILD GAMES

FINAL DAYS: Unlock 250+ coding courses, guided learning paths, help from expert mentors, and more.

]]>
Best VR Tutorials for Beginners https://gamedevacademy.org/best-vr-tutorials/ Tue, 06 Jul 2021 08:15:23 +0000 https://vrgamedevelopment.pro/?p=3923 Read more]]> Virtual Reality (VR) is a part of an emerging multibillion-dollar market – with hundreds of millions of users worldwide, endless possibilities, high projected growth, and significant opportunities for developers! Once thought of in terms of science fiction and then games, today VR is an essential tool of modern life powering experiences in every industry including medicine, education, travel, retail, architecture, engineering, real estate, and the military to name a few.

With such exciting opportunities, developers willing to learn can gain a distinct advantage in the market! Below, we’ve compiled some of the best VR tutorials for beginners to get you started developing your own VR experiences as a fun hobby or professional pursuit. The future is exciting and VR is here to stay… so let’s get started!

What is VR?

So what is VR and how is it different from Augmented Reality (AR)? Essentially, VR is a technology paradigm for replacing the “real world” with an immersive digital environment that is artificially constructed and therefore completely void of naturally enforced limitations (gravity, oxygen, and proximity to name a few). While AR is a technology paradigm for bringing the virtual and “real world” together by adding digital layers (data, sound, video, graphics, GPS overlays, and more) on top of “real world” objects, then interacting and responding, in real-time, to changes in the user’s environment, VR is about replacing the user’s environment entirely.

There is, of course, a lot to VR development, so the VR tutorials below will help further cement these concepts!

Learn VR Game Development in 2 Hours with Unity – COMPLETE COURSE!

This VR course from Zenva provides a complete introduction to VR game development with Unity across various platforms, including Google Cardboard (Android and iOS), Gear VR, Oculus, and HTC Vive.

This series is great for anyone interested in creating VR games with Unity but doesn’t know where to start! Assuming no prior experience, the tutorial starts by answering the question: What is VR? Next, foundational concepts such as tracked objects, degrees of freedom, and the reality-virtuality continuum are explained.

You’ll build a flying platform demo during the course where the player is transported to different destinations in a low-poly world. This simple example covers the building process in Unity for all the main VR platforms.

Key Topics Covered:

  • What is VR
  • Models and platform movement
  • Tracked objects
  • Degrees of freedom
  • Reality-virtuality continuum
  • Circuit implementation with arrays
  • SDK and phone setup
  • Google Cardboard for iOS and Android
  • Gear VR
  • Oculus Right
  • HTC Vive
  • OpenVR

Duration: 2 hours of video training

Access Now: Learn VR Game Development in 2 Hours with Unity – COMPLETE COURSE!

Introduction to VR in Unity

Created by Valem, this 11-part VR tutorials series starts with setting up a VR project in Unity from scratch. The series then delves into VR in Unity beginning with basic input and hand presence. Next, you’ll learn popular VR movement concepts including teleportation and continuous movement.

The series continues making use of the XR Interaction Toolkit to grab and use objects, deal with faraway objects using ray interactions to grab, interact with the UI and trigger any behavior. From there you’ll explore popular Unity XR Toolkit concepts such as using a lever, door, and drawer type interactions, using drop zones that snap objects to predefined positions, and trigger custom behavior. Learn how to incorporate physics and allow players to climb in your scene as well as use two-hand grab techniques including the C# scripting code required. Finally, explore Unity’s new input system and OpenXR support.

Key Topics Covered:

  • VR Setup in Unity
  • Input and hand presence
  • Teleportation
  • Continuous smooth movement
  • Grab interaction
  • Ray interaction
  • Door, lever, drawer interaction
  • Snap or drop zones
  • Trigger custom behaviours
  • Climbing with physics
  • Two hand grab technique
  • Unity’s new input system and OpenXR support

Duration: 3.5 hours of video training

Access Now: Introduction to VR in Unity

How to Make a VR Game: Beginner’s Guide

In this 14-part VR tutorials series from Justin P Barnett, you begin with an introduction to making a VR game using Unity, OpenXR, and Unity’s XR Plugin and XR Interaction Toolkit. After a beginner-friendly introduction, explore Unity’s action-based input system and new Interaction System.

Next, you’ll learn popular VR movement concepts including VR teleportation and natural-looking continuous movement to avoid possible VR-induced motion sickness.

The series continues with techniques to animate hands in your VR scene in a way that connects your player to the game in a realistic way, make VR buttons using joints and physics-based actions, use inverse kinematics to simulate accurate joints for upper and lower body movements, and implement physic-based two hand grab techniques with the help of C# scripting.

Key Topics Covered:

  • Introduction to Unity VR development
  • Beginner-friendly VR games and Unity’s XR Plugin
  • Unity’s action-based input system and how it works in VR
  • Unity’s XR Interaction Toolkit
  • OpenXR
  • Jumping in Unity VR
  • Continuous movement in Unity VR with OpenXR Locomotion and FPS
  • VR Teleportation using Unity’s input system and XR Interaction Toolkit
  • Hand animation using Unity’s input system, XR Plugin, and physics-based animation
  • VR buttons using configurable joints and physics-based actions
  • Inverse kinematics to create realistic joint movements for upper and lower body movement
  • Physics-based two hand grab technique with C# scripting

Duration: 4 hours of video training

Access Now: How to Make a VR Game: Beginner’s Guide

Unity XR Interaction Toolkit

Get acquainted with Unity’s XR Interaction Toolkit, including installation and setup, in this VR tutorial by Zenva. After setting up your basic VR project in Unity, this tutorial covers an overview of Unity’s XR Interaction Toolkit including what it’s used for. You’re then walked step-by-step through the installation process.

With the XR Interaction Toolkit successfully installed, the tutorial walks you through creating a project to demonstrate its functionality including interacting with objects, as well using hands to grab objects.

Key Topics Covered:

  • VR project setup in Unity
  • Overview of Unity’s XR Interaction Toolkit
  • Installation of Unity’s XR Interaction Toolkit
  • VR lighting and color in Unity
  • Setup VR camera to reflect a VR headset
  • Setup Oculus Quest support in Unity
  • Interactable objects
  • Hand grabbing

Duration: 32 minutes of video training

Access Now: Unity XR Interaction Toolkit

Unity XR Toolkit for VR Series

This 6-part VR tutorials series from VR with Andrew introduces you to the Unity XR Interaction Toolkit – including an overview and setup within Unity. The series then takes you through key features and basic examples including interactions, teleporting, canvas pointer, snap rotation, socket interactions, and creating realistic VR button presses.

Key Topics Covered:

  • XR Interaction Toolkit setup in Unity
  • Interactions
  • Teleporting
  • Canvas pointer
  • Snap rotation
  • Socket interactions
  • Realistic VR button press

Duration: 50 minutes of video training

Access Now: Unity XR Toolkit for VR Series

VR Rhythm Game BASICS – Note Breaking Tutorial

In this VR tutorial from Zenva, you’ll learn techniques for creating VR experiences by building a block-breaking rhythm game for Oculus Quest, Oculus Quest 2, and Oculus Rift S using Unity’s XR Interaction Toolkit systems and C#.

Through building this game, you’ll master techniques for creating interactive blocks that can be placed along a moving track and sliced with VR controllers to the beats of a song. You’ll learn both how to utilize Unity’s XR Interaction Toolkit for games and how to create systems for rhythm games that can be expanded with additional songs, different block types, and more. You will learn how to set up interactable objects, create animations, detect collisions, and more.

Key Topics Covered:

  • VR Project setup in Unity
  • Overview of Unity’s XR Interaction Toolkit
  • Installation of Unity’s XR Interaction Toolkit
  • VR camera
  • VR controllers
  • Interactive objects
  • Animations
  • Collision detection

Duration: 37 minutes of video training

Access Now: VR Rhythm Game BASICS – Note Breaking Tutorial

WebXR APIs and Examples

This informational and official VR tutorial from WebXR and W3C Immersive Web Chair, Ada Rose Cannon, provides a comprehensive look at the exciting and emerging world of WebXR – including technology overview, key device APIs, important features, complementary technologies, current ecosystem, and a wide range of examples.

The video is accompanied by a long list of timestamped topics that allow you to get the full WebXR overview or jump between topics that catch your attention. A small sample of topics is listed below.

Key Topics Covered:

  • WebXR features and device APIs
  • Immersive devices and VR headsets
  • WebXR with mobile devices
  • VR on the web
  • Demos
  • Related technologies including WebGL, Three.js, A-Frame, React360, and more
  • Anchors, layers, and hand interactions
  • WebXR resources

Duration: 31 minutes of video training

Access Now: WebXR APIs and Examples

Basics of Cardboard VR Game in Unity – Google VR Tutorial

For this VR tutorial, created by The Game Guy, you’ll learn the basics of making a Cardboard VR game in Unity using the Google VR SDK. The tutorial teaches you how to create a beginner-friendly game that allows you to look around and interact with your environment.

Key Topics Covered:

  • Basic game creation
  • Google VR Cardboard
  • Google VR SDK

Duration: 18 minutes of video training

Access Now: Basics of Cardboard VR Game in Unity – Google VR Tutorial

Virtual Reality Development

In this 34-part VR tutorials series from Zenva, you’ll find some of the most important VR techniques required to develop any VR games, apps, and experiences that you can imagine!

Learn the basics of VR in Unity such as environment setups, managing assets, teleportation, grabbing and throwing objects, scaling, modular level design, UI screens, and working with components.

Or, expand your knowledge with a specific game and app concepts like 360 photos, adapting existing 3D games to VR, space and underwater experiences, RPG and FPS games, piloting a ship, developing a fitness app, and much more.

Key Topics Covered:

  • Environment setups
  • Draggable components
  • Adapting 3D games to VR
  • FPS mechanics
  • RPG mechanics
  • Room-scale experiences
  • Tracked controllers
  • Mobile VR
  • Grabbing and throwing objects
  • Modular level design
  • Oculus apps
  • Working with 360° photos and videos
  • Game design documents

Duration: 6 hours of video training

Access Now: Virtual Reality Development

Virtual Reality Mini-Degree

Banner for Zenva's Virtual Reality Mini-Degree

Take your VR education to the next level with the Virtual Reality Mini-Degree from Zenva. This complete curriculum was developed by industry experts with certifications from Unity Technologies, CompTIA, and more.

The Virtual Reality Mini-Degree is designed to give you everything you need to build VR games and applications for all modern VR platforms. You’ll learn by building real projects – including a space station app, a 360° video quiz, a first-person shooter, a platformer game, and more. Whether your goal is to build VR experiences as a hobby or launch a career in this exciting, fast-growing field, this curriculum will give you everything you need to reach your goals.

After completing this project-based Mini-Degree you’ll have the experience to take on real VR projects and have 22 professional VR games and apps to enhance your portfolio.

Key Topics Covered:

  • Coding basics with C# and Unity
  • Teleportation
  • VR-optimized UI design
  • Hand-tracked controllers
  • Working with 360° media (photos and video)
  • Preventing simulator sickness
  • Industry best-practices for mobile and desktop VR

Duration: 56 hours of video training

Access Now: Virtual Reality Mini-Degree

Extra Resources

For those new to VR development, we recommend reading our Introduction to Virtual Reality and How to Code a Virtual Reality Game: A Beginner’s Guide articles to get you started!

If you enjoy learning from books, then the free eBook – VR Game Development with Unity for Human Beings is a good next step.

Alternatively, if you’re just ready to dive deep into VR tutorials, you can check out some of the tutorials here on this VR Game Development blog.

Ending Words

Virtual reality is an expansive topic, so this list of VR tutorials is just the beginning! However, particularly for beginners, this list will help you take your first steps and establish a good baseline foundation before diving into more advanced topics. Regardless, though, with VR enabling immersive experiences in every industry, there is an extremely bright future for anyone ready to learn this awesome and emerging technology!

We wish you all the best on this exciting journey!

BUILD GAMES

FINAL DAYS: Unlock 250+ coding courses, guided learning paths, help from expert mentors, and more.

]]>
Free Course – Unity’s XR Interaction Toolkit for VR https://gamedevacademy.org/xr-interaction-toolkit-tutorial/ Wed, 17 Mar 2021 15:00:51 +0000 https://vrgamedevelopment.pro/?p=3857 Read more]]>

Learn to create virtual reality games without the need to code – all by exploring the basics of Unity’s XR Interaction Toolkit. You can also dive further into using the XR Interaction Toolkit by checking out the full course below!

Discover the XR Interaction Toolkit for VR

About

Following the guidance of Unity game developer, Daniel Buckley, you’ll learn the foundations of not only what the XR Interaction Toolkit is, but how you can integrate it into your very own projects for Oculus Quest, Oculus Quest 2, and Oculus Rift S. You’ll also explore how, without any C# coding, you can use this toolkit to create interactable objects quickly and easily. No matter what type of VR game you’d like to build, these techniques will provide you with a whole new avenue by which to explore the world of virtual reality development!

]]>
How to Create an EasyAR Image Target in Unity https://gamedevacademy.org/augmented-easyar-image-target-tutorial/ Fri, 23 Oct 2020 15:00:41 +0000 https://vrgamedevelopment.pro/?p=3775 Read more]]>

You can access the full course here: EasyAR and Marker-Based Apps for Beginners

Tutorial

In this lesson, we are going to work on setting up our image target inside of Unity.

EasyAR documentation (image tracking)

EasyAR Image Tracking documentation

We first need to understand what kind of image targets to have.

We see a series of examples stating the dos and donts.  For example, the image on the left has rich textures whereas the one on the right does not.

EasyAR Image targets showing bad vs. good image types

The next recommendation is that texture should not be in a repeated pattern. This is so that, during identification, it is able to find unique elements of the image target to know its position, scale, orientation

Repeated pattern image which should not be used for EasyAR Image targets

The image content needs to fill up as much of the object as possible. Having a big margin (right) is not that good.

EasyAR Image Target showing excessive margin vs. none

We also want to maintain an image that is rather square or rectangular. We don’t want long images (such as the one below) as the image target, as it tries to track square objects.

Floorplan image example that is very wide

This website also goes into how to setup EasyAR. We can also download some sample projects for Unity

Links for EasyAR samples

Project

Let’s go back onto our project and start to set it up to work with the image targets.

We first open the EasyAR folder => Prefabs.

EasyAR folder in Unity Assets folder

We notice a Composites and Primitive folder underneath this. These folders contain pre-built prefabs that we can drag and drop into our project so that we don’t have to build each object separately before putting them together.

Primitives folder in EasyAR Prefabs

Since we are working on Image targets, we can go to Composites and find the EasyAR_ImageTracker-1 component.

EasyAR Composites for Image Tracking

Let’s drag it into the scene.  We see that there is really no 3D object representing it – it’s just a bunch of empty objects.

Empty Unity scene for EasyAR project

Opening up the object in its hierarchy, we see a number of child objects – Render Camera, VideoCameraDevice, ImageTracker objects.

VideoCameraDevice in Unity Hierarchy

The EasyAR_ImageTracker is the main object that is going to be running the AR Unity game. We notice the Easy AR Controller component and the AR Session component which are going to be running the whole show.

EasyAR Image Tracker component in Inspector

The RenderCamera manages what a camera sees onto our screen and rendering the objects in the world on top of that camera so that it appears as though the 3D objects are actually in the world.

RenderCamera component in Unity Inspector

We don’t need to make any changes here though we could drag the main camera into the target camera field though that happens automatically when we start the game.

RenderCamera component in Unity Inspector with Main Camera as Target

The VideoCamera inspector has a bunch of information about how we could use the camera. Let’s keep the Focus Mode as “Continuousauto”. The Camera Type could be chosen as the front or the back camera. The Camera preference can be kept to “Prefer Object Sensing” value as we are doing object tracking.

Video Camera Device set to Continousauto

The ImageTracker component manages many of the image targets. The TrackerMode can be left at “Prefer Quality”.  Simultaneous Target Number represents the umber of image targets that can be tracked on screen at once. Let’s change this number to 4 as we are tracking 4 image targets.

ImageTracker component in Unity Inspector

Creating an Image Target

We navigate to EasyAR => Prefabs => Primitives > ImageTarget.

EasyAR Image Target Primitives in Assets

Let’s drag and drop that into the scene.  We also zoom into it.

Unity scene with EasyAR Image Target added

Zooming in, we notice an image on the screen with a ? (RED).

EasyAR Image Target showing red question mark

On the right we see the Image Target Controller that manages what image target we’re looking for and how it is rendered. The most important thing is the Image File Source.

ImageTarget component with Image info added in Inspector

We see it opens with with a bunch of information. We set the PathType to StreamingAssets. For the Path, we enter Marker1.jpg.

We see the scene change to show a new image target.

EasyAR Image Target showing image in scene

Name is just the name of the file, so we just enter Marker1. Scale is currently set at 0.1 Let’s increase the size to 1 as this allows us to work easily inside the scene.

ImageTarget component in Inspector with Marker name

Adding Objects to the top of the scene.

EasyAR Image Target zoomed in on

We need to add whatever object we want to render as a child of this image target. So, right-click on Image Target => 3D Object => Cube.

Unity 3D Object menu with Cube selected

The scene changes and displays a cube.

Cube added to Unity EasyAR project

Then, set the scale to 0.5 x 0.5 x 0.5.

Cube object scaled in Unity EasyAR project

Drag it to this position.

Cube positioned with EasyAR Image Target

One thing that looked weird was that the cube looked like it was underneath the image target. To fix it, we need to move the cube over to the -ve Z-axis. The positive axis of the ImageTarget is facing the ground, the -ve is what points upwards.

Cube moved underneath image target

So our ImageTarget is setup and ready to go. In the next lesson, we will setup multiple of these targets with their model on top and the ability to interact with each other.

 

Transcript

Hey everyone, and welcome back.

In this lesson, we are gonna work on actually starting to set up our image targets inside of Unity. So right now I’m on the EasyAR documentation website. And this is just gonna have some information about the Planar Image Tracking.

So first of all, what I think is most important is getting an understanding of what sort of image targets you should have. And over here, it’ll give you a bunch of examples of what you should do and what you should not do. First of all, on the left here, you’ll see that this image has rich textures, whereas the one on the right is fairly simple.

Then down here, it says that textures should not repeat in patterns. And that is good just because when it’s identifying it, it needs to find unique elements of the image target, so it can know its position, scale, orientation, things like that.

You also want to be filling up as much of the object as possible. So having quite a big margin isn’t that good. And also maintaining an image that is rather square or rectangular. You don’t really want a long image like this as your image target, as it really tries to track much more square objects. So yeah, this website here also goes over a bunch of other stuff, it goes over how to set it up. And you can also download some of the sample projects for Unity right here. We’re not gonna be going through that. Actually, we’re gonna be hopping back into our project right now and beginning to set up our project so it can actually start to work with the image targets.

So the first thing we need to do is go to the EasyAR folder right here, open that up, then we want to go to Prefabs. And you’ll see that we have Composites folder right here and a Primitives folder right here. Now, these two are basically a bunch of pre-built Prefabs that we can just drag and drop into our project so we don’t have to create each component, each object, and put them all together.

And since we are working on image targets, we can go to Composites right here. And I’m gonna zoom out a bit on this and we want to find the EasyAR_ImageTracker component right here. Let’s drag this into the scene. And you’ll see that when it’s in the scene, there’s not a real 3D object that’s representing it. It’s just a bunch of empty objects. But if we open this object up here in the hierarchy, you’ll see that there is a number of different objects that are a child of it.

We have the first main EasyAR_ImageTracker object. Then we have a RenderCamera object, a VideoCameraDevice object, and an ImageTracker device object as well. First of all, if we look at the EasyAR_ImageTracker. This is the main object that is going to be running the AR in a Unity game.

We have the EasyAR Controller component and the AR Session component as well. And these two are pretty much gonna be running the entire thing. Then the RenderCamera, this manages of course, rendering what our camera sees onto our screen and rendering the objects in the world on top of that camera so that it appears as if our 3D objects are really in the world. All we need to do here, actually, we don’t really need to change anything here, we can if we want drag the main camera into the target camera field here, although that does do it automatically when we start the game.

On the VideoCameraDevice, this just contains a bunch of information about how we wanna set up our camera. We can choose the Camera Size, the Focus Mode. I recommend just keeping this on continuous order as you don’t really want this at any sort of fixed focal length. Then we have some other stuff such as the camera type, so you can choose this to be the front camera or the back camera and some other preferences right here. Since we are doing object tracking, we can just keep it on this right here.

Now over on the ImageTracker component, this is what manages many of the image targets. Right now we have the track mode on Prefer Quality or Prefer Performance. So we can just keep it on that for now. And simultaneous image target number. So this is the amount of image targets that can be rendered on screen at once that can be tracked on screen at once. Right now, by default, it is on one. But we have four image targets that we want to be tracking at one time. So let’s actually change this number over to four. Save that. And yeah, that’s pretty much this sort of setup a Prefab right here, which is in our project and ready to go.

Now what we can do is start to create an image target. So I’m gonna go back to the EasyAR folder here, inside Prefabs. Now I’m gonna go to Primitives. And what I wanna find is the image target Prefab right here. I’m gonna drag and drop that into the scene. And if I press F to focus on it, will zoom out a bit, but let’s just zoom into that right now.

And you’ll see that there is an image on screen with a question mark. And this is because on the right hand side in the Inspector, you’ll see that there’s an Image Target Controller component and this manages the image target. It manages what image target we’re looking for, and some other stuff on how it is rendered.

Most important thing we wannna look at though, is the Image File Source. So let’s click on that and you’ll see that It’ll open up over a bunch of information. First of all the Path Type, this is going to choose where it’s looking for the image target. Since we did put out image targets in the Streaming Assets folder, then we do want to make sure that the Path Type is on Streaming Assets. And then there are three more things we have path, the name and the scale. The path is the path to the image inside of the Streaming Assets folder.

So if we actually go over there to Streaming Assets, you will see that we have Marker1, Marker2, Marker3 and Marker4. So for the path here, let’s enter in Marker1.jpg because it’s in our subfolders, so we don’t need to put that raw. And as you can see, in the scene, it is suddenly changed to show this new image target here. It’s showing the Marker1 so we know which one it is. And then we can also with our game objects on top of this sort of narrow our reference on how large it will be in the real world. The name over here is just the name of the file so we can just enter in Marker1 we don’t have to add in the file extension.

And scale right now is set at .1. To make this a bit easier to work with inside of Unity, let’s actually increase this size to one. Like so. The reason it is on .1 is because if you are wanting to work with Physics, it’s good to maintain that one unit to unit to one of real-world meter sort of reference. And since these image targets are quite small, having the scale at around .1 sort of scales it to the right size, but we aren’t using any sort of Physics or anything like that. So scaling it up to 1.0 allows us to just work a lot easier inside of Unity.

Okay, so go to image target right here. How do we render something on top of it? Well, that’s fairly straightforward. All we need to do is add whatever sort of object we want to render as a child of this image target. So, let’s right click on image target here. I’m gonna go 3D Object Cube. We can set the scale to maybe .5 by .5 by .5. And you’ll see that we can then drag it up here and pretty much whatever is on this side of the image right here is what is gonna be rendered on top of the image target. So make sure this cube is a child of the image target. So if we disable it, the cube will disappear.

Now one thing we need to do before we actually build this to our device and test it out, is change the camera. If we look in the Game view right now, you will see that we have the default Unity camera. But what we need to do is change a few things on our main camera here.

First of all, let’s change Clear Flags from Skybox to Solid Color. And we can just make the color here black for now. And after this, we need to change the rendering path to be Forward rendering as that is what’s required by EasyAR. And apart from that everything should be set up and ready to go. So we can plug in our device and build it to it so we can test it out and see how it works.

So here we go. If we move our phone around the image target, you’ll see that the object appears but it does appear below the image target which is something we’re gonna be addressing right now. Now one thing that did look a bit weird was the fact that this cube look like it was underneath the image target.

And to fix that, we just have to move this cube over into the negative Z-axis. That is because the positive Z-axis of this image target here is facing towards the ground. And the negative is what points upwards. So everything that you want to appear should be over on this side of the image target.

And yeah, that is the image target set up and ready to go. In the next lesson, we are gonna begin to start and actually set up multiple of these targets and make it so these targets can actually have their model on top and begin to be able to interact with each other. So see you again in the next lesson.

Interested in continuing? Check out the full EasyAR and Marker-Based Apps for Beginners course, which is part of our Augmented Reality Mini-Degree.

]]>
How to Code an Augmented Reality Application https://gamedevacademy.org/how-to-code-an-ar-application/ Wed, 07 Oct 2020 02:11:39 +0000 https://vrgamedevelopment.pro/?p=3742 Read more]]> Want to learn skills for cutting edge technology? Augmented reality is one of the newest rising technologies on the block, yet also one of the most misunderstood. In fact, anyone who has played Pokémon Go has already used augmented reality in their life – probably without ever knowing that was what powered a large part of the app!

Nevertheless, augmented reality is quickly rising in popularity, because unlike technologies like virtual reality, almost anyone with a smartphone can utilize apps created with it. As a young industry, augmented reality also offers developers a new way to explore app creation, as bringing the virtual and real worlds together truly is unexplored territory in many ways. Thus, as many developers as possible are jumping in on the action.

However, getting started is always the hard part, so in this post we will help you both understand what AR technology is, what you can use AR to do, and how you can start developing your own AR applications with the current available technologies. If you’re ready to expand your skillset, or just want to create the next viral hit app, let’s start learning.

Phone with AR popping out from the screen

What is Augmented Reality?

Augmented reality (AR) is a technology that allows virtual objects to be placed in the real world in real time. Most commonly viewed through a mobile device, AR technology is used in a wide range of industries such as games, education, medicine, engineering, design, etc. You may have already seen some AR apps out there which places objects in the “real” world and have them track/scale as the camera moves around. How does it do this? Well it can be done in a number of different ways, with the technology improving constantly.

  • Image Targets – This is the most basic form of augmented reality. It requires you to point your device at a printed out image that the app can recognize. Based on the size, position and orientation – the app can then determine where to place the virtual object and have it track as long as the image target is in view.

zenva vr image targets

  • Plane Detection – If you have an augmented reality app that does not require image targets, it’s most likely plane detection. This means that the app is identifying feature points. These are high contrast points of interest that the camera can see. When you move around the camera, these feature points will allow the app to calculate surfaces in the world such as a floor, table or wall. It will create a large number of feature points and assign them to memory. This means that you can track one area, move to the other side of the room then return and the same feature points should still be there.

zenva ar plane detection

  • Depth Sensoring – This is the most advanced form of augmented reality and is only available on a few modern devices. It takes advantage of your mobile’s depth sensor. This is basically a camera which can see how far away things are. In terms of AR, this can mean almost instantaneous surface detection and occlusion. Occlusion is where a virtual object can go behind something in the real world. This is really only possible with depth sensoring.

unity ar depth occlusion sensor

How do I Create an AR App?

AR experiences can be created on both iOS and Android devices. Both Apple and Google have released their own AR SDK’s (software development kit – how we interact with the technology through code). Each have mostly the same features, but differ in some.

  • ARKit – Apple’s AR SDK which you can use to create AR experiences on iOS devices.
  • ARCore – Google’s AR SDK which you can use to create AR experiences on Android devices.

You can use these two SDK’s to build an AR app, but what if you want to use both? What if you want to create an AR application that can be used on both iOS and Android devices? In this case, I’d recommend you look at Unity’s AR Foundation.

What is Unity and AR Foundation?

Unity is a game engine. A game engine is basically a piece of software which allows you to develop video games. It provides you with the rendering, physics, and most of the back-end stuff so you can focus on the main aspects. Unity is a engine which focuses on both 2D and 3D games. It also has quite a robust augmented reality system.

One of the great things about Unity, is how universal it is. You can build to pretty much any device and platform there is, without needing to change much of the project at all. Their augmented reality system – AR Foundation, utilizes both ARKit and ARCore, so you can develop an app for both iOS and Android inside of the same project.

Here’s a look using AR Foundation, compared to just ARKit or ARCore. Create one project and publish to both platforms.

unity ar foundation

Basically, AR Foundation is a mixture of both the ARKit and ARCore SDK’s, so that we only ever need to create one project.

Getting Started with Unity and AR Foundation

Okay, so you want to jump into creating an AR app with Unity. You might already have some experience with engine, or none at all. First, it’s important to note that you will be doing some programming in the C# language. This is what Unity uses and there’s a large number of resources online for you to learn from. Here at Zenva, we have a large number of Unity and AR Foundation courses.

So what will you need? First, you’ll need a mobile device – and not just any. ARKit and ARCore do have certain requirements for devices.

It’s also important to note that if you wish to build to iOS, you need to have a MacOS computer. So if you’re on Windows, you unfortunately will not be able to build to iOS devices. Mac users though, can build to both iOS and Android.

Tutorials & Links

Now let’s get started with learning how to create an AR app.

Zenva Courses

AR Foundation

ARKit

ARCore

General Development Information

AR app using image recognition to label objects

Conclusion

And there we have it! Though just the first stepping stones on a long journey, hopefully you’ve learned just a little bit about augmented reality and just what you can do with it to create a unique AR experience.

The possibilities are only limited by technology itself – and with new phones coming out every year that are more and more powerful, you can bet AR is becoming a staple of the mobile app industry. Not only is the technology powering games, but also being used to train people for jobs, revolutionize education, and more. This is a train that just won’t slow down – so don’t let it ride past you. Start developing those AR skills, and make AR applications to change the world!

BUILD GAMES

FINAL DAYS: Unlock 250+ coding courses, guided learning paths, help from expert mentors, and more.

]]>