Components add functionality to entities in Open 3D Engine (O3DE). An entity can contain any number or combination of components. Some components allow only one instance per entity, and some depend on other components to function.
Components are provided by Gems. To make a component available in O3DE Editor, you must add the Gem that provides the component. Though components might belong to the same type, they might not be provided by the same Gem. You can find out which Gem provides a component in the reference topic for the component.
Add a component to an entity
To add a component to an entity in O3DE Editor:
- In Entity Outliner or Perspective, click an entity to select it. This will show the entity’s details in Entity Inspector.
- In Entity Inspector, choose Add Component.
- Select a component from the component list to add to the entity.
Note:
If you can’t find a component in the Add Component list, you may need to enable the Gem that provides the component and rebuild your project.
Components
The following components are grouped by type as they appear in the O3DE Editor.
Animation
Component | Description |
---|
Actor | Adds a mesh group bound to a skeleton that can be driven by animation data from Anim Graph or Simple Motion components. |
Anim Graph | Manages a set of assets that are built in the Animation Editor, including the animation graph, default parameter settings, and assigned motion set for the associated Actor. |
Attachment | Allows an entity to attach to a bone on the skeleton of another entity. |
Simple LOD Distance | Sets the distance from the camera for each level of detail (LOD) of an Actor. |
Simple Motion | Assigns a single motion to the associated Actor. This is a simpler alterative to the Anim Graph component. |
Atom Renderer
Component | Description |
---|
Bloom | Simulates real-world light bleeding, or glow. |
Chromatic Aberration | Simulates a lens effect that focuses wavelengths of light to different points. |
CubeMap Capture | Captures a Specular IBL or Diffuse IBL cubemap at the entity position. |
Debug Rendering | Level component used to visually inspect and debug the scene. |
Decal (Atom) | Projects a texture material in a single direction onto mesh surfaces. |
Deferred Fog | Creates a screen space fog effect that can ben used as scene fog or layered / ground fog with an optional cloud noise turbulence. |
Depth of Field | Simulates the lens effects of real world cameras that focus on a specific area. |
Diffuse Global Illumination | Controls the quality level of global illumination that Diffuse Probe Grid components provide. |
Diffuse Probe Grid | Creates a volume of light probes that provide diffuse global illumination within the specified area. |
Directional Light | Casts light from an infinitely distant point towards a single direction, similar to sunlight. |
Display Mapper | Configures tone mapping and color grading for the scene. |
Entity Reference | Allows you to provide an entity with references to other entities. |
Exposure Control | Adjusts the amount of light the camera exposes in the scene. |
Global Skylight (IBL) | Creates an image-based global illumination effect that calculates light for a scene using an HDR skybox image. |
Grid | Adds a customizable grid to the scene. |
HDRi Skybox | Creates a skybox in your scene using an HDR image. |
Light | Simulates soft studio light by creating various types of punctual and area lights. |
Look Modification | Configures a color grading look-up table (LUT). |
Material | Manage and customize materials that are applied to models, actors, and other compatible components. |
Mesh | Specifies a model to render. |
Occlusion Culling Plane | Creates an occluder that when put between the camera and a mesh, can block the mesh from being rendered. |
Physical Sky | Adjusts the physical environment of the scene, such as the sky, sun, and fog. |
Post-processing Modifiers | A collection of components that define layers, volumes, areas, and weights for post-processing effects (PostFX). |
Reflection Probe | Creates specular reflections in the environment around a probe (capture point). |
SSAO | Approximates indirect lighting in a scene by using the screen space ambient occlusion technique. |
Stars | Provides physically-based animated resolution-independent distant stars. |
Audio
Component | Description |
---|
Audio Animation | Adds the ability to execute audio triggers when animation events occur. |
Audio Area Environment | Enables entities that are moving around and throughout a shape to have environment effects applied to any sounds that they trigger. |
Audio Environment | Applies environmental effects such as reverb or echo. |
Audio Listener | Allows a virtual microphone to be placed in the environment. |
Audio Preload | Loads and unloads soundbanks contained in the Audio Translation Layer preloads. |
Audio Proxy | If multiple Audio components are added to an entity, the Audio Proxy component is required to ensure the other Audio components communicate to the same Audio object. |
Audio Rtpc | Provides basic Real-time Parameter Control (RTPC) functionality, which allows you to tweak sounds in real-time. |
Audio Switch | Provides basic Audio Translation Layer switch functionality to specify the state of an entity. |
Audio Trigger | Provides Audio Translation Layer triggers that allows you to play or stop the audio. |
Multi-Position Audio | Provides the ability to broadcast sounds through multiple positions. |
MiniAudio Listener | Provides the ability to set the MiniAudio listener for spatial audio playback. |
MiniAudio Playback | Provides the ability to play sounds with MiniAudio. |
Camera
Component | Description |
---|
Camera | Allows an entity to be used as a camera. |
Camera Rig | Manages the behaviors that drive a camera entity. |
Editor
Component | Description |
---|
Comment | Allows you to add a text comment for component entities. |
Gameplay
Component | Description |
---|
Fly Camera Input | Allows you to control the camera using mouse and key inputs. |
Look At | Forces an entity to always look at a given target. |
Simple State | Provides a simple state machine that allows you to activate and deactivate associated entities. |
Tag | Allows you to apply one or more labels to an entity. |
Input | Binds raw input to events in your game. |
Gradient Modifiers
Gradients
Multiplayer
Component | Description |
---|
Simple Network Player Spawner | Implements a basic setup for handling player join and player leave events in a network multiplayer session. |
Component | Description |
---|
Non-uniform Scale | Allows an entity to scale by varying sizes across the x-, y-, and z- axes. By default, entities can scale only equally across the axes. |
NVIDIA PhysX
Component | Description |
---|
Cloth | Simulates the behavior of cloth by treating the vertices of a mesh as cloth particles with physical properties. |
PhysX Ball Joint | Simulates a dynamic ball joint that constrains an entity to the joint with freedom to rotate around the y- and z-axes of the joint. |
PhysX Character Controller | Implements basic character interactions with the physical world. |
PhysX Character Gameplay | Configures general character properties in the gameplay, such as the character’s gravitational strength. |
PhysX Dynamic Rigid Body | Defines the movable entity as a movable rigid object that is solid and can collide with other PhysX entities. |
PhysX Fixed Joint | Creates a dynamic fixed joint that constrains an entity to the joint with no degree of freedom in any axis. |
PhysX Force Region | Applies a physical force on objects that are within the specified region. |
PhysX Heightfield Collider | Creates a geometric collider based on the Axis-Aligned Box component. |
PhysX Hinge Joint | Creates a dynamic hinge joint that constrains an entity to the joint with freedom to rotate around the x-axis of the joint. |
PhysX Mesh Collider | Allows you to specify PhysX mesh assets to calculate collisions between entities. |
PhysX Primitive Collider | Allows you to specify primitive shapes to calculate collisions between entities. |
PhysX Prismatic Joint | Creates a dynamic prismatic joint that constrains an entity to the joint, keeping the same rotation but allowing it to move freely along one axis. |
PhysX Ragdoll | Simulates ragdoll physics by creating a hierarchy of rigid bodies connected by joints. |
PhysX Static Rigid Body | Defines the entity as a non-movable rigid object that is solid and can collide with other PhysX entities. |
PhysX Shape Collider | Creates a geometric collider based on the Shape component. |
Scripting
Component | Description |
---|
Lua Script | Allows you to add custom logic and functionality using Lua code. |
Script Canvas | Allows you to add custom logic and functionality using Lua code. |
Shape
Component | Description |
---|
Axis Aligned Box Shape | Creates box geometry that is always axis-aligned. |
Box Shape | Generates box geometry for volumes and triggers. |
Capsule Shape | Generates capsule geometry for volumes and triggers. |
Compound Shape | Builds complex geometry from simple shapes for volumes and triggers. |
Cylinder Shape | Generates cylinder geometry for volumes and triggers. |
Disk Shape | Generates disk geometry for areas and triggers. |
Polygon Prism Shape | Generates n-sided prism geometry for volumes and triggers. |
Quad Shape | Generates quad-plane geometry for areas and triggers. |
Shape Reference | Enables entities to reference and reuse Shape components. |
Sphere Shape | Generates sphere geometry for volumes and triggers. |
Spline | Generates lines and curves for paths. |
Tube Shape | Generates tube geometry for volumes and triggers. |
White Box | Allows you to sketch 3D proxy meshes in the O3DE Editor. |
White Box Collider | Supports collision layers and physics materials for white box meshes. |
Surface Data
Terrain
Test
Component | Description |
---|
AssetCollectionAsyncLoaderTest | Allows you to test the API provided by AssetCollectionAsyncLoader. |
UI
Component | Description |
---|
UI Canvas Asset Ref | Allows you to associate a UI Canvas with an entity. |
UI Canvas Proxy Ref | Allows you to associate an entity with another entity that is managing a UI Canvas. |
UI Canvas on Mesh | Allows you to place a UI Canvas on an entity in the 3D world that a player can interact with via ray casts. |
Vegetation
Vegetation Filters
Vegetation Modifiers
The following pages provide additional information about data and systems used by the components.