Menu
Lumberyard
C++ API Reference (Version 1.10)

Open 3D Engine (O3DE), the successor to Lumberyard, is now available in Developer Preview. Download O3DE or visit the AWS Game Tech blog to learn more.

Event buses (EBuses) are a general-purpose communication system that Lumberyard uses to dispatch notifications and receive requests. This page links to Lumberyard C++ API documentation that is useful when working with EBuses.

To learn how to set up an EBus, see EBus in this guide or Working with the Event Bus (EBus) System in the Lumberyard User Guide .

Header Files

BusImpl.h
Header file for internal EBus classes.
EBus.h
Header file for event bus (EBus), a general-purpose communication system that Lumberyard uses to dispatch notifications and receive requests.
Policies.h
Header file for EBus policies regarding addresses, handlers, connections, and storage.
Results.h
Header file for structures that aggregate results returned by all handlers of an EBus event.
TickBus.h
Header file for buses that dispatch tick notification events and receive tick-related requests.
TransformBus.h
Header file for buses that dispatch and receive events related to positioning, rotating, scaling, and parenting an entity.

Classes/Structs

BusHandlerOrderCompare
Determines the order in which handlers receive tick events.
EBus< Interface, BusTraits >
Event buses (EBuses) are a general-purpose communication system that Lumberyard uses to dispatch notifications and receive requests.
EBusAggregateResults< T >
Collects results returned by all handlers of an EBus event.
EBusBroadcastEnumerator< Bus, Traits >
Provides functionality that requires enumerating over all handlers that are connected to an EBus .
EBusBroadcaster< Bus, Traits >
Dispatches an event to all handlers that are connected to an EBus .
EBusBroadcastQueue< Bus, Traits >
EBus functionality related to the queuing of events and functions.
EBusConnectionPolicy< Bus >
Defines the default connection policy that is used when AZ::EBusTraits::ConnectionPolicy is left unspecified.
EBusEnvironmentStoragePolicy< Context >
A choice of AZ::EBusTraits::StoragePolicy that specifies that EBus data is stored in the AZ::Environment.
EBusEventEnumerator< Bus, Traits >
Provides functionality that requires enumerating over handlers that are connected to an EBus .
EBusEventer< Bus, Traits >
Dispatches events to handlers that are connected to a specific address on an EBus .
EBusEventQueue< Bus, Traits >
Enqueues asynchronous events to dispatch to handlers that are connected to a specific address on an EBus .
EBusGlobalStoragePolicy< Context >
A choice of AZ::EBusTraits::StoragePolicy that specifies that EBus data is stored in a global static variable.
EBusImpl< Bus, Traits, BusIdType >
Base class that provides eventing, queueing, and enumeration functionality for EBuses that dispatch events to handlers.
EBusImpl< Bus, Traits, NullBusId >
Base class that provides eventing, queueing, and enumeration functionality for EBuses that dispatch events to all of their handlers.
EBusImplTraits< Interface, BusTraits >
Internal class that contains data about EBusTraits .
EBusNullQueue
Data type that is used when an EBus doesn't support queuing.
EBusReduceResult< T &, Aggregator >
Aggregates results returned by all handlers of an EBus event.
EBusReduceResult< T, Aggregator >
Aggregates results returned by all handlers of an EBus event.
EBusThreadLocalStoragePolicy< Context >
A choice of AZ::EBusTraits::StoragePolicy that specifies that EBus data is stored in a thread_local static variable.
EBusTraits
EBusTraits are properties that you use to configure an EBus .
NullBusId
Indicates that EBusTraits::BusIdType is not set.
NullMutex
A dummy mutex that performs no locking.
SystemTickEvents
Interface for AZ::SystemTickBus , which is the EBus that dispatches system tick events.
TickEvents
Interface for AZ::TickBus , which is the EBus that dispatches tick events.
TickRequests
Interface for AZ::TickRequestBus , which components use to make tick-related requests.
TransformInterface
Interface for AZ::TransformBus , which is an EBus that receives requests to translate (position), rotate, and scale an entity in 3D space.
TransformNotification
Interface for AZ::TransformNotificationBus , which is the EBus that dispatches transform changes to listeners.

Macros

EBUS_DBG_EVENT (_EBUS, ...)
Dispatches an event to all handlers.
EBUS_DBG_EVENT_ID (_BusId, _EBUS, ...)
Dispatches an event to handlers at a specific address.
EBUS_DBG_EVENT_ID_RESULT (_Result, _BusId, _EBUS, ...)
Dispatches an event to handlers at a specific address and receives results.
EBUS_DBG_EVENT_ID_RESULT_REVERSE (_Result, _BusId, _EBUS, ...)
Dispatches an event to handlers at a specific address in reverse order and receives results.
EBUS_DBG_EVENT_ID_REVERSE (_BusId, _EBUS, ...)
Dispatches an event to handlers at a specific address in reverse order.
EBUS_DBG_EVENT_PTR (_BusPtr, _EBUS, ...)
Dispatches an event to handlers at a cached address.
EBUS_DBG_EVENT_PTR_RESULT (_Result, _BusPtr, _EBUS, ...)
Dispatches an event to handlers at a cached address and receives results.
EBUS_DBG_EVENT_PTR_RESULT_REVERSE (_Result, _BusPtr, _EBUS, ...)
Dispatches an event to handlers at a cached address in reverse order and receives results.
EBUS_DBG_EVENT_PTR_REVERSE (_BusPtr, _EBUS, ...)
Dispatches an event to handlers at a cached address in reverse order.
EBUS_DBG_EVENT_RESULT (_Result, _EBUS, ...)
Dispatches an event to all handlers and receives results.
EBUS_DBG_EVENT_RESULT_REVERSE (_Result, _EBUS, ...)
Dispatches an event to all handlers in reverse order and receives results.
EBUS_DBG_EVENT_REVERSE (_EBUS, ...)
Dispatches an event to all handlers in reverse order.
EBUS_DBG_QUEUE_EVENT (_EBUS, ...)
Enqueues an asynchronous event to dispatch to all handlers.
EBUS_DBG_QUEUE_EVENT_ID (_BusId, _EBUS, ...)
Enqueues an asynchronous event to dispatch to handlers at a specific address.
EBUS_DBG_QUEUE_EVENT_ID_REVERSE (_BusId, _EBUS, ...)
Enqueues an asynchronous event to dispatch to handlers at a specific address in reverse order.
EBUS_DBG_QUEUE_EVENT_PTR (_BusPtr, _EBUS, ...)
Enqueues an asynchronous event to dispatch to handlers at a cached address.
EBUS_DBG_QUEUE_EVENT_PTR_REVERSE (_BusPtr, _EBUS, ...)
Enqueues an asynchronous event to dispatch to handlers at a cached address in reverse order.
EBUS_DBG_QUEUE_EVENT_REVERSE (_EBUS, ...)
Enqueues an asynchronous event to dispatch to all handlers in reverse order.
EBUS_DBG_QUEUE_FUNCTION (_EBUS, ...)
Enqueues an arbitrary callable function to be executed asynchronously.
EBUS_EVENT (_EBUS, ...)
Dispatches an event to all handlers.
EBUS_EVENT_ID (_BusId, _EBUS, ...)
Dispatches an event to handlers at a specific address.
EBUS_EVENT_ID_RESULT (_Result, _BusId, _EBUS, ...)
Dispatches an event to handlers at a specific address and receives results.
EBUS_EVENT_ID_RESULT_REVERSE (_Result, _BusId, _EBUS, ...)
Dispatches an event to handlers at a specific address in reverse order and receives results.
EBUS_EVENT_ID_REVERSE (_BusId, _EBUS, ...)
Dispatches an event to handlers at a specific address in reverse order.
EBUS_EVENT_PTR (_BusPtr, _EBUS, ...)
Dispatches an event to handlers at a cached address.
EBUS_EVENT_PTR_RESULT (_Result, _BusPtr, _EBUS, ...)
Dispatches an event to handlers at a cached address and receives results.
EBUS_EVENT_PTR_RESULT_REVERSE (_Result, _BusPtr, _EBUS, ...)
Dispatches an event to handlers at a cached address in reverse order and receives results.
EBUS_EVENT_PTR_REVERSE (_BusPtr, _EBUS, ...)
Dispatches an event to handlers at a cached address in reverse order.
EBUS_EVENT_RESULT (_Result, _EBUS, ...)
Dispatches an event to all handlers and receives results.
EBUS_EVENT_RESULT_REVERSE (_Result, _EBUS, ...)
Dispatches an event to all handlers in reverse order and receives results.
EBUS_EVENT_REVERSE (_EBUS, ...)
Dispatches an event to all handlers in reverse order.
EBUS_QUEUE_EVENT (_EBUS, ...)
Enqueues an asynchronous event to dispatch to all handlers.
EBUS_QUEUE_EVENT_ID (_BusId, _EBUS, ...)
Enqueues an asynchronous event to dispatch to handlers at a specific address.
EBUS_QUEUE_EVENT_ID_REVERSE (_BusId, _EBUS, ...)
Enqueues an asynchronous event to dispatch to handlers at a specific address in reverse order.
EBUS_QUEUE_EVENT_PTR (_BusPtr, _EBUS, ...)
Enqueues an asynchronous event to dispatch to handlers at a cached address.
EBUS_QUEUE_EVENT_PTR_REVERSE (_BusPtr, _EBUS, ...)
Enqueues an asynchronous event to dispatch to handlers at a cached address in reverse order.
EBUS_QUEUE_EVENT_REVERSE (_EBUS, ...)
Enqueues an asynchronous event to dispatch to all handlers in reverse order.
EBUS_QUEUE_FUNCTION (_EBUS, ...)
Enqueues an arbitrary callable function to be executed asynchronously.
ToolsTransformComponentTypeId
The type ID of AzToolsFramework::Components::TransformComponent, which is the TransformComponent used by the editor.

Enumerations

ComponentTickBus {
AZ::TICK_FIRST , AZ::TICK_PLACEMENT , AZ::TICK_ANIMATION , AZ::TICK_PHYSICS ,
AZ::TICK_DEFAULT , AZ::TICK_UI , AZ::TICK_LAST
}
Values to help you set when a particular handler is notified of ticks.
EBusAddressPolicy { AZ::EBusAddressPolicy::Single , AZ::EBusAddressPolicy::ById , AZ::EBusAddressPolicy::ByIdAndOrdered }
Defines how many addresses exist on the EBus.
EBusHandlerPolicy { AZ::EBusHandlerPolicy::Single , AZ::EBusHandlerPolicy::Multiple , AZ::EBusHandlerPolicy::MultipleAndOrdered }
Defines how many handlers can connect to an address on the EBus and the order in which handlers at each address receive events.