LEARN
Get Started
Release Notes
Tutorials
User Guide
Tools UI
API Reference
Developer Guide
Contribute
Atom Renderer
Version:
24.09
development
23.10
23.05
22.10
22.05
Search site
Contribute
Roadmaps
To Code
GitHub Workflow
Validator Errors
To Docs
Overview
Get Started
Work with Issues
O3DE Docs Structure
Git Runbook
Style Guide
Quick Reference
Writing
Formatting
Formatting Tools
Metadata
Shortcodes
Media
Terminology
Blog Posts
Hugo
Templates
Component Reference Document
To Security
To the Official O3DE Remote Repository
Versioning Terminology
Code of Conduct
Get Started
Features
Key Concepts
Supported Platforms
System Requirements
Setup
Installing O3DE for Windows
Installing O3DE for Linux
Setting up O3DE from GitHub
Building for Windows
Building for Linux
Side-by-side Engines
Troubleshooting the Setup
Project Creation
Creating Projects Using Project Manager
Creating Projects Using the CLI
Creating Projects on Windows
Creating Projects on Linux
Workflow Tours
Create with O3DE
Editor Tour
Community Support
Release Notes
Archive
23.05.0 Release Notes
23.10.0 Release Notes
23.10.1 Release Notes
22.05.0 Release Notes
Feature grid
22.10.0 Release Notes
Feature grid
2111.2 Release Notes
2111.1 Release Notes
2107.1 Release Notes
Tutorials & Examples
Tutorials
AI
2D Navigation
Animation
Root Motion
Assets
Mesh Processing
Actor Processing
PhysX Assets
Entities and Prefabs
Entity and Prefab Basics
Override a Prefab
Spawn and Despawn
Environments
Create a Level
Understanding Frequency Separation
Create Terrain from Images
Create a Terrain-Ready Level
Create Terrain Assets
Create Terrain Shape
Texture the Terrain
Physicalize the Terrain
Experiment Further
Extend the Editor
Create a Custom Tool Gem in C++
Create a Custom Tool Gem in Python
Input and Movement
Grid-based Movement
Lumberyard to O3DE
Get the Starter Game project
Converting Materials
Converting Components
Converting Levels
Porting Terrains
Multiplayer
Your First Network Component
PhysX
Wind Forces
PostFX
Use PostFX Shape Weight Modifier
Remote Repositories
Rendering
Creating a StandardPBR Material
Custom Lighting
Material Types and Shaders
Vertex Deformation
Samples
Follow Along
Pong Game
Protect the moon
Templates
Prototypes
Benchmark
Feature Showcase
Advanced
Robotic
User Guide
Editor
Customizing Editor Layout
Entity Outliner
Entity Inspector
3D Viewport
Reference Spaces
Group Selection
Advanced Operations
Asset Browser
Console
Customizing Console
Automating Editor
Project Configuration
Project Manager
Adding and Removing Gems
Registering Gems
Troubleshooting
O3DE CLI Reference
Build
Configure and Build
Project and Gem Templates
Script-Only 'Quick Start' Projects
Build Generated Source Files
Engine and Project Distribution
O3DE Packages
Troubleshooting
CMake Settings Reference
Action Manager
Fundamental Concepts
Actions
Menus
Toolbars
Hotkeys
Registration
Identifiers
Sort Keys
Visibility
Settings Registry
Command Line Arguments
Script API
Console Commands
Issue Console Commands
Output the Settings Registry
Developer Guide
API Examples
Gem loading and the Settings Registry
Settings Registry Chaining
Gems
Gem Reference
Achievements
Asset Validation
Atom Common Features
Atom Content
Atom O3DE Integration
Atom TressFX
Audio System
AWS Gems
AWS Core
Getting Started with AWS Gems
Configuring AWS Credentials
Deploying the AWS CDK Application
Resource Mapping Files
Resource Mapping Schema
Using the Resource Mapping Tool
Scripting
Metric Data Collection
AWS Client Auth
Setting Up Client Auth
Using Authentication Providers
Scripting Client Auth
Using the C++ API
AWS GameLift
Setup
Session Management
Session Management Integration
Session Management C++ API
Session Management Scripting
FlexMatch Support
FlexMatch Integration
FlexMatch C++ API
FlexMatch Scripting
Advanced Topics
Local Testing
Build Packaging for Windows
Build Packaging for Linux
Resource Management
AWS Metrics
Setting Up Metrics
Using the Deployed Resources
Scripting Metrics
Using the C++ API
Advanced Topics
Event Schema
Camera
Camera Framework
Certificate Manager
Crash Reporting
Custom Asset Example
Debug Draw
Dev Textures
Editor Python Bindings
EMotion FX Animation
Environment
Landscape Canvas
Surface Data
Vegetation
Terrain
Expression Evaluation
Fast Noise
Game State
Game State Samples
Gestures
Gradient Signal
Graph Canvas
Graph Model
HTTP Requestor
Human Worker
Immediate Mode GUI (ImGui)
In-App Purchases
Kythera AI
Setup
Navmesh Generation
Octree Generation
Character Movement APIs
Navigation Splines
The Inspector
BT Editor
BT Editor Nodes
Local User
LyShine
LyShine Examples
Maestro Cinematics
Message Popup
Metastream
Microphone
MiniAudio
Multiplayer
Multiplayer Compression
NVIDIA Cloth
O3DE Core (LmbrCentral)
OTTO Robots
PBR Reference Materials
PhysX
PhysX Debug
Prefab Builder
Presence
Primitive Assets
Python Asset Builder
Qt for Python
Recast Navigation
Remote Tools
RGL
ROS 2
Save Data
Scene Logging Example
Scene Processing
Script Canvas
Script Canvas Developer
Script Canvas Physics
Script Canvas Testing
Script Events
Scripted Entity Tweener
Stars
Starting Point Camera
Starting Point Input
Starting Point Movement
Test Asset Builder
Texture Atlas
Tick Bus Order Viewer
Twitch
UI Basics
UR Robots
Video Playback Framework
Virtual Gamepad
White Box
Wwise Audio Engine
Core Gems
Gem Versioning and Compatibility
Components
Component Reference
Animation
Actor
Anim Graph
Attachment
Simple LOD Distance
Simple Motion
Atom
Bloom
Chromatic Aberration
CubeMap Capture
Debug Rendering
Decal
Deferred Fog
Depth of Field
Diffuse Global Illumination
Diffuse Probe Grid
Directional Light
Display Mapper
Entity Reference
Exposure Control
Global Skylight (IBL)
Grid
HDR Color Grading
HDRi Skybox
Light
Look Modification
Material
Mesh
Occlusion Culling Plane
Physical Sky
Post-processing Modifiers
PostFX Gradient Weight Modifier
PostFX Layer
PostFX Radius Weight Modifier
PostFX Shape Weight Modifier
Reflection Probe
Sky Atmosphere
SSAO
Stars
Audio
Audio Area Environment
Audio Environment
Audio Listener
Audio Preload
Audio Proxy
Audio RTPC
Audio Switch
Audio Trigger
MiniAudio Listener
MiniAudio Playback
Multi-Position Audio
Camera
Camera
Camera Rig
Editor
Comment
Gameplay
Fly Camera Input
Input
Input Component EBus Interface
Look-At
Simple State
Tag
Gradient Modifiers
Dither Gradient Modifier
Gradient Mixer
Gradient Transform Modifier
Invert Gradient Modifier
Levels Gradient Modifier
Posterize Gradient Modifier
Smooth-Step Gradient Modifier
Threshold Gradient Modifier
Gradients
Altitude Gradient
Constant Gradient
FastNoise Gradient
Gradient Baker
Image Gradient
Perlin Noise Gradient
Random Noise Gradient
Reference Gradient
Shape Falloff Gradient
Slope Gradient
Surface Mask Gradient
Multiplayer
Simple Network Player Spawner
Non-uniform Scale
Non-uniform Scale
NVIDIA PhysX
Cloth
PhysX Ball Joint
PhysX Character Controller
PhysX Character Gameplay
PhysX Dynamic Rigid Body
PhysX Fixed Joint
PhysX Force Region
PhysX Heightfield Collider
PhysX Hinge Joint
PhysX Mesh Collider
PhysX Primitive Collider
PhysX Prismatic Joint
PhysX Ragdoll
PhysX Shape Collider
PhysX Static Rigid Body
Paint Brush
ROS 2
Control
ROS 2 Georeference Level Component
Core
ROS 2 Frame
ROS 2 System
ROS 2
ROS 2 GNSS Sensor
ROS 2 Lidar Sensor
Sensor Configuration
Scripting
Lua Script
Script Canvas
Shape
Axis Aligned Box Shape
Box Shape
Capsule Shape
Compound Shape
Cylinder Shape
Disk Shape
Polygon Prism Shape
Quad Shape
Shape Reference
Sphere Shape
Spline
Tube Shape
Vertex Container
White Box
White Box Collider
Surface Data
Gradient Surface Tag Emitter
Mesh Surface Tag Emitter
PhysX Collider Surface Tag Emitter
Shape Surface Tag Emitter
Terrain
Terrain Detail Material
Terrain Layer Spawner
Terrain Macro Material
Terrain Physics Heightfield Collider
Terrain Surface Gradient List
Terrain Surface Materials List
Terrain Height Gradient List
Terrain World
Terrain World Debugger
Terrain World Renderer
Test
Transform
UI
UI Canvas Asset Ref
UI Canvas on Mesh
UI Canvas Proxy Ref
Vegetation
Vegetation Asset List
Vegetation Asset List Combiner
Vegetation Asset Weight Selector
Vegetation Layer Blender
Vegetation Layer Blocker
Vegetation Layer Blocker (Mesh)
Vegetation Layer Debugger
Vegetation Layer Spawner
Vegetation Area System
Vegetation Instance System
Vegetation Filters
Vegetation Altitude Filter
Vegetation Distance Between Filter
Vegetation Distribution Filter
Vegetation Shape Intersection Filter
Vegetation Slope Filter
Vegetation Surface Mask Depth Filter
Vegetation Surface Mask Filter
Vegetation Modifiers
Vegetation Position Modifier
Vegetation Rotation Modifier
Vegetation Scale Modifier
Vegetation Slope Alignment Modifier
Programming
Gem Development
Overview
Create an O3DE Gem
Code Gems
Gem Manifest File
Component Development
Overview
Creating a Component
Reflection Contexts
Reflecting a Component for Serialization and Editing
Serialization Context
Versioning Serialized Data
Edit Context
Behavior Context
Defining and Using Component Services
Editor Components
System Components
Components and EBuses
Tick Bus and Components
Exposing Custom Components to Track View for Animation
Components and EBuses: Best Practices
AzAutoGen Source Generator
Event Messaging
Overview
EBus
EBus In Depth
AZ::Interface
AZ::Event
Memory management
HPHA Memory Debugging
Using Memory Allocators in O3DE
Metrics API
Google Trace Event Format
System libraries
Adding a library
Math library
Debugging
Crash Reporting
CVAR Asserts
Tracing
AZ::Console
Memory Management
Raw File Access in O3DE
Serialization
Register Objects
JSON Object Serialization System
Serialize and Deserialize
JSON Serialization of O3DE Data Types
The AZ Bootstrapping Process
Assets
Scene Pipeline
Procedural Prefab
Scene API
Scene Builder
Scene Graph
Scene Manifest
User Defined Properties
Asset Pipeline
Asset Processing
Source Assets
Scan Directories
Asset Builders
Product Assets
Asset Dependencies and Identifiers
Asset Cache
Intermediate Assets
Moving/Renaming Assets
Asset Processor
Interface
Batch
Configuration
Faster Scanning
Skip Startup Scan
Debugging
Move or Delete Assets
Asset Cache Server Mode
Settings
Asset Database
Scene Source Assets
Scene Format Support
Best Practices
Scene Settings
Meshes Tab
Actors Tab
Motions Tab
PhysX Tab
Texture Settings
Texture Assets
User Interface
Texture Presets
Python Asset Builder
Bootstrap
Descriptor
CreateJobs
ProcessJob
Asset Types
Runtime Asset System
Interactivity and simulation
Audio
Audio System Overview
Audio Components
Audio Translation Layer
ATL Default Controls
Audio Controls Editor
ATL Controls Pane
Inspector Pane
Audio Engine Middleware Controls Pane
Audio Console Variables
Advanced Topics
Getting Sound Duration at Runtime
Setting the Panning Mode
Input
Using Player Input
Navigation and Pathfinding
Using Recast Navigation
Physics
NVIDIA PhysX
PhysX Configuration
Global Configuration
Collision Layers
Collision Groups
Create Layers and Groups in Code
Debugger Configuration
PhysX Worlds
Physics materials
PhysX Scene Queries
PhysX Simulated Bodies
Dynamic joints with PhysX
PhysX Best Practices
NVIDIA Cloth
Cloth for Mesh components
Cloth for Actor components
Per vertex properties for cloth
Cloth simulation constraints
NVIDIA Cloth Debugging
Debugging PhysX
Prefabs
Robotics
Overview
Project Configuration
Concepts and Structure
Creating a Robotic Simulation
Importing robot
Importing robot
Importing Turtlebot 4
SDFormat plugins
SDFormat sensors
Vehicle Dynamics
Joints Manipulation
Deploying Simulation
Georeference
Grippers
Troubleshooting
User Interface
UI Editor
UI Editor Toolbar
Rulers and Guides
Asset Drag and Drop
Sprite Editor
Sliced Image Type
Sprite Sheets
UI Canvases
Navigating the Viewport
Changing Canvas Size
Previewing Canvases
Setting Canvas Size in Preview
Previewing Canvas Behavior
Configuring Canvas Properties
Placing UI Canvases in the 3D World
Texture Atlases
Creating a texture atlas
Adding Texture Atlases to Canvas
Using Texture Atlases to Reduce UI Draw Calls
Debugging UI Canvases
Loading UI Canvases
Accessing UI Elements at Runtime
Creating Load Screens
UI Slices
Creating a UI Slice
Instantiating a UI Slice
Cascaded UI Slices
Detached UI Slices
Modifying UI Slices
Editing UI Slices
Flagging Dynamic Slices
UI Elements
Configuring Anchors and Offsets
Scaling to Device Resolutions
Searching for UI Elements
UI Components
Working with UI Components
UI Transform2D
Visual Components
UI Image
UI Particle Emitter
UI Text
Interactive Components
Interactive Component Properties
Input Enabled
Multi-Touch Input Enabled
States
Navigation
First Focus Element
Interactive Element Controls
Auto Activate
Actions
UI Button
UI Checkbox
UI Radio Button
UI Radio Button Group
UI Slider
UI Text Input
UI Scroll Bar
UI Scroll Box
UI Dynamic Scroll Box
UI Draggable
UI Drop Target
UI Dropdown
UI Dropdown Option
Layout Components
UI Layout Column
UI Layout Row
UI Layout Grid
UI Layout Cell
UI Layout Fitter
UI Dynamic Layout
Nesting Layout Components
Tooltip Components
UI Fader
UI Flipbook Animation
UI Mask
UI Spawner
Implementing New Fonts
Adding New Fonts
Creating Font Families
Configuring Font Rendering Quality
Configuring Font Properties
Animating the UI
Scripted Tweener Entity System
Tweener Concepts
Easing Types
Tweener-supported Components
Tweeners in Lua
Tweener Parameters
Tweener Timeline
UI Animation Editor
Recording Animation Data
Playing Animation Sequences
Editing Animation Data
Node Pane
Track Editor
Curve Editor
Scripting
Script Canvas
Get Started
Editor Interface
Concepts and Terms
Editor Reference
Editor Shortcuts
Nodes
Adding and Connecting Nodes
Disconnecting Nodes
Finding Nodes
Selecting Nodes
Deleting Nodes
Organizing Nodes
Aligning Nodes
Adding Comments
Grouping Nodes
Creating Comment and Group Presets
Adding Bookmarks
Referencing Entities
Variables
Arrays
Maps
Variable References
Functions
Node Text Replacement
Interpreter
Creating New Nodes
Programmer Guide
Creating Nodes from the Behavior Context
Creating Custom Nodes
Custom Nodeable Nodes
Custom Free Function Nodes
Node Definition Reference
Dynamic Data Slots
Execution Classes
Best Practices
Debugging
Lua
Adding Lua Scripts
Lua Script Structure
Lua Editor
Math Library
Properties Table
Using EBuses in Lua
Lua Environment
Debugging Lua Scripts
Debugging with Lua Editor
Script Events
Creating Script Events
Using Script Events in Script Canvas
Using Script Events in Lua
Best Practices
Networking
AzNetworking
Packet Structure
Auto-packets
UDP Encryption
Serializers
Multiplayer
Overview
Project Configuration
Running Multiplayer Projects
Auto-components
Separating Client and Server
Testing in Editor
Network Entity Hierarchies
Spawning Players
Debugging Multiplayer Desyncs
Version Mismatch
Network and Multiplayer Settings
Visualization
Animation
Animation editor
Actions
Advanced_RinLocomotion Sample
Anim Graph Interface
Animation Editor Nodes
Animation Editor User Interface
Blend N Node
Blend Two (Legacy) Node
Blend Two Additive Node
Blend Two Node
Blending Poses with Blend Nodes
Controller Nodes
Creating and Visualizing Blend Spaces
Creating Blend Trees
Creating Simulated Objects
Customizing EMotionFX Objects
Customizing State Machine Routing with Sparse Motion Sets
Getting Started with the Animation Editor
Motion Sets Interface
Motions Interface
Pose Subtract Node
Ragdoll
Setting up a Ragdoll
Adding a Ragdoll to an Animation Graph
Simulating a Ragdoll in the Editor
Retargeting Motions
Simple_JackLocomotion Sample
Simplify Node Groups with Hub Nodes
Using Math Nodes
Using Morph Targets to Deform Characters
Using Tags with Animation Graphs
Character editor
Add Cloth Colliders to actors
Animation Editor Components
Animation Editor Concepts and Terms
Animation Editor File Types
Creating Custom Motion Events and Parameters Using C++
Creating EventData Types
Creating Motion Events
MotionEvent Public Member Functions
Synchronizing Animation Graphs: Example
Actor LODs
Referencing External Anim Graphs
Setting Up a Simulated Object
Setting Up Actor Entities
Setting Up Simulated Object Colliders
Setting Up the Simulated Object Anim Graph Node
Using Debug Mode to Refine the Simulation
Using Multiple Skin Attachments
Using Parameters to Adjust the Animation During Runtime
Cinematics
Adding a Camera
Adding a Director (Scene) Node
Adding and Removing Animation Keys on Tracks
Adding Component Entities
Adding Lighting
Animating Characters in Scenes
Animating Depth of Field
Capturing Image Frames
Controlling the Playhead
Debugging Cinematic Scenes with Console Variables
Moving a Component Entity in a Sequence
Moving an Entity in a Scene
Populating a Scene
Positioning a Camera
Setting Sequence Properties
Track View Editor Nodes
Using Record Mode
Using the Track View Editor
Adding a Depth of Field Node
Color Correction Node
Comment Node
Component Entities and Component Nodes
Console Variable Node
Director (Scene) Node
Environment Node
Event Node
Full Screen Effect Nodes
Material Node
Radial Blur Node
Screen Fader Node
Shadows Setup Node
Track View Editor Toolbars
Using Animation Curves
Environments
Terrain
Terrain Developer Guide
Introduction
Architecture
Using the Terrain System
Extending the Terrain System
Future Work
Glossary
Vegetation
Concepts
Procedures
Layers
Adding Modifiers
Expanding Coverage
Reusing Vegetation
Using Gradients
Noise-Based Random Selection
Weight-Based Random Selection
Blockers
Rendering
Optimization
Quality System
Testing
Getting Started
Best Practices
AzTest
Using AzTest
LyTestTools
Getting Started with LyTestTools
Parallel Tests
Platforms
Windows 10
Android
Generating Android Project
Linux
Packaging and Release
Windows Release Build
Content Patch Package
Asset Bundler
What is the Open 3D Engine Asset Bundler?
Bundling Project Assets for Release
Resolving Missing Assets
Verifying Bundles
Using the Asset Validation Gem to Verify Seeds
Using Bundle Mode to Test Bundles
Using the File Tagging System to Include or Exclude Assets
Asset List Comparison Operations
Default dependencies for O3DE projects
Concepts and Terms
CLI Reference
Troubleshooting
Project Export
Project Export for Windows and Linux
Project Export for Android
Project Export for iOS
Manual export O3DE Atom Sampleviewer for iOS
Remote Content
Using O3DE Remote Repositories
Create an O3DE remote repository
Update an O3DE remote repository
Remote Repository Overview
Repo.json Reference
Appendix
Glossary
Console variables (CVARs)
Log Files
Atom Renderer
Overview
Features
Contrast Adaptive Sharpening
Temporal Anti-aliasing
Look Development
Materials
System Overview
PBR Materials
Material File Specification
Material Type File Specification
Tools
Atom Tools Common Features
Atom Tools Viewport
Material Canvas
Material Editor
Shading
Shader File Specification
Color Management
Developer Guide
Frame Rendering
Render Pipelines
Render Pipeline Interface
Overview
RPI System
Working with the Scene and Render Pipeline
Passes
Pass System Overview
PassTemplate File Specification
Authoring Passes
Material System
Lua Material Functor API
Shader System
AZSL
Shader Variant Options
SRG Semantics
The Fallback Key
Unbounded Arrays in AZSL
AZSLc
Shader Build Pipeline
Render Hardware Interface
Overview
Frame Scheduler
Troubleshooting
Glossary
Tools UI Developer's Guide
Branding Guidelines
Control Gallery Tool
UI Component Library
Breadcrumb Navigation
Browse Edit
Button
Card
Checkbox
Combobox
Context Menu
Filtered Search
Line Edit
Progress Indicators
Radio Button
Reflected Property Editor
Scrollbar
Sliders
Spinbox
Styled Dock
Tab
Table View
Toggle Switch
Tree View
Component Development Guidelines
UI Icon Assets
Component Icons
Entity Outliner Icons
UX Patterns
Component Card
Writing Guidelines
Error Handling
Types of UI Messages
Console Log
Dialogs
Inline Notifications
Log Tables
Text Input Validation
Toasts
Message Guidelines
API Reference
O3DE Framework API reference
O3DE Gem API reference
Engine Developer Guide
Architecture
Prefab System
Frameworks
Gems
Script Canvas
Assets
Metadata Relocation
File Type Support
Prefab Files
Scene Files
Texture Files
ScenePipeline
Adding Scene Files
Open Asset Importer Library
Tools
O3DE CLI
Project Export
Overview
Project Manager
Bootup Sequence
Source Code Map
Startup and Screen Management Classes
Data Classes
Test Impact Analysis Framework
Architectural Overview
Automated Review Integration
Runtime and Front-End
Maintaining the Test Impact Analysis Framework
Debugging TIAF Issues
General TIAF Information
Storage Query Tool
Contributing
/
O3DE Documentation
/
User Guide
/
Components
/
Edit on GitHub
Components
Topic
Description
Reference
A reference of all the components available to use in the O3DE Editor.