Version:

Open 3D Engine (O3DE) Tutorials

Learn the features, tools, and processes of Open 3D Engine (O3DE) with the help of step-by-step, guided tutorials.

Looking to get started?

Do you have O3DE installed and you aren’t sure where to start? How about creating the classic “Pong”? Follow this first project tutorial series and learn the basics of O3DE in the process.

TutorialDescription
Create your first O3DE game: PongStart from a new O3DE project and build your first game: Pong! What’s “Pong”? Two paddles square off, in a ball-based battle to land the highest score. This tutorial series will introduce you to basic game UI development, scripting, and controls in O3DE.

Animation

TutorialDescription
Data Driven Root MotionLearn about data driven root motion and how to apply it to actors.

Artificial Intelligence

TutorialDescription
2D Navigation with Kythera AICreate an artificial intelligence (AI) agent that performs ground-based navigation and follows a visually scripted behavior tree. This tutorial uses the broad toolset that the Kythera AI Gem provides.

Assets

TutorialDescription
Customize Mesh Asset ProcessingUse Scene Settings to process mesh assets for O3DE.
Customize Actor Asset ProcessingUse Scene Settings to process actor assets for O3DE.
Process PhysX Collider AssetsUse Scene Settings to process PhysX collider assets for O3DE.

Entities and prefabs

TutorialDescription
Entity and Prefab BasicsLearn the basics of creating and modifying entities and prefabs.
Override a PrefabLearn how to make changes to a single prefab instance.
Spawn and Despawn a PrefabUse Script Canvas to create a script that spawns and despawns a prefab.

Environments

TutorialDescription
Create a LevelCreate a level for O3DE.
Create Terrain from ImagesLearn to create terrain using images.

Extend O3DE Editor

Extend O3DE Editor by creating a custom tool Gem. A tool is a dockable widget or dialog window that implements functionality in the Editor. You can create custom tools in C++ or Python.

TutorialDescription
Create a Custom Tool Gem in C++Extend the Editor by creating a custom tool Gem that’s written in C++. Learn how to use the CppToolGem template, and practice C++ development with Qt , the O3DE Tools UI API, and other O3DE APIs.
Create a Custom Tool Gem in PythonExtend the Editor by creating a custom tool Gem that’s written in Python. Learn how to use the PythonToolGem template, and practice Python development with Qt , the O3DE Tools UI API, and other O3DE APIs.

Input and movement

Learn how to use the keyboard, mouse, and other input devices to move entities.

TutorialDescription
Grid-based MovementLearn how to implement grid-based movement from input device events.

Multiplayer

TutorialDescription
Your First Network ComponentCreate multiplayer components with C++ in this introduction to network components.

PhysX

Create physics simulations in O3DE with NVIDIA’s PhysX system. The tutorials in this section demonstrate how to use PhysX to add dynamic physics simulations in your projects.

TopicDescription
Create Wind ForcesSimulate a wind force with a PhysX Force Region and NVIDIA Cloth.

PostFX

TutorialDescription
PostFX Shape Weight ModifierUse a PostFX Shape Weight Modifier component to modify exposure control in O3DE. This example demonstrates how to modify post-processing effects (PostFX) at runtime.

Remote Repositories

TutorialDescription
Your First Remote RepositoryLearn how to create an O3DE remote repository to share your projects, gems, and templates with the world.

Rendering

TutorialDescription
Create a StandardPBR materialThis tutorial walks you through creating your first StandardPBR material using the Material Editor.
Material Types and ShadersA beginner-level tutorial introducing material types and shaders in Atom. Learn how to create a custom material type with a simple AZSL shader.
Vertex Deformation for Vegetation Bending TutorialUse the Atom Renderer to create a custom material type with custom vertex shaders for vegetation bending.