Component Reference
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
| Component | Description |
|---|---|
| Dither Gradient Modifier | Applies ordered dithering to the input gradient. |
| Gradient Mixer | Generates a new gradient by combining other gradients. |
| Gradient Transform Modifier | Creates a coordinate space for the gradient based on a Shape component. Modifiers for the input gradient are applied in this space. |
| Invert Gradient Modifier | Inverts a gradient’s values. |
| Levels Gradient Modifier | Modifies an input gradient’s signal using low/mid/high points and allows clamping of min/max output values. |
| Posterize Gradient Modifier | Divides an input gradient’s signal into a specified number of bands. |
| Smooth-Step Gradient Modifier | Generates a gradient fall off that smooths the input gradient. |
| Threshold Gradient Modifier | Applies a threshold value to an input gradient to generate an output gradient that has only two values. Input gradient values above the threshold are set to 1 and input values at or below the threshold are set to 0. |
Gradients
| Component | Description |
|---|---|
| Altitude Gradient | Generates a gradient based on height within a range. |
| Constant Gradient | Returns a specified value as a gradient when sampled. |
| FastNoise Gradient | Generates gradient values using FastNoise , a noise generation library with a collection of real-time noise algorithms. |
| Image Gradient | Generates a gradient by sampling an image asset. |
| Perlin Noise Gradient | Generates a gradient by sampling a perlin noise generator. |
| Random Noise Gradient | Generates a gradient by sampling a random noise generator. |
| Reference Gradient | References another gradient. |
| Shape Falloff Gradient | Generates a gradient based on the distance from a shape. |
| Slope Gradient | Generates a gradient based on the surface angle. |
| Surface Mask Gradient | Generates a gradient based on the underlying surface types. |
Multiplayer
| Component | Description |
|---|---|
| Simple Network Player Spawner | Implements a basic setup for handling player join and player leave events in a network multiplayer session. |
Non-uniform Scale
| 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
| Component | Description |
|---|---|
| Gradient Surface Tag Emitter | Enables a gradient to emit surface tags. |
| Mesh Surface Tag Emitter | Enables a static mesh to emit surface tags. |
| PhysX Collider Surface Tag Emitter | Enables a physics collider to emit surface tags. |
| Shape Surface Tag Emitter | Enables a shape to emit surface tags. |
Terrain
| Component | Description |
|---|---|
| Terrain Physics Heightfield Collider | Provides terrain data to a physics collider in the form of a heightfield and surface to material mapping. |
| Terrain Layer Spawner | Spawns a terrain region contained within configurable bounds, and allows prioritization of overlapping terrain layers. |
| Terrain Macro Material | Provides low-fidelity color data for a region of terrain. |
| Terrain Height Gradient List | Provides terrain height data from a list of gradients. |
| Terrain Surface Materials List | Defines mappings between a surface type and a render material. |
| Terrain Surface Gradient List | Defines mappings between a gradient and a surface type on a terrain layer. |
| Terrain World | Allows the bounds of the Terrain World and the height query resolution to be set. |
| Terrain World Debugger | Provides a means to display a wireframe or bounds representation of the Terrain World. |
| Terrain World Renderer | Renders the terrain within the Terrain World bounds. |
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
| Component | Description |
|---|---|
| Landscape Canvas | Provides a node-based Editor for authoring Dynamic Vegetation. |
| Vegetation Asset List | Provides a set of vegetation descriptors. |
| Vegetation Asset List Combiner | Provides a list of vegetation descriptor providers. |
| Vegetation Asset Weight Selector | Selects vegetation assets based on their weight. |
| Vegetation Layer Blender | Combines a collection of vegetation areas and applies them in a specified order. |
| Vegetation Layer Blocker | Defines an area in which dynamic vegetation cannot be placed. |
| Vegetation Layer Blocker (Mesh) | Prevents vegetation from being placed in the mesh. |
| Vegetation Layer Debugger | Enables debug visualizers for vegetation layers. |
| Vegetation Layer Spawner | Creates dynamic vegetation in a specified area. |
Vegetation Filters
| Component | Description |
|---|---|
| Vegetation Altitude Filter | Limits the placement of vegetation to surfaces within the specified height range. |
| Vegetation Distance Between Filter | Defines the minimum distance between vegetation instances. |
| Vegetation Distribution Filter | Limits the placement of vegetation to a specified value range within a distribution defined by a gradient. |
| Vegetation Shape Intersection Filter | Limits the placement of vegetation to surfaces that intersect the specified shape. |
| Vegetation Slope Filter | Limits the placement of vegetation to surfaces within the specified surface angle range. |
| Vegetation Surface Mask Depth Filter | Limits the placement of vegetation to surfaces within a specified depth range between two surface tags. |
| Vegetation Surface Mask Filter | Filters out vegetation based on surface mask-to-tag mappings. |
Vegetation Modifiers
| Component | Description |
|---|---|
| Vegetation Position Modifier | Offsets the position of the vegetation. |
| Vegetation Rotation Modifier | Offsets the rotation of the vegetation. |
| Vegetation Scale Modifier | Offsets the scale of the vegetation. |
| Vegetation Slope Alignment Modifier | Offsets the orientation of the vegetation relative to a surface angle. |
Supplemental Information
The following pages provide additional information about data and systems used by the components.
| Data/System | Description |
|---|---|
| Paint Brush | Painting data manipulator used by some components. |
| Terrain Detail Material | Provides high-fidelity material data for a region of terrain. |
Animation
Learn about the Animation components that are available in Open 3D Engine (O3DE).
Atom
Using Atom lighting and rendering components in Open 3D Engine (O3DE).
Audio
Using Audio components in Open 3D Engine (O3DE).
Camera
Using Camera components in Open 3D Engine (O3DE).
Editor
Using Editor components in Open 3D Engine (O3DE).
Gameplay
Using Gameplay components in Open 3D Engine (O3DE).
Gradient Modifiers
Using Gradient Modifiers components in Open 3D Engine (O3DE).
Gradients
Using Gradients components in Open 3D Engine (O3DE).
Multiplayer
Use multiplayer components in Open 3D Engine (O3DE).
Non-uniform Scale
Using Non-uniform Scale components in Open 3D Engine (O3DE).
NVIDIA PhysX
Using NVIDIA PhysX components in Open 3D Engine (O3DE).
Paint Brush
The Paint Brush is a generalized tool for manipulating arbitrary data in world space using standard painting controls.
ROS 2
Using Robot Operating System (ROS 2) components in Open 3D Engine (O3DE).
Scripting
Using Scripting components in Open 3D Engine (O3DE).
Shape
Using Shape components in Open 3D Engine (O3DE).
Surface Data
Using Surface Data components in Open 3D Engine (O3DE).
Terrain
Using Terrain components in Open 3D Engine (O3DE).
Test
Using Test components in Open 3D Engine (O3DE).
Transform
Use the Transform component to move, rotate, and scale an entity in Open 3D Engine.
UI
Using UI components in Open 3D Engine (O3DE).
Vegetation
Using Vegetation components in Open 3D Engine (O3DE).
Vegetation Filters
Use Vegetation Filters to control the distribution of vegetation areas in your Open 3D Engine (O3DE) level.
Vegetation Modifiers
Use Vegetation Modifiers to create realistic variation between vegetation instances in Open 3D Engine (O3DE).