className: FSumReward

description: Reward that sums the results of multiple other reward functions

code: struct FSumReward : public [UE::Learning::FRewardObject](API\Plugins\Learning\FRewardObject)


module: Learning

code: virtual void Evaluate ( const [FIndexSet](API\Plugins\Learning\FIndexSet) Instances )


code: FTimeElapsedCompletion ( const [FName](API\Runtime\Core\UObject\FName) & InIdentifier, const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FArrayMap](API\Plugins\Learning\FArrayMap) > & InInstanceData, const int32 InMaxInstanceNum, const float InThreshold, const [ECompletionMode](API\Plugins\Learning\UE__Learning__ECompletionMode) InCompletionMode )


className: FTimeElapsedCompletion

description: Completion due to time having elapsed

code: struct FTimeElapsedCompletion : public [UE::Learning::FCompletionObject](API\Plugins\Learning\FCompletionObject)

ThresholdHandle

type: TArrayMapHandle...


code: virtual void Decode ( const [FIndexSet](API\Plugins\Learning\FIndexSet) Instances )


code: virtual bool IsDecodable() const


code: virtual void Encode ( const [FIndexSet](API\Plugins\Learning\FIndexSet) Instances )


code: virtual bool IsEncodable() const


code: FTimeFeature ( const [FName](API\Runtime\Core\UObject\FName) & InIdentifier, const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FArrayMap](API\Plugins\Learning\FArrayMap) > & InInstanceData, const int32 InMaxInstanceNum, const int32 InTimeNum, const float InScale )


className: FTimeFeature

description: Feature for an array of times

code: struct FTimeFeature : public [UE::Learning::FFeatureObject](API\Plugins\Learning\FFeatureObject)


code: FVectorAverageMagnitudePenalty ( const [FName](API\Runtime\Core\UObject\FName) & InIdentifier, const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FArrayMap](API\Plugins\Learning\FArrayMap) > & InInstanceData, const int32 InMaxInstanceNum, const int32 InDimNum, const float InWeight, const float InScale, const float InThreshold )


className: FVectorAverageMagnitudePenalty

description: Penalty based on the average absolute magnitude of each dimension of a vector

code: struct FVectorAverageMagnitudePenalty : public [UE::Learning::FRewardObject](API\Plugins\Learning\FRewardObject)


className: FVelocityDifferencePenalty

description: Penalty based on the difference between two velocities

code: struct FVelocityDifferencePenalty : public [UE::Learning::FRewardObject](API\Plugins\Learning\FRewardObject)


code: FVelocityFeature ( const [FName](API\Runtime\Core\UObject\FName) & InIdentifier, const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FArrayMap](API\Plugins\Learning\FArrayMap) > & InInstanceData, const int32 InMaxInstanceNum, const int32 InVelocityNum, const float InScale )


description: Reset the Optimizer

code: void Reset ( [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< 2, float > OutSamples, const [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< 1, const float > InitialGuess )


className: FVelocityFeature

description: Feature for an array of velocities

code: struct FVelocityFeature : public [UE::Learning::FFeatureObject](API\Plugins\Learning\FFeatureObject)


description: Resize the Optimizer

code: void Resize ( const int32 SampleNum, const int32 DimensionsNum )


description: Update the Optimizer

code: void Update ( [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< 2, float > InOutSamples, const [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< 1, const float > Losses, const [ELogSetting](API\Plugins\Learning\UE__Learning__ELogSetting) LogSettings )


code: FVelocityDifferencePenalty ( const [FName](API\Runtime\Core\UObject\FName) & InIdentifier, const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FArrayMap](API\Plugins\Learning\FArrayMap) > & InInstanceData, const int32 InMaxInstanceNum, const float InWeight, const float InScale, const float InThreshold )


className: IOptimizer

description: Interface for an Optimizer

code: struct IOptimizer


code: operator FArrayMapHandle() const


className: TArrayMapHandle

description: Type-safe handle to an array stored in anFArrayMap

code: template<uint8 DimNum, typename ElementType> struct TArrayMapHandle


className: TConstMultiArrayView

code: typedef [TMultiArrayView](API\Plugins\Learning\TMultiArrayView)< InDimNum, const InElementType, bInIsChecked, bInIsRestrict, InSizeType > TConstMultiArrayView


className: Value

description: NOTE: The stars in theTPointerIsConvertibleFromTotest areIMPORTANTThey prevent TArrayView(TArray&) from compiling!

code: enum { Value = TPointerIsConvertibleFromTo<T*, ElementType* const>::Value }


code: template<typename T> static decltype(auto) GetData ( T && Arg )


className: TIsCompatibleElementType

description: Trait testing whether a type is compatible with the view type

code: template<typename T, typename ElementType> struct TIsCompatibleElementType


code: static constexpr bool Value = TIsCompatibleElementType<typename TRemovePointer<decltype(GetData(DeclVal<RangeType&>()))>::Type, ElementType>::Value;


className: TIsCompatibleRangeType

code: template<typename RangeType, typename ElementType> struct TIsCompatibleRangeType


code: static constexpr bool Value = !std::is_same_v<typename TContainerElementTypeCompatibility<NaturalElementType>::ReinterpretType, NaturalElementType> && TIsCompatibleElementType<typename TContainerElementTypeCompatibility<NaturalElementType>::ReinterpretType, ElementType>::Value;


className: NaturalElementType

code: typedef typename [TRemovePointer](API\Runtime\Core\Templates\TRemovePointer)< decltype([GetData](API\Plugins\Learning\TIsReinterpretableRangeType\GetData)(DeclVal< RangeType & >()))>::Type NaturalElementType


className: TLearningArray

code: typedef [TMultiArray](API\Plugins\Learning\TMultiArray)< DimNum, ElementType, Allocator,(!0),(!0) > TLearningArray


className: TIsReinterpretableRangeType

description: Trait testing whether a type is reinterpretable in a way that permits use with the view type

code: template<typename RangeType, typename ElementType> struct TIsReinterpretableRangeType


className: TLearningArrayShape

code: typedef [TMultiArrayShape](API\Plugins\Learning\TMultiArrayShape)< DimNum > TLearningArrayShape


className: TLearningArrayView

code: typedef [TMultiArrayView](API\Plugins\Learning\TMultiArrayView)< DimNum, ElementType,(!0),(!0) > TLearningArrayView


className: TLearningConstArrayView

code: typedef [TConstMultiArrayView](API\Plugins\Learning\TConstMultiArrayView)< DimNum, ElementType,(!0),(!0) > TLearningConstArrayView


className: AllocatorType

code: typedef InAllocatorType AllocatorType


description: DO NOT USE DIRECTLY STL-like iterators to enable range-based for loop support.

code: [ElementType](API\Plugins\Learning\TMultiArray\ElementType) * begin() const


className: bIsChecked

code: static constexpr bool bIsChecked = bInIsChecked;


className: bIsRestrict

code: static constexpr bool bIsRestrict = bInIsRestrict;


description: Checks if a dimension is within the allowed number of dimensions

code: void DimensionCheck ( uint8 Dimension ) const


description: Checks array invariants: if array size is greater than zero and less than maximum.

code: void CheckInvariants() const


description:
Checks if this array contains the element.
True if found. False otherwise.

code: template<typename ComparisonType> bool Contains ( const ComparisonType & Item ) const


className: DimNum

code: static constexpr uint8 DimNum = InDimNum;


className: ElementAllocatorType

code: typedef typename [TChooseClass](API\Runtime\Core\Templates\TChooseClass)< AllocatorType::NeedsElementType, typename AllocatorType::template ForElementType< [ElementType](API\Plugins\Learning\TMultiArray\ElementType) >, typename AllocatorType::ForAnyElementType >::Result ElementAllocatorType


description: Empties the array. It calls the destructors on held items if needed.

code: void Empty()


className: ElementType

code: typedef InElementType ElementType


code: [ElementType](API\Plugins\Learning\TMultiArray\ElementType) * end() const


description:
Flattens the array view into a single dimension.
Flattened array view.

code: [TMultiArrayView](API\Plugins\Learning\TMultiArrayView)< 1, [ElementType](API\Plugins\Learning\TMultiArray\ElementType), bIsChecked, bIsRestrict, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) > Flatten()


code: [TMultiArrayView](API\Plugins\Learning\TMultiArrayView)< 1, const [ElementType](API\Plugins\Learning\TMultiArray\ElementType), bIsChecked, bIsRestrict, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) > Flatten() const


description:
Flattens the array on a given dimension, merging that dimension and the following one. e.g. a 3D MultiArrayView with shape [10, 5, 3] flattened on dimension 0 will become a 2D MultiArrayView with shape [10 * 5, 3]
View flattened on the given dimension.

code: template<uint8 Dimension> [TMultiArrayView](API\Plugins\Learning\TMultiArrayView)< DimNum-1, [ElementType](API\Plugins\Learning\TMultiArray\ElementType), bIsChecked, bIsRestrict, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) > Flatten()


code: template<uint8 Dimension> [TMultiArrayView](API\Plugins\Learning\TMultiArrayView)< DimNum-1, const [ElementType](API\Plugins\Learning\TMultiArray\ElementType), bIsChecked, bIsRestrict, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) > Flatten() const


code: [TMultiArrayView](API\Plugins\Learning\TMultiArrayView)< DimNum-1, [ElementType](API\Plugins\Learning\TMultiArray\ElementType), bIsChecked, bIsRestrict, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) > Flatten ( uint8 Dimension )


code: [TMultiArrayView](API\Plugins\Learning\TMultiArrayView)< DimNum-1, const [ElementType](API\Plugins\Learning\TMultiArray\ElementType), bIsChecked, bIsRestrict, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) > Flatten ( uint8 Dimension ) const


code: const [ElementAllocatorType](API\Plugins\Learning\TMultiArray\ElementAllocatorType) & GetAllocatorInstance() const


description:
Helper function for returning a typed pointer to the first array entry.
Pointer to first array entry or nullptr if empty

code: const [PointerType](API\Plugins\Learning\TMultiArray\PointerType) GetData() const


description:
Helper function returning the size of the inner type.
Size in bytes of array type.

code: uint32 GetTypeSize() const


description: Num

code: bool IsEmpty() const


description: Num

code: bool IsEmpty ( uint8 Dimension ) const


description:
Returns total number of elements
Total number of elements in array.


description:
Returns number of elements in a dimension.
Number of elements in array.

code: template<uint8 InDimIdx> [SizeType](API\Plugins\Learning\TMultiArray\SizeType) Num() const


code: [SizeType](API\Plugins\Learning\TMultiArray\SizeType) Num ( uint8 Dimension ) const


description: AllocatorType changing version.

code: template<typename OtherAllocatorType, bool bOtherIsChecked> [TMultiArray](API\Plugins\Learning\TMultiArray) & operator= ( const [TMultiArray](API\Plugins\Learning\TMultiArray)< DimNum, [ElementType](API\Plugins\Learning\TMultiArray\ElementType), OtherAllocatorType, bOtherIsChecked > & Other )


className: TMultiArray::operator TMultiArrayView< DimNum, ElementType, bIsChecked, bIsRestrict, SizeType >

code: operator TMultiArrayView< DimNum, ElementType, bIsChecked, bIsRestrict, SizeType >()


className: TMultiArray::operator TMultiArrayView< DimNum, const ElementType, bIsChecked, bIsRestrict, SizeType >

code: operator TMultiArrayView< DimNum, const ElementType, bIsChecked, bIsRestrict, SizeType >() const


description: Assignment operator. First deletes all currently contained elements and then copies from other array.

code: [TMultiArray](API\Plugins\Learning\TMultiArray) & operator= ( const [TMultiArray](API\Plugins\Learning\TMultiArray) & Other )


code: template<typename OtherElementType, bool bOtherIsChecked, bool bOtherIsRestrict, typename OtherSizeType> [TMultiArray](API\Plugins\Learning\TMultiArray) & operator= ( const [TMultiArrayView](API\Plugins\Learning\TMultiArrayView)< DimNum, OtherElementType, bOtherIsChecked, bOtherIsRestrict, OtherSizeType > & Other )


description:
Array bracket operator. Returns reference to element at given index.
Reference to indexed element.

code: [TMultiArrayView](API\Plugins\Learning\TMultiArrayView)< DimNum-1, [ElementType](API\Plugins\Learning\TMultiArray\ElementType), bIsChecked, bIsRestrict, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) > operator[] ( [SizeType](API\Plugins\Learning\TMultiArray\SizeType) Index )


description: Move assignment operator.

code: [TMultiArray](API\Plugins\Learning\TMultiArray) & operator= ( [TMultiArray](API\Plugins\Learning\TMultiArray) && Other )


description:
Const version of the above.
Reference to indexed element.

code: [TMultiArrayView](API\Plugins\Learning\TMultiArrayView)< DimNum-1, const [ElementType](API\Plugins\Learning\TMultiArray\ElementType), bIsChecked, bIsRestrict, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) > operator[] ( [SizeType](API\Plugins\Learning\TMultiArray\SizeType) Index ) const


className: PointerType

code: typedef typename [TChooseClass](API\Runtime\Core\Templates\TChooseClass)< bIsRestrict, [ElementType](API\Plugins\Learning\TMultiArray\ElementType) *__restrict, [ElementType](API\Plugins\Learning\TMultiArray\ElementType) * >::Result PointerType


description: Checks if index is in dimension range.

code: void RangeCheck ( uint8 Dimension, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) Index ) const


description: Resizes array to given number of elements. New elements will be uninitialized.

code: void SetNumUninitialized ( [TMultiArrayShape](API\Plugins\Learning\TMultiArrayShape)< DimNum, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) > NewShape )


description: Resizes array to given number of elements.

code: void SetNum ( [TMultiArrayShape](API\Plugins\Learning\TMultiArrayShape)< DimNum, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) > NewShape )


description:
Returns number of dimensions.
Number of dimensions in array.


className: SizeType

code: typedef typename InAllocatorType::SizeType SizeType


description:
Returns the number of elements in each dimension.
Number of elements in each dimension.

code: [TMultiArrayShape](API\Plugins\Learning\TMultiArrayShape)< DimNum, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) > Shape() const


description: Resizes array to given number of elements. New elements will be zeroed.

code: void SetNumZeroed ( [TMultiArrayShape](API\Plugins\Learning\TMultiArrayShape)< DimNum, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) > NewShape )


description:
Returns a sliced view. Slicing outside of the range of the view is illegal.
Sliced view

code: [TMultiArrayView](API\Plugins\Learning\TMultiArrayView)< DimNum, [ElementType](API\Plugins\Learning\TMultiArray\ElementType), bIsChecked, bIsRestrict, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) > Slice ( [SizeType](API\Plugins\Learning\TMultiArray\SizeType) Index, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) InNum )


description: Checks if a slice range [Index, Index+InNum) is in dimension range. Length is 0 is allowed on empty dimensions;Indexmust be 0 in that case.

code: void SliceRangeCheck ( uint8 Dimension, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) Index, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) InNum ) const


code: [TMultiArrayView](API\Plugins\Learning\TMultiArrayView)< DimNum, const [ElementType](API\Plugins\Learning\TMultiArray\ElementType), bIsChecked, bIsRestrict, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) > Slice ( [SizeType](API\Plugins\Learning\TMultiArray\SizeType) Index, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) InNum ) const


description:
Returns the stride for a dimension.
Stride of that dimension.

code: [SizeType](API\Plugins\Learning\TMultiArray\SizeType) Stride ( uint8 Dimension ) const


description: Constructor, initializes element number counters.

code: TMultiArray()


code: template<typename OtherElementType, bool bOtherIsChecked, bool bOtherIsRestrict, typename OtherSizeType> TMultiArray ( const [TMultiArrayView](API\Plugins\Learning\TMultiArrayView)< DimNum, OtherElementType, bOtherIsChecked, bOtherIsRestrict, OtherSizeType > & Other )


description: Copy constructor with changed allocator. Use the common routine to perform the copy.

code: template<typename OtherElementType, typename OtherAllocator, bool bOtherIsChecked, std::enable_if_t< [UE::MultiArray::Private::TMultiArrayElementsAreCompatible](API\Plugins\Learning\TMultiArrayElementsAreCompatible)< [ElementType](API\Plugins\Learning\TMultiArray\ElementType), const OtherElementType & >::Value > *> TMultiArray ( const [TMultiArray](API\Plugins\Learning\TMultiArray)< DimNum, OtherElementType, OtherAllocator, bOtherIsChecked > & Other )


description: Copy constructor. Use the common routine to perform the copy.

code: TMultiArray ( const [TMultiArray](API\Plugins\Learning\TMultiArray) & Other )


description: Move constructor.

code: template<typename OtherElementType, typename OtherAllocator, bool bOtherIsChecked, std::enable_if_t< [UE::MultiArray::Private::TMultiArrayElementsAreCompatible](API\Plugins\Learning\TMultiArrayElementsAreCompatible)< [ElementType](API\Plugins\Learning\TMultiArray\ElementType), OtherElementType && >::Value > *> TMultiArray ( [TMultiArray](API\Plugins\Learning\TMultiArray)< DimNum, OtherElementType, OtherAllocator, bOtherIsChecked > && Other )


description: Move constructor.

code: TMultiArray ( [TMultiArray](API\Plugins\Learning\TMultiArray) && Other )


description: Constructor from a raw array of elements.

code: TMultiArray ( const [ElementType](API\Plugins\Learning\TMultiArray\ElementType) * Ptr, [TMultiArrayShape](API\Plugins\Learning\TMultiArrayShape)< DimNum, [SizeType](API\Plugins\Learning\TMultiArray\SizeType) > Shape )


description: Destructor.

code: ~TMultiArray()


className: TMultiArray

description: A dynamically sized array of typed elements. Makes the assumption that your elements are relocatable; i.e. that they can be transparently moved to new memory without a copy constructor.

code: template<uint8 InDimNum, typename InElementType, typename InAllocatorType, bool bInIsChecked, bool bInIsRestrict> class TMultiArray

AllocatorInstance

type: ElementAllocato...

ArrayShape

type: TMultiArrayShap...


className: TMultiArrayElementsAreCompatible

description: This should be changed to use std::disjunction and std::is_constructible, and the usage changed to use ::value instead of Value, when std::disjunction (C++17) is available everywhere.

code: typedef [TOrValue](API\Runtime\Core\Templates\TOrValue)< std::is_same< DestType, std::decay_t< SourceType >>::value, [TIsConstructible](API\Runtime\Core\Templates\TIsConstructible)< DestType, SourceType >> TMultiArrayElementsAreCompatible


code: static constexpr uint8 DimNum = InDimNum;


code: [SizeType](API\Plugins\Learning\TMultiArrayShape\SizeType) & operator[] ( uint8 Dimension )


code: const [SizeType](API\Plugins\Learning\TMultiArrayShape\SizeType) & operator[] ( uint8 Dimension ) const


code: typedef InSizeType SizeType


code: TMultiArrayShape ( std::initializer_list< [SizeType](API\Plugins\Learning\TMultiArrayShape\SizeType) > InNums )


code: TMultiArrayShape ( const [SizeType](API\Plugins\Learning\TMultiArrayShape\SizeType) * InNums )


className: TMultiArrayShape

code: template<uint8 InDimNum, typename InSizeType> class TMultiArrayShape


description: DO NOT USE DIRECTLY STL-like iterators to enable range-based for loop support.

code: [ElementType](API\Plugins\Learning\TMultiArrayView\ElementType) * begin() const


code: static constexpr bool bIsChecked = bInIsChecked;


code: static constexpr bool bIsRestrict = bInIsRestrict;


description: Checks array invariants: if array size is greater than zero on each dimension

code: void CheckInvariants() const


description:
Checks if this array contains the element.
True if found. False otherwise.

code: template<typename ComparisonType> bool Contains ( const ComparisonType & Item ) const


description: Checks if a dimension is within the allowed number of dimensions

code: void DimensionCheck ( uint8 Dimension ) const


code: typedef InElementType ElementType


code: [ElementType](API\Plugins\Learning\TMultiArrayView\ElementType) * end() const


description:
Flattens the array view into a single dimension.
Flattened array view.

code: [TMultiArrayView](API\Plugins\Learning\TMultiArrayView)< 1, [ElementType](API\Plugins\Learning\TMultiArrayView\ElementType), bIsChecked, bIsRestrict, [SizeType](API\Plugins\Learning\TMultiArrayView\SizeType) > Flatten() const


description:
Flattens the array on a given dimension, merging that dimension and the following one. e.g. a 3D MultiArrayView with shape [10, 5, 3] flattened on dimension 0 will become a 2D MultiArrayView with shape [10 * 5, 3]
View flattened on the given dimension.

code: [TMultiArrayView](API\Plugins\Learning\TMultiArrayView)< DimNum-1, [ElementType](API\Plugins\Learning\TMultiArrayView\ElementType), bIsChecked, bIsRestrict, [SizeType](API\Plugins\Learning\TMultiArrayView\SizeType) > Flatten ( uint8 Dimension ) const


code: template<uint8 Dimension> [TMultiArrayView](API\Plugins\Learning\TMultiArrayView)< DimNum-1, [ElementType](API\Plugins\Learning\TMultiArrayView\ElementType), bIsChecked, bIsRestrict, [SizeType](API\Plugins\Learning\TMultiArrayView\SizeType) > Flatten() const


description:
Helper function for returning a typed pointer to the first array entry.
Pointer to first array entry or nullptr if empty


code: const [PointerType](API\Plugins\Learning\TMultiArrayView\PointerType) GetData() const


description: Helper function returning the alignment of the inner type.

code: static constexpr size_t GetTypeAlignment()


description:
Helper function returning the size of the inner type.
Size in bytes of array type.

code: static constexpr size_t GetTypeSize()


description: Num

code: bool IsEmpty() const


description: Num

code: bool IsEmpty ( uint8 Dimension ) const


description:
Returns the total number of elements
Total number of elements in array.


description:
Returns the number of elements in a dimension.
Number of elements in array.

code: [SizeType](API\Plugins\Learning\TMultiArrayView\SizeType) Num ( uint8 Dimension ) const


code: template<uint8 InDimIdx> [SizeType](API\Plugins\Learning\TMultiArrayView\SizeType) Num() const


className: TMultiArrayView::operator TMultiArrayView< DimNum, ElementType, true, false, SizeType >

description: Implicit cast for Checked and Restrict.

code: operator TMultiArrayView< DimNum, ElementType, true, false, SizeType >()


className: TMultiArrayView::operator TMultiArrayView< DimNum, ElementType, false, false, SizeType >

description: Implicit cast for Checked and Restrict.

code: operator TMultiArrayView< DimNum, ElementType, false, false, SizeType >()


className: TMultiArrayView::operator TMultiArrayView< DimNum, const ElementType, true, false, SizeType >

description: Implicit cast for Checked and Restrict.

code: operator TMultiArrayView< DimNum, const ElementType, true, false, SizeType >() const


className: TMultiArrayView::operator TMultiArrayView< DimNum, ElementType, true, true, SizeType >

description: Implicit cast for Checked and Restrict.

code: operator TMultiArrayView< DimNum, ElementType, true, true, SizeType >()


className: TMultiArrayView::operator TMultiArrayView< DimNum, ElementType, false, true, SizeType >

description: Implicit cast for Checked and Restrict.

code: operator TMultiArrayView< DimNum, ElementType, false, true, SizeType >()


className: TMultiArrayView::operator TMultiArrayView< DimNum, const ElementType, false, false, SizeType >

description: Implicit cast for Checked and Restrict.

code: operator TMultiArrayView< DimNum, const ElementType, false, false, SizeType >() const


className: TMultiArrayView::operator TMultiArrayView< DimNum, const ElementType, true, true, SizeType >

description: Implicit cast for Checked and Restrict.

code: operator TMultiArrayView< DimNum, const ElementType, true, true, SizeType >() const


description:
Array bracket operator. Returns reference to sub-view at given index.
Reference to indexed element.

code: [TMultiArrayView](API\Plugins\Learning\TMultiArrayView)< DimNum-1, [ElementType](API\Plugins\Learning\TMultiArrayView\ElementType), bIsChecked, bIsRestrict, [SizeType](API\Plugins\Learning\TMultiArrayView\SizeType) > operator[] ( [SizeType](API\Plugins\Learning\TMultiArrayView\SizeType) Index ) const


code: typedef typename [TChooseClass](API\Runtime\Core\Templates\TChooseClass)< bIsRestrict, [ElementType](API\Plugins\Learning\TMultiArrayView\ElementType) *__restrict, [ElementType](API\Plugins\Learning\TMultiArrayView\ElementType) * >::Result PointerType


className: TMultiArrayView::operator TMultiArrayView< DimNum, const ElementType, false, true, SizeType >

description: Implicit cast for Checked and Restrict.

code: operator TMultiArrayView< DimNum, const ElementType, false, true, SizeType >() const


description:
Returns the number of dimensions.
Number of dimensions in array.


description:
Returns the number of elements in each dimension.
Number of elements in each dimension.

code: [TMultiArrayShape](API\Plugins\Learning\TMultiArrayShape)< DimNum, [SizeType](API\Plugins\Learning\TMultiArrayView\SizeType) > Shape() const


code: typedef InSizeType SizeType


description:
Returns a sliced view. Slicing outside of the range of the view is illegal.
Sliced view

code: [TMultiArrayView](API\Plugins\Learning\TMultiArrayView) Slice ( [SizeType](API\Plugins\Learning\TMultiArrayView\SizeType) Index, [SizeType](API\Plugins\Learning\TMultiArrayView\SizeType) InNum ) const


description: Checks if index is in dimension range.

code: void RangeCheck ( uint8 Dimension, [SizeType](API\Plugins\Learning\TMultiArrayView\SizeType) Index ) const


description: Checks if a slice range [Index, Index+InNum) is in dimension range. Length is 0 is allowed on empty dimensions;Indexmust be 0 in that case.

code: void SliceRangeCheck ( uint8 Dimension, [SizeType](API\Plugins\Learning\TMultiArrayView\SizeType) Index, [SizeType](API\Plugins\Learning\TMultiArrayView\SizeType) InNum ) const


description:
Returns the stride for a dimension.
Stride of that dimension.

code: [SizeType](API\Plugins\Learning\TMultiArrayView\SizeType) Stride ( uint8 Dimension ) const


description: Constructor.

code: TMultiArrayView()


description: Construct a view of an arbitrary pointer

code: TMultiArrayView ( [ElementType](API\Plugins\Learning\TMultiArrayView\ElementType) * InData, [TMultiArrayShape](API\Plugins\Learning\TMultiArrayShape)< DimNum, [SizeType](API\Plugins\Learning\TMultiArrayView\SizeType) > InShape )


className: TMultiArrayView

description: TArrayView

code: template<uint8 InDimNum, typename InElementType, bool bInIsChecked, bool bInIsRestrict, typename InSizeType> class TMultiArrayView


className: bIsRestrict

code: static bIsRestrict = bInIsRestrict;


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::begin

description: DO NOT USE DIRECTLY STL-like iterators to enable range-based for loop support.

code: ElementType &42; begin&40;&41; const


className: bIsChecked

code: static bIsChecked = bInIsChecked;


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::CheckInvariants

description: Checks array invariants: if array size is greater than zero on each dimension

code: void CheckInvariants&40;&41; const


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::Contains

description:
Checks if this array contains the element.
True if found. False otherwise.

code: template<typename ComparisonType> bool Contains &40; const ComparisonType & Item &41; const


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::DimensionCheck

description: Checks if a dimension is within the allowed number of dimensions

code: void DimensionCheck &40; uint8 Dimension &41; const


className: ElementType

code: typedef InElementType ElementType


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::end

code: ElementType &42; end&40;&41; const


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::GetData

code: PointerType GetData&40;&41;


code: const PointerType GetData&40;&41; const


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::GetTypeAlignment

code: static constexpr size_t GetTypeAlignment&40;&41;


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::GetTypeSize

code: static constexpr size_t GetTypeSize&40;&41;


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::IsEmpty

description: Num

code: bool IsEmpty &40; uint8 Dimension &41; const


description: Num

code: bool IsEmpty&40;&41; const


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::Num

code: SizeType Num&40;&41; const


code: SizeType Num &40; uint8 Dimension &41; const


code: template<uint8 InDimIdx> SizeType Num&40;&41; const


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::operator TArrayView< ElementType, SizeType >

description: Implicit cast toTArrayView.

code: operator TArrayView< ElementType, SizeType >&40;&41; const


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::operator TMultiArrayView< DimNum, ElementType, true, false, SizeType >

description: Implicit cast for Checked and Restrict.

code: operator TMultiArrayView< DimNum, ElementType, true, false, SizeType >&40;&41;


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::operator TMultiArrayView< DimNum, ElementType, false, false, SizeType >

description: Implicit cast for Checked and Restrict.

code: operator TMultiArrayView< DimNum, ElementType, false, false, SizeType >&40;&41;


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::operator TMultiArrayView< DimNum, ElementType, true, true, SizeType >

description: Implicit cast for Checked and Restrict.

code: operator TMultiArrayView< DimNum, ElementType, true, true, SizeType >&40;&41;


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::operator TMultiArrayView< DimNum, ElementType, false, true, SizeType >

description: Implicit cast for Checked and Restrict.

code: operator TMultiArrayView< DimNum, ElementType, false, true, SizeType >&40;&41;


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::operator TMultiArrayView< DimNum, const ElementType, true, false, SizeType >

description: Implicit cast for Checked and Restrict.

code: operator TMultiArrayView< DimNum, const ElementType, true, false, SizeType >&40;&41; const


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::operator TMultiArrayView< DimNum, const ElementType, false, false, SizeType >

description: Implicit cast for Checked and Restrict.

code: operator TMultiArrayView< DimNum, const ElementType, false, false, SizeType >&40;&41; const


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::operator TMultiArrayView< DimNum, const ElementType, true, true, SizeType >

description: Implicit cast for Checked and Restrict.

code: operator TMultiArrayView< DimNum, const ElementType, true, true, SizeType >&40;&41; const


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::operator TMultiArrayView< DimNum, const ElementType, false, true, SizeType >

description: Implicit cast for Checked and Restrict.

code: operator TMultiArrayView< DimNum, const ElementType, false, true, SizeType >&40;&41; const


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::operator[]

description:
Array bracket operator. Returns a reference to the element at given index.
Reference to indexed element.

code: ElementType & operator&91;&93; &40; SizeType Index &41; const


className: PointerType

code: typedef typename TChooseClass< bIsRestrict, ElementType &42;restrict, ElementType &42; >::Result PointerType


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::RangeCheck

description: Checks if index is in dimension range.

code: void RangeCheck &40; uint8 Dimension, SizeType Index &41; const


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::Rank

code: SizeType Rank&40;&41; const


className: SizeType

code: typedef InSizeType SizeType


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::Shape

code: TMultiArrayShape< DimNum, SizeType > Shape&40;&41; const


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::Slice

code: TMultiArrayView Slice &40; SizeType Index, SizeType InNum &41; const


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::Stride

code: SizeType Stride &40; uint8 Dimension &41; const


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::SliceRangeCheck

code: void SliceRangeCheck &40; uint8 Dimension, SizeType Index, SizeType InNum &41; const


className: TIsCompatibleElementType

code: typedef UE::MultiArrayView::Private::TIsCompatibleElementType< T, ElementType > TIsCompatibleElementType


className: TIsCompatibleRangeType

code: typedef UE::MultiArrayView::Private::TIsCompatibleRangeType< T, ElementType > TIsCompatibleRangeType


className: TIsReinterpretableRangeType

code: typedef UE::MultiArrayView::Private::TIsReinterpretableRangeType< T, ElementType > TIsReinterpretableRangeType


className: TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >::TMultiArrayView

description: Constructor.


description: Constructor from another range

code: template<typename OtherRangeType, typename CVUnqualifiedOtherRangeType, typename> TMultiArrayView &40; OtherRangeType && Other &41;


description: The caller is responsible for ensuring that the view does not outlive the initializer list.

code: TMultiArrayView &40; std::initializer_list< ElementType > List &41;


code: template<typename OtherElementType, typename> TMultiArrayView &40; OtherElementType &42; InData, SizeType InNum &41;


description: Specialization for single dimensional MultiArrayView

code: template<typename InElementType, bool bInIsChecked, bool bInIsRestrict, typename InSizeType> class TMultiArrayView< 1, InElementType, bInIsChecked, bInIsRestrict, InSizeType >


className: AllocatorType

code: typedef InAllocatorType AllocatorType


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::begin

code: ElementType &42; begin&40;&41; const


className: bIsChecked

code: static bIsChecked = bInIsChecked;


className: bIsRestrict

code: static bIsRestrict = bInIsRestrict;


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::CheckInvariants

description: Checks array invariants: if array size is greater than zero and less than maximum.

code: void CheckInvariants&40;&41; const


code: TMultiArrayView &40; ElementType &42; InData, TMultiArrayShape< DimNum, SizeType > InShape &41;


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::Contains

code: template<typename ComparisonType> bool Contains &40; const ComparisonType & Item &41; const


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::DimensionCheck

code: void DimensionCheck &40; uint8 Dimension &41; const


className: ElementAllocatorType

code: typedef typename TChooseClass< AllocatorType::NeedsElementType, typename AllocatorType::template ForElementType< ElementType >, typename AllocatorType::ForAnyElementType >::Result ElementAllocatorType


className: ElementType

code: typedef InElementType ElementType


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::end

code: ElementType &42; end&40;&41; const


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::Flatten

description:
Flattens the array view into a single dimension.
Flattened array view.

code: TMultiArrayView< 1, ElementType, bIsChecked, bIsRestrict, SizeType > Flatten&40;&41;


code: TMultiArrayView< 1, const ElementType, bIsChecked, bIsRestrict, SizeType > Flatten&40;&41; const


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::Empty

description: Empties the array. It calls the destructors on held items if needed.

code: void Empty&40;&41;


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::GetAllocatorInstance

code: const ElementAllocatorType & GetAllocatorInstance&40;&41; const


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::GetData

description:
Helper function for returning a typed pointer to the first array entry.
Pointer to first array entry or nullptr if empty

code: const PointerType GetData&40;&41; const


code: PointerType GetData&40;&41;


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::GetTypeSize

description:
Helper function returning the size of the inner type.
Size in bytes of array type.

code: uint32 GetTypeSize&40;&41; const


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::IsEmpty

description: Num

code: bool IsEmpty&40;&41; const


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::Num

description:
Returns total number of elements
Total number of elements in array.

code: SizeType Num&40;&41; const


description:
Returns number of elements in a dimension.
Number of elements in array.

code: template<uint8 InDimIdx> SizeType Num&40;&41; const


code: SizeType Num &40; uint8 Dimension &41; const


description: Num

code: bool IsEmpty &40; uint8 Dimension &41; const


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::operator TArrayView< ElementType, SizeType >

description: Implicit cast toTArrayView.

code: operator TArrayView< ElementType, SizeType >&40;&41; const


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::operator TMultiArrayView< DimNum, ElementType, bIsChecked, bIsRestrict, SizeType >

code: operator TMultiArrayView< DimNum, ElementType, bIsChecked, bIsRestrict, SizeType >&40;&41;


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::operator TMultiArrayView< DimNum, const ElementType, bIsChecked, bIsRestrict, SizeType >

code: operator TMultiArrayView< DimNum, const ElementType, bIsChecked, bIsRestrict, SizeType >&40;&41; const


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::operator=

description: Initializer list assignment operator. First deletes all currently contained elements and then copies from initializer list.

code: TMultiArray & operator&61; &40; std::initializer_list< InElementType > InitList &41;


description: AllocatorType changing version.

code: template<typename OtherAllocatorType, bool bOtherIsChecked> TMultiArray & operator&61; &40; const TMultiArray< DimNum, ElementType, OtherAllocatorType, bOtherIsChecked > & Other &41;


description: Assignment operator. First deletes all currently contained elements and then copies from other array.

code: TMultiArray & operator&61; &40; const TMultiArray & Other &41;


code: template<typename OtherElementType, bool bOtherIsChecked, bool bOtherIsRestrict, typename OtherSizeType> TMultiArray & operator&61; &40; const TMultiArrayView< DimNum, OtherElementType, bOtherIsChecked, bOtherIsRestrict, OtherSizeType > & Other &41;


description: Move assignment operator.

code: TMultiArray & operator&61; &40; TMultiArray && Other &41;


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::operator[]

description:
Const version of the above.
Reference to indexed element.

code: const ElementType & operator&91;&93; &40; SizeType Index &41; const


description:
Array bracket operator. Returns reference to element at given index.
Reference to indexed element.

code: ElementType & operator&91;&93; &40; SizeType Index &41;


className: PointerType

code: typedef typename TChooseClass< bIsRestrict, ElementType &42;restrict, ElementType &42; >::Result PointerType


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::Rank

description:
Returns number of dimensions.
Number of dimensions in array.

code: SizeType Rank&40;&41; const


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::RangeCheck

description: Checks if index is in dimension range.

code: void RangeCheck &40; uint8 Dimension, SizeType Index &41; const


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::SetNum

description: Resizes array to given number of elements.

code: void SetNum &40; TMultiArrayShape< DimNum, SizeType > NewShape &41;


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::SetNumUninitialized

description: Resizes array to given number of elements. New elements will be uninitialized.

code: void SetNumUninitialized &40; TMultiArrayShape< DimNum, SizeType > NewShape &41;


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::SetNumZeroed

description: Resizes array to given number of elements. New elements will be zeroed.

code: void SetNumZeroed &40; TMultiArrayShape< DimNum, SizeType > NewShape &41;


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::Shape

description:
Returns the number of elements in each dimension.
Number of elements in each dimension.

code: TMultiArrayShape< DimNum, SizeType > Shape&40;&41; const


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::Slice

description:
Returns a sliced view. Slicing outside of the range of the view is illegal.
Sliced view

code: TMultiArrayView< DimNum, ElementType, bIsChecked, bIsRestrict, SizeType > Slice &40; SizeType Index, SizeType InNum &41;


className: SizeType

code: typedef typename InAllocatorType::SizeType SizeType


code: TMultiArrayView< DimNum, const ElementType, bIsChecked, bIsRestrict, SizeType > Slice &40; SizeType Index, SizeType InNum &41; const


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::Stride

description:
Returns the stride for a dimension.
Stride of that dimension.

code: SizeType Stride &40; uint8 Dimension &41; const


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::SliceRangeCheck

description: Checks if a slice range [Index, Index+InNum) is in dimension range. Length is 0 is allowed on empty dimensions;Indexmust be 0 in that case.

code: void SliceRangeCheck &40; uint8 Dimension, SizeType Index, SizeType InNum &41; const


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::TMultiArray

description: Constructor, initializes element number counters.


description: Initializer list constructor

code: TMultiArray &40; std::initializer_list< InElementType > InitList &41;


code: template<typename OtherElementType, bool bOtherIsChecked, bool bOtherIsRestrict, typename OtherSizeType> TMultiArray &40; const TMultiArrayView< DimNum, OtherElementType, bOtherIsChecked, bOtherIsRestrict, OtherSizeType > & Other &41;


description: Copy constructor with changed allocator. Use the common routine to perform the copy.

code: template<typename OtherElementType, typename OtherAllocator, bool bOtherIsChecked, std::enable_if_t< UE::MultiArray::Private::TMultiArrayElementsAreCompatible< ElementType, const OtherElementType & >::Value > &42;> TMultiArray &40; const TMultiArray< DimNum, OtherElementType, OtherAllocator, bOtherIsChecked > & Other &41;


description: Copy constructor. Use the common routine to perform the copy.

code: TMultiArray &40; const TMultiArray & Other &41;


description: Move constructor.

code: TMultiArray &40; TMultiArray && Other &41;


description: Move constructor.

code: template<typename OtherElementType, typename OtherAllocator, bool bOtherIsChecked, std::enable_if_t< UE::MultiArray::Private::TMultiArrayElementsAreCompatible< ElementType, OtherElementType && >::Value > &42;> TMultiArray &40; TMultiArray< DimNum, OtherElementType, OtherAllocator, bOtherIsChecked > && Other &41;


description: Constructor from a raw array of elements.

code: TMultiArray &40; const ElementType &42; Ptr, TMultiArrayShape< DimNum, SizeType > Shape &41;


className: TTypeId

code: template<typename T> struct TTypeId


className: TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >::~TMultiArray

description: Destructor.


description: Specialization for single dimensional MultiArray

code: template<typename InElementType, typename InAllocatorType, bool bInIsChecked, bool bInIsRestrict> class TMultiArray< 1, InElementType, InAllocatorType, bInIsChecked, bInIsRestrict >


className: TTypeId< bool >

code: template<> struct TTypeId< bool >


className: TTypeId< double >

code: template<> struct TTypeId< double >


className: TTypeId< ECompletionMode >

code: template<> struct TTypeId< ECompletionMode >


className: TTypeId< float >

code: template<> struct TTypeId< float >


className: TTypeId< FQuat >

code: template<> struct TTypeId< FQuat >


className: TTypeId< FTransform >

code: template<> struct TTypeId< FTransform >


className: TTypeId< FVector >

code: template<> struct TTypeId< FVector >


className: TTypeId< int16 >

code: template<> struct TTypeId< int16 >


className: TTypeId< int32 >

code: template<> struct TTypeId< int32 >


className: TTypeId< int64 >

code: template<> struct TTypeId< int64 >


className: TTypeId< int8 >

code: template<> struct TTypeId< int8 >


className: TTypeId< uint16 >

code: template<> struct TTypeId< uint16 >


className: TTypeId< uint32 >

code: template<> struct TTypeId< uint32 >


className: TTypeId< uint64 >

code: template<> struct TTypeId< uint64 >


description: Shared memory is used by Learning to efficiently share both experience and policy data between a Python training sub-process and potentially multiple unreal processes (which may be gathering that experience).

code: namespace UE { namespace Learning { enum { CustomTypeIdStartIndex = 15, } } }


className: TTypeId< uint8 >

code: template<> struct TTypeId< uint8 >


description: Destructor for an array of elements of a given type

code: namespace UE { namespace Learning { namespace ArrayMapPrivate { template<typename ElementType> void UE::Learning::ArrayMapPrivate::DestructArrayItems ( void * Elements, const int32 DimNum, const int32 * Shape ) } } }


code: namespace UE { namespace Learning { namespace ArrayMapPrivate { static int32 UE::Learning::ArrayMapPrivate::RoundUpToMultiple ( const int32 Value, const int32 Multiple ) } } }


description: Check that an array view does not contain any NaN, Inf, -Inf, MAX_flt, or -MAX_flt

code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType> void UE::Learning::Array::Check ( const [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< InDimNum, InElementType > View ) } } }


description: Check that an array does not contain any NaN, Inf, -Inf, MAX_flt, or -MAX_flt

code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType, typename Allocator> void UE::Learning::Array::Check ( const [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, Allocator > & View ) } } }


description: Check that two array shapes are equal.

code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum> void UE::Learning::Array::CheckShapesEqual ( const [TLearningArrayShape](API\Plugins\Learning\TLearningArrayShape)< InDimNum > & Lhs, const [TLearningArrayShape](API\Plugins\Learning\TLearningArrayShape)< InDimNum > & Rhs ) } } }


description: Copy the contents of one array view into another

code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType> void UE::Learning::Array::Copy ( [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< InDimNum, InElementType > Dst, [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< InDimNum, InElementType > Src ) } } }


description: Copy the contents of one array view into another array

code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType, typename Allocator> void UE::Learning::Array::Copy ( [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, Allocator > & Dst, const [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< InDimNum, const InElementType > Src ) } } }


description: Copy the contents of one array into another array view

code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType, typename Allocator> void UE::Learning::Array::Copy ( [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< InDimNum, InElementType > Dst, const [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, Allocator > & Src ) } } }


description: Copy the contents of one array into another array

code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType, typename AllocatorLhs, typename AllocatorRhs> void UE::Learning::Array::Copy ( [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, AllocatorLhs > & Dst, const [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, AllocatorRhs > & Src ) } } }


code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType> void UE::Learning::Array::Copy ( [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< InDimNum, InElementType > Dst, const [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< InDimNum, const InElementType > Src, const [FIndexSet](API\Plugins\Learning\FIndexSet) Indices ) } } }


code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType, typename AllocatorLhs, typename AllocatorRhs> void UE::Learning::Array::Copy ( [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, AllocatorLhs > & Dst, const [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, AllocatorRhs > & Src, const [FIndexSet](API\Plugins\Learning\FIndexSet) Indices ) } } }


code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType, typename Allocator> void UE::Learning::Array::Copy ( [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, Allocator > & Dst, const [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< InDimNum, const InElementType > Src, const [FIndexSet](API\Plugins\Learning\FIndexSet) Indices ) } } }


code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType, typename Allocator> void UE::Learning::Array::Copy ( [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< InDimNum, InElementType > Dst, const [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, Allocator > & Src, const [FIndexSet](API\Plugins\Learning\FIndexSet) Indices ) } } }


code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType> void UE::Learning::Array::Check ( const [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< InDimNum, const InElementType > View, const [FIndexSet](API\Plugins\Learning\FIndexSet) Indices ) } } }


description: Serialize an array from bytes

code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType, typename Allocator> void UE::Learning::Array::DeserializeFromBytes ( int32 & InOutOffset, [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< 1, const uint8 > Bytes, [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, Allocator > & OutArray ) } } }


description: Check if the contents of one array equals the contents of another.

code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType, typename AllocatorRhs> bool UE::Learning::Array::Equal ( const [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< InDimNum, const InElementType > Lhs, const [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, AllocatorRhs > & Rhs ) } } }


code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType, typename AllocatorLhs, typename AllocatorRhs> bool UE::Learning::Array::Equal ( const [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, AllocatorLhs > & Lhs, const [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, AllocatorRhs > & Rhs ) } } }


code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType, typename AllocatorLhs> bool UE::Learning::Array::Equal ( const [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, AllocatorLhs > & Lhs, const [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< InDimNum, const InElementType > & Rhs ) } } }


code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType> bool UE::Learning::Array::Equal ( const [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< InDimNum, const InElementType > Lhs, const [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< InDimNum, const InElementType > Rhs ) } } }


code: namespace UE { namespace Learning { namespace Array { template<typename InElementType> [FString](API\Runtime\Core\Containers\FString) UE::Learning::Array::Format ( const [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< 1, const InElementType > Array, const [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< [FString](API\Runtime\Core\Containers\FString)(const InElementType &)> Formatter, const int32 MaxItemNum ) } } }


code: namespace UE { namespace Learning { namespace Array { static [FString](API\Runtime\Core\Containers\FString) UE::Learning::Array::FormatFloat ( const [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< 1, const float > Array, const int32 MaxItemNum ) } } }


code: namespace UE { namespace Learning { namespace Array { static [FString](API\Runtime\Core\Containers\FString) UE::Learning::Array::FormatInt32 ( const [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< 1, const int32 > Array, const int32 MaxItemNum ) } } }


code: namespace UE { namespace Learning { namespace Array { static [FString](API\Runtime\Core\Containers\FString) UE::Learning::Array::FormatUint64 ( const [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< 1, const uint64 > Array, const int32 MaxItemNum ) } } }


code: namespace UE { namespace Learning { namespace Array { template<typename InElementType> int32 UE::Learning::Array::IndexOf ( const [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< 1, const InElementType > Array, const InElementType & Element ) } } }


code: namespace UE { namespace Learning { namespace Array { template<typename InElementType> int32 UE::Learning::Array::IndexOf ( const [TLearningArray](API\Plugins\Learning\TLearningArray)< 1, InElementType > & Array, const InElementType & Element ) } } }


description: Serialization byte num

code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType> int32 UE::Learning::Array::SerializationByteNum ( const [TLearningArrayShape](API\Plugins\Learning\TLearningArrayShape)< InDimNum > Shape ) } } }


description: Serialize an array

code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType, typename Allocator> void UE::Learning::Array::Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, Allocator > & Array ) } } }


description: Serialize an array to bytes

code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType, typename Allocator> void UE::Learning::Array::SerializeToBytes ( int32 & InOutOffset, [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< 1, uint8 > Bytes, const [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, Allocator > & InArray ) } } }


description: Set each item of an array to the given element

code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType, typename Allocator> void UE::Learning::Array::Set ( [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, Allocator > & View, const InElementType & Element ) } } }


description: Set each item of an array view to the given element

code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType> void UE::Learning::Array::Set ( [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< InDimNum, InElementType > View, const InElementType & Element ) } } }


code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType> void UE::Learning::Array::Set ( [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< InDimNum, InElementType > View, const InElementType & Element, const [FIndexSet](API\Plugins\Learning\FIndexSet) Indices ) } } }


code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType, typename Allocator> void UE::Learning::Array::Set ( [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, Allocator > & View, const InElementType & Element, const [FIndexSet](API\Plugins\Learning\FIndexSet) Indices ) } } }


description: Shift all elements in an array to the left. Data at the end of the array will remain the same.

code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType, typename Allocator> void UE::Learning::Array::ShiftLeft ( [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, Allocator > & Array, const int32 ShiftNum ) } } }


code: namespace UE { namespace Learning { namespace Array { template<typename InElementType, typename Allocator> void UE::Learning::Array::ShiftLeft ( [TLearningArray](API\Plugins\Learning\TLearningArray)< 1, InElementType, Allocator > & Array, const int32 ShiftNum ) } } }


code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType> void UE::Learning::Array::ShiftLeft ( [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< InDimNum, InElementType > Array, const int32 ShiftNum ) } } }


code: namespace UE { namespace Learning { namespace Array { template<typename InElementType> void UE::Learning::Array::ShiftLeft ( [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< 1, InElementType > Array, const int32 ShiftNum ) } } }


description: Zero the memory of an array view

code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType> void UE::Learning::Array::Zero ( [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< InDimNum, InElementType > View ) } } }


description: Zero the memory of an array

code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType, typename Allocator> void UE::Learning::Array::Zero ( [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, Allocator > & Array ) } } }


description: Zero the memory of an array view

code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType> void UE::Learning::Array::Zero ( [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< InDimNum, InElementType > View, const [FIndexSet](API\Plugins\Learning\FIndexSet) Indices ) } } }


description: Zero the memory of an array view

code: namespace UE { namespace Learning { namespace Array { template<uint8 InDimNum, typename InElementType, typename Allocator> void UE::Learning::Array::Zero ( [TLearningArray](API\Plugins\Learning\TLearningArray)< InDimNum, InElementType, Allocator > & View, const [FIndexSet](API\Plugins\Learning\FIndexSet) Indices ) } } }


description: Compile-time function to get a debug name for a C++ type

code: namespace UE { namespace Learning { template<typename T> const TCHAR * UE::Learning::CompileTimeTypeName() } }


code: namespace UE { namespace Learning { namespace Completion { static constexpr float UE::Learning::Completion::DefaultThresholdPosition = 100.0f; } } }


code: namespace UE { namespace Learning { namespace Completion { static constexpr float UE::Learning::Completion::DefaultThresholdVelocity = 200.0f; } } }


code: namespace UE { namespace Learning { namespace Completion { static constexpr float UE::Learning::Completion::DefaultThresholdAngle = (3.1415926535897932f) / 2.0f; } } }


code: namespace UE { namespace Learning { namespace Completion { static constexpr float UE::Learning::Completion::DefaultThresholdAngularVelocity = (3.1415926535897932f); } } }


code: namespace UE { namespace Learning { namespace Completion { static constexpr float UE::Learning::Completion::DefaultThresholdHeight = 0.0f; } } }


code: namespace UE { namespace Learning { namespace Completion { static constexpr float UE::Learning::Completion::DefaultThresholdTime = 10.0f; } } }


description: Serialize an integer from bytes

code: namespace UE { namespace Learning { static void UE::Learning::DeserializeFromBytes ( int32 & InOutOffset, [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< 1, const uint8 > Bytes, int32 & OutValue ) } }


description: Activation Function for use in a Neural Network

code: namespace UE { namespace Learning { enum EActivationFunction { ReLU = 0, ELU = 1, TanH = 2, } } }


description: Completion Mode

code: namespace UE { namespace Learning { enum ECompletionMode { Running = 0, Truncated = 1, Terminated = 2, } } }


description: Log Settings

code: namespace UE { namespace Learning { enum ELogSetting { Normal, Silent, } } }


code: namespace UE { namespace Learning { namespace Feature { namespace Decode { void UE::Learning::Feature::Decode::Float ( float & Value, const [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< 1, const float > Input, const float Scale ) } } } }


code: namespace UE { namespace Learning { namespace Feature { namespace Decode { void UE::Learning::Feature::Decode::Time ( float & OutTime, const [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< 1, const float > Input, const float RelativeTime, const float Scale ) } } } }


code: namespace UE { namespace Learning { namespace Feature { static constexpr float UE::Learning::Feature::DefaultScale = 1.0f; } } }


code: namespace UE { namespace Learning { namespace Feature { static constexpr float UE::Learning::Feature::DefaultScaleTime = 1.0f; } } }


code: namespace UE { namespace Learning { namespace Feature { static constexpr float UE::Learning::Feature::DefaultScaleDirection = 1.0f; } } }


code: namespace UE { namespace Learning { namespace Feature { static constexpr float UE::Learning::Feature::DefaultScaleVelocity = 200.0f; } } }


code: namespace UE { namespace Learning { namespace Feature { static constexpr float UE::Learning::Feature::DefaultScalePosition = 100.0f; } } }


code: namespace UE { namespace Learning { namespace Feature { static constexpr float UE::Learning::Feature::DefaultScaleAcceleration = 400.0f; } } }


code: namespace UE { namespace Learning { namespace Feature { static constexpr float UE::Learning::Feature::DefaultScaleAngle = (3.1415926535897932f) / 2.0f; } } }


code: namespace UE { namespace Learning { namespace Feature { static constexpr float UE::Learning::Feature::DefaultScaleAngularAcceleration = 2.0f * (3.1415926535897932f); } } }


code: namespace UE { namespace Learning { namespace Feature { static constexpr float UE::Learning::Feature::DefaultScaleAngularVelocity = (3.1415926535897932f); } } }


code: namespace UE { namespace Learning { namespace Feature { static constexpr float UE::Learning::Feature::DefaultScaleScale = 1.0f; } } }


code: namespace UE { namespace Learning { namespace Random { void UE::Learning::Random::PlanarDirectionVelocity ( FVector & OutDirection, FVector & OutVelocity, const uint32 State, const float VelocityScale, const FVector Axis0, const FVector Axis1 ) } } }


code: namespace UE { namespace Learning { namespace RecorderObjectPrivate { template<uint8 DimNum, typename ElementType> void UE::Learning::RecorderObjectPrivate::Copy ( [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< 1, int32 > InOutStepNums, const [FArrayMap](API\Plugins\Learning\FArrayMap) & SrcArrayMap, const [FArrayMap](API\Plugins\Learning\FArrayMap) & LogArrayMap, const [FArrayMapHandle](API\Plugins\Learning\FArrayMapHandle) SrcHandle, const [FArrayMapHandle](API\Plugins\Learning\FArrayMapHandle) LogHandle, const int32 MaxStepNum, const [FIndexSet](API\Plugins\Learning\FIndexSet) Instances ) } } }


code: namespace UE { namespace Learning { namespace Reward { static constexpr float UE::Learning::Reward::DefaultScale = 1.0f; } } }


code: namespace UE { namespace Learning { namespace Reward { static constexpr float UE::Learning::Reward::DefaultScalePosition = 100.0f; } } }


code: namespace UE { namespace Learning { namespace Reward { static constexpr float UE::Learning::Reward::DefaultScaleVelocity = 200.0f; } } }


code: namespace UE { namespace Learning { namespace Reward { static constexpr float UE::Learning::Reward::DefaultScaleAngle = (3.1415926535897932f) / 2.0f; } } }


code: namespace UE { namespace Learning { namespace Reward { static constexpr float UE::Learning::Reward::DefaultScaleAngularVelocity = (3.1415926535897932f); } } }


code: namespace UE { namespace Learning { namespace Reward { static constexpr float UE::Learning::Reward::DefaultScaleSpringInertialization = 100.0f; } } }


description: Serialize an integer to bytes

code: namespace UE { namespace Learning { static void UE::Learning::SerializeToBytes ( int32 & InOutOffset, [TLearningArrayView](API\Plugins\Learning\TLearningArrayView)< 1, uint8 > Bytes, const int32 InValue ) } }


description: Simply forwards to an unqualified GetData(), but can be called from withinTArrayViewwhere GetData() is already a member and so hides any others.

code: namespace UE { namespace MultiArrayView { namespace Private { template<typename T> decltype(auto) UE::MultiArrayView::Private::GetDataHelper ( T && Arg ) } } }


description: Gets the data from the passed argument and proceeds to reinterpret the resulting elements

code: namespace UE { namespace MultiArrayView { namespace Private { template<typename T> decltype(auto) UE::MultiArrayView::Private::GetReinterpretedDataHelper ( T && Arg ) } } }


description:
Adds the given object as an agent to the manager.
The agent's newly assigned id.

module: LearningAgents

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents") int32 AddAgent ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Agent )


description: Adds the given objects as an agents to the manager.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents") void AddAgents ( [TArray](API\Runtime\Core\Containers\TArray)< int32 > & OutAgentIds, const [TArray](API\Runtime\Core\Containers\TArray)< [UObject](API\Runtime\CoreUObject\UObject\UObject) * > & InAgents )


description: Adds the given actor objects as tick prerequisite of this manager.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents") void AddAgentsAsTickPrerequisiteOfManager ( const [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & InAgents )


description: Adds this manager as a tick prerequisite of the given actor objects.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents") void AddManagerAsTickPrerequisiteOfAgents ( const [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & InAgents )


description: Gets the agent corresponding to the given id.

code: const [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetAgent ( const int32 AgentId ) const


code: [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetAgent ( const int32 AgentId )


description:
Gets the agent with the given id. Calling this from blueprint with the appropriate AgentClass will automatically cast the object to the given type. If not in a blueprint, you should use one of the other GetAgent overloads.
The agent object.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="LearningAgents", Meta=(AgentId="-1", DeterminesOutputType="AgentClass")) [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetAgent ( const int32 AgentId, const [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UObject](API\Runtime\CoreUObject\UObject\UObject) > AgentClass ) const


description:
Gets the agent id associated with a given agent.
The agent id.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="LearningAgents") int32 GetAgentId ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Agent ) const


description:
Gets the number of agents added
The number of agents added.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="LearningAgents") int32 GetAgentNum() const


description: Get a const array view of this manager's agent objects.

code: TConstArrayView< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) > > GetAgents() const


description: Gets the agent ids associated with a set of agents.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure=false, Category="LearningAgents") void GetAgentIds ( [TArray](API\Runtime\Core\Containers\TArray)< int32 > & OutAgentIds, const [TArray](API\Runtime\Core\Containers\TArray)< [UObject](API\Runtime\CoreUObject\UObject\UObject) * > & InAgents ) const


description: Gets the agents associated with a set of ids. Calling this from blueprint with the appropriate AgentClass will automatically cast the object to the given type.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure=false, Category="LearningAgents", Meta=(DeterminesOutputType="AgentClass", DynamicOutputParam="OutAgents")) void GetAgents ( [TArray](API\Runtime\Core\Containers\TArray)< [UObject](API\Runtime\CoreUObject\UObject\UObject) * > & OutAgents, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & AgentIds, const [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UObject](API\Runtime\CoreUObject\UObject\UObject) > AgentClass ) const


description: Gets the set of agent ids currently added

code: const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & GetAllAgentIds() const


description: Gets all added agents. Calling this from blueprint with the appropriate AgentClass will automatically cast the object to the given type.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure=false, Category="LearningAgents", Meta=(DeterminesOutputType="AgentClass", DynamicOutputParam="OutAgents")) void GetAllAgents ( [TArray](API\Runtime\Core\Containers\TArray)< [UObject](API\Runtime\CoreUObject\UObject\UObject) * > & OutAgents, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & OutAgentIds, const [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UObject](API\Runtime\CoreUObject\UObject\UObject) > AgentClass ) const


description: Gets the set of agent ids currently added as an FIndexSet


description: Returns the maximum number of agents that this manager is configured to handle.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="LearningAgents") int32 GetMaxAgentNum() const


description: Returns true if the given object is an agent used by the manager; Otherwise, false.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="LearningAgents") bool HasAgentObject ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Agent ) const


description: Removes the agent with the given id from the manager.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(AgentId="-1")) void RemoveAgent ( const int32 AgentId )


description: Removes the agents with the given ids from the manager.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents") void RemoveAgents ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & AgentIds )


description: Returns true if the given id is an agent used by the manager; Otherwise, false.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="LearningAgents", Meta=(AgentId="-1")) bool HasAgent ( const int32 AgentId ) const


description: Called after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.

code: virtual void PostInitProperties()


description: Get a const reference to this manager's underlying instance data.

code: const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [UE::Learning::FArrayMap](API\Plugins\Learning\FArrayMap) > & GetInstanceData() const


description: Removes all agents from the manager.


description: Resets the agent with the given id on the manager. Used to tell components to reset any state associated with this agent.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(AgentId="-1")) void ResetAgent ( const int32 AgentId )


description: Resets the agents with the given ids on the manager. Used to tell components to reset any state associated with this agent.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents") void ResetAgents ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & AgentIds )


description: Resets all the agents on the manager.


code: ALearningAgentsManager ( [FVTableHelper](API\Runtime\CoreUObject\UObject\FVTableHelper) & Helper )


description: These constructors/destructors are needed to make forward declarations happy.

code: ALearningAgentsManager()


code: virtual ~ALearningAgentsManager()


className: ALearningAgentsManager

description: If you have multiple different types of objects you want controlled by Learning Agents, you should consider creating one agent manager per object type, rather than trying to share an agent manager.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(BlueprintType, Blueprintable) class ALearningAgentsManager : public [AActor](API\Runtime\Engine\GameFramework\AActor)


className: FLearningAgentsCriticSettings

description: The configurable settings for aULearningAgentsCritic.

ActivationFunction

type: ELearningAgents...

description: Activation function to use on hidden layers of the critic network

HiddenLayerSize

description: Number of neurons in each hidden layer of the critic network

LayerNum

description: Total layers for critic network including input, hidden, and output layers


className: ELearningAgentsActivationFunction

description: Activation functions for neural networks.

code: enum ELearningAgentsActivationFunction { ReLU, ELU, TanH, }


description: Called before the module is unloaded, right before the module object is destroyed. During normal shutdown, this is called in reverse order that modules finishStartupModule(). This means that, as long as a module references dependent modules in it'sStartupModule(), it can safely reference those dependencies inShutdownModule()as well.

code: virtual void ShutdownModule()


description: IModuleInterfaceimplementation

code: virtual void StartupModule()


className: FLearningAgentsPolicySettings

description: The configurable settings for aULearningAgentsPolicy.

ActionNoiseMax

type: float

description: Maximum action noise used by the policy

ActionNoiseMin

description: Minimum action noise used by the policy

ActionNoiseScale

description: Scale of the action noise used by the policy should be 1.0 during training.

ActionNoiseSeed

description: Seed for the action noise used by the policy

ActivationFunction

description: Activation function to use on hidden layers of the policy network

HiddenLayerSize

description: Number of neurons in each hidden layer of the policy network

description: Total layers for policy network including input, hidden, and output layers


className: FLearningAgentsModule

code: class FLearningAgentsModule : public [IModuleInterface](API\Runtime\Core\Modules\IModuleInterface)


description:
Adds a new angle observation to the given agent interactor. Call duringULearningAgentsInteractor::SetupObservationsevent.
The newly created observation.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(DefaultToSelf="InInteractor")) static [UAngleArrayObservation](API\Plugins\LearningAgents\UAngleArrayObservation) * AddAngleArrayObservation ( [ULearningAgentsInteractor](API\Plugins\LearningAgents\ULearningAgentsInteractor) * InInteractor, const [FName](API\Runtime\Core\UObject\FName) Name, const int32 AngleNum, const float Scale )


description: Sets the data for this observation. Call duringULearningAgentsInteractor::SetObservationsevent.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(AgentId="-1")) void SetAngleArrayObservation ( const int32 AgentId, const [TArray](API\Runtime\Core\Containers\TArray)< float > & Angles, const float RelativeAngle )


description: Describes this observation to the visual logger for debugging purposes.

code: virtual void VisualLog ( const [UE::Learning::FIndexSet](API\Plugins\Learning\FIndexSet) Instances ) const


className: UAngleArrayObservation

description: An observation of an array of angles.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UAngleArrayObservation : public [ULearningAgentsObservation](API\Plugins\LearningAgents\ULearningAgentsObservation)


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(DefaultToSelf="InInteractor")) static [UAngleObservation](API\Plugins\LearningAgents\UAngleObservation) * AddAngleObservation ( [ULearningAgentsInteractor](API\Plugins\LearningAgents\ULearningAgentsInteractor) * InInteractor, const [FName](API\Runtime\Core\UObject\FName) Name, const float Scale )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(AgentId="-1")) void SetAngleObservation ( const int32 AgentId, const float Angle, const float RelativeAngle )


className: UAngleObservation

description: An observation of an angle relative to another angle.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UAngleObservation : public [ULearningAgentsObservation](API\Plugins\LearningAgents\ULearningAgentsObservation)


description:
Adds a new angular velocity array observation to the given agent interactor. Call duringULearningAgentsInteractor::SetupObservationsevent.
The newly created observation.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(DefaultToSelf="InInteractor")) static [UAngularVelocityArrayObservation](API\Plugins\LearningAgents\UAngularVelocityArrayObservation) * AddAngularVelocityArrayObservation ( [ULearningAgentsInteractor](API\Plugins\LearningAgents\ULearningAgentsInteractor) * InInteractor, const [FName](API\Runtime\Core\UObject\FName) Name, const int32 AngularVelocityNum, const float Scale )


description: Sets the data for this observation. The relative rotation can be used to make this observation relative to the agent's perspective, e.g. by passing the agent's forward rotation. Call duringULearningAgentsInteractor::SetObservationsevent.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(AgentId="-1")) void SetAngularVelocityArrayObservation ( const int32 AgentId, const [TArray](API\Runtime\Core\Containers\TArray)< FVector > & AngularVelocities, const FRotator RelativeRotation )


className: UAngularVelocityArrayObservation

description: An observation of an array of angular velocities.


description:
Adds a new angular velocity observation to the given agent interactor. Call duringULearningAgentsInteractor::SetupObservationsevent.
The newly created observation.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(DefaultToSelf="InInteractor")) static [UAngularVelocityObservation](API\Plugins\LearningAgents\UAngularVelocityObservation) * AddAngularVelocityObservation ( [ULearningAgentsInteractor](API\Plugins\LearningAgents\ULearningAgentsInteractor) * InInteractor, const [FName](API\Runtime\Core\UObject\FName) Name, const float Scale )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(AgentId="-1")) void SetAngularVelocityObservation ( const int32 AgentId, const FVector AngularVelocity, const FRotator RelativeRotation )


className: UAngularVelocityObservation

description: An observation of an angular velocity.


description: Gets if a collision has occurred for this agent and resets the state of if a collision has occurred back to false.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(AgentId="-1")) bool GetAndResetCollisionOccurred ( const int32 AgentId )


description:
Adds a new collision monitor helper to the given manager component.
The newly created helper.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(DefaultToSelf="InManagerComponent")) static [UCollisionMonitorHelper](API\Plugins\LearningAgents\UCollisionMonitorHelper) * AddCollisionMonitorHelper ( [ULearningAgentsManagerComponent](API\Plugins\LearningAgents\ULearningAgentsManagerComponent) * InManagerComponent, const [FName](API\Runtime\Core\UObject\FName) Name )


description: Initialize the internal state for a given maximum number of agents

code: void Init ( const int32 MaxAgentNum )


description: Gets if a collision has occurred for this agent.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure=false, Category="LearningAgents", Meta=(AgentId="-1")) bool GetCollisionOccurred ( const int32 AgentId ) const


description: Called whenever agents are reset on the associatedULearningAgentsManagerComponentobject.

code: virtual void OnAgentsReset ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & AgentIds )


description: Called whenever agents are removed from the associatedULearningAgentsManagerComponentobject.

code: virtual void OnAgentsRemoved ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & AgentIds )


description: Resets the state of if a collision has occurred back to false.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(AgentId="-1")) void ResetCollisionOccurred ( const int32 AgentId )


description: Sets the component to monitor for collisions. Generally this should be called on the `ULearningAgentsManagerComponent::AgentsAdded_ event.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(AgentId="-1")) void SetComponent ( const int32 AgentId, [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * Component, const [FName](API\Runtime\Core\UObject\FName) OtherComponentTag )


className: UCollisionMonitorHelper

description: If any collisions occurGetCollisionOccurred_ will report true until it is reset to false either by callingResetCollisionOccurred_ or `GetAndResetCollisionOccurred_. It will also be automatically reset when the agent is reset.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UCollisionMonitorHelper : public [ULearningAgentsHelper](API\Plugins\LearningAgents\ULearningAgentsHelper)


description:
Adds a new direction array observation to the given agent interactor. Call duringULearningAgentsInteractor::SetupObservationsevent.
The newly created observation.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(DefaultToSelf="InInteractor")) static [UDirectionArrayObservation](API\Plugins\LearningAgents\UDirectionArrayObservation) * AddDirectionArrayObservation ( [ULearningAgentsInteractor](API\Plugins\LearningAgents\ULearningAgentsInteractor) * InInteractor, const [FName](API\Runtime\Core\UObject\FName) Name, const int32 DirectionNum, const float Scale )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(AgentId="-1")) void SetDirectionArrayObservation ( const int32 AgentId, const [TArray](API\Runtime\Core\Containers\TArray)< FVector > & Directions, const FRotator RelativeRotation )


code: virtual void VisualLog ( const [UE::Learning::FIndexSet](API\Plugins\Learning\FIndexSet) Instances ) const


className: UDirectionArrayObservation

description: An observation of an array of direction vectors.


description:
Adds a new direction observation to the given agent interactor. Call duringULearningAgentsInteractor::SetupObservationsevent.
The newly created observation.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(DefaultToSelf="InInteractor")) static [UDirectionObservation](API\Plugins\LearningAgents\UDirectionObservation) * AddDirectionObservation ( [ULearningAgentsInteractor](API\Plugins\LearningAgents\ULearningAgentsInteractor) * InInteractor, const [FName](API\Runtime\Core\UObject\FName) Name, const float Scale )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(AgentId="-1")) void SetDirectionObservation ( const int32 AgentId, const FVector Direction, const FRotator RelativeRotation )


className: UDirectionObservation

description: An observation of a direction vector.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UDirectionObservation : public [ULearningAgentsObservation](API\Plugins\LearningAgents\ULearningAgentsObservation)


description:
Adds a new enum array observation to the given agent interactor. Call duringULearningAgentsInteractor::SetupObservationsevent.
The newly created observation.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(DefaultToSelf="InInteractor")) static [UEnumArrayObservation](API\Plugins\LearningAgents\UEnumArrayObservation) * AddEnumArrayObservation ( [ULearningAgentsInteractor](API\Plugins\LearningAgents\ULearningAgentsInteractor) * InInteractor, const [UEnum](API\Runtime\CoreUObject\UObject\UEnum) * EnumType, const [FName](API\Runtime\Core\UObject\FName) Name, const int32 EnumNum )


description: Sets the data for this observation. Call duringULearningAgentsInteractor::SetObservationsevent.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(AgentId="-1")) void SetEnumArrayObservation ( const int32 AgentId, const [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & Values )


className: UEnumArrayObservation

description: An observation of an array of enumerations.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UEnumArrayObservation : public [ULearningAgentsObservation](API\Plugins\LearningAgents\ULearningAgentsObservation)

Enum

type: constUEnum...


description:
Adds a new enum observation to the given agent interactor. Call duringULearningAgentsInteractor::SetupObservationsevent.
The newly created observation.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(DefaultToSelf="InInteractor")) static [UEnumObservation](API\Plugins\LearningAgents\UEnumObservation) * AddEnumObservation ( [ULearningAgentsInteractor](API\Plugins\LearningAgents\ULearningAgentsInteractor) * InInteractor, const [UEnum](API\Runtime\CoreUObject\UObject\UEnum) * EnumType, const [FName](API\Runtime\Core\UObject\FName) Name )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(AgentId="-1")) void SetEnumObservation ( const int32 AgentId, const uint8 Value )


className: UEnumObservation

description: An observation of an enumeration.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UEnumObservation : public [ULearningAgentsObservation](API\Plugins\LearningAgents\ULearningAgentsObservation)


description:
Adds a new float action to the given agent interactor. Call duringULearningAgentsInteractor::SetupActionsevent.
The newly created action.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(DefaultToSelf="InInteractor")) static [UFloatAction](API\Plugins\LearningAgents\UFloatAction) * AddFloatAction ( [ULearningAgentsInteractor](API\Plugins\LearningAgents\ULearningAgentsInteractor) * InInteractor, const [FName](API\Runtime\Core\UObject\FName) Name, const float Scale )


description:
Gets the data for this action. Call duringULearningAgentsInteractor::GetActionsevent.
The current action value.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(AgentId="-1")) float GetFloatAction ( const int32 AgentId )


description: Sets the data for this action. Call duringULearningAgentsController::SetActionsevent.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(AgentId="-1")) void SetFloatAction ( const int32 AgentId, const float Value )


description: Describes this action to the visual logger for debugging purposes.


className: UFloatAction

description: A simple float action. Used as a catch-all for situations where a more type-specific action does not exist yet.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UFloatAction : public [ULearningAgentsAction](API\Plugins\LearningAgents\ULearningAgentsAction)


description:
Adds a new float array action to the given agent interactor. Call duringULearningAgentsInteractor::SetupActionsevent.
The newly created action.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(DefaultToSelf="InInteractor")) static [UFloatArrayAction](API\Plugins\LearningAgents\UFloatArrayAction) * AddFloatArrayAction ( [ULearningAgentsInteractor](API\Plugins\LearningAgents\ULearningAgentsInteractor) * InInteractor, const [FName](API\Runtime\Core\UObject\FName) Name, const int32 Num, const float Scale )


description: Gets the data for this action. Call duringULearningAgentsInteractor::GetActionsevent.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(AgentId="-1")) void GetFloatArrayAction ( const int32 AgentId, [TArray](API\Runtime\Core\Containers\TArray)< float > & OutValues )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(AgentId="-1")) void SetFloatArrayAction ( const int32 AgentId, const [TArray](API\Runtime\Core\Containers\TArray)< float > & Values )


className: UFloatArrayAction

description: A simple float array action. Used as a catch-all for situations where a more type-specific action does not exist yet.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UFloatArrayAction : public [ULearningAgentsAction](API\Plugins\LearningAgents\ULearningAgentsAction)


description:
Adds a new float array observation to the given agent interactor. Call duringULearningAgentsInteractor::SetupObservationsevent.
The newly created observation.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(DefaultToSelf="InInteractor")) static [UFloatArrayObservation](API\Plugins\LearningAgents\UFloatArrayObservation) * AddFloatArrayObservation ( [ULearningAgentsInteractor](API\Plugins\LearningAgents\ULearningAgentsInteractor) * InInteractor, const [FName](API\Runtime\Core\UObject\FName) Name, const int32 Num, const float Scale )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(AgentId="-1")) void SetFloatArrayObservation ( const int32 AgentId, const [TArray](API\Runtime\Core\Containers\TArray)< float > & Observation )


description: Describes this observation to the visual logger for debugging purposes.

code: virtual void VisualLog ( const [UE::Learning::FIndexSet](API\Plugins\Learning\FIndexSet) Instances ) const


className: UFloatArrayObservation

description: A simple array of floats observation. Used as a catch-all for situations where a more type-specific observation does not exist yet.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UFloatArrayObservation : public [ULearningAgentsObservation](API\Plugins\LearningAgents\ULearningAgentsObservation)


description:
Adds a new float observation to the given agent interactor. Call duringULearningAgentsInteractor::SetupObservationsevent.
The newly created observation.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(DefaultToSelf="InInteractor")) static [UFloatObservation](API\Plugins\LearningAgents\UFloatObservation) * AddFloatObservation ( [ULearningAgentsInteractor](API\Plugins\LearningAgents\ULearningAgentsInteractor) * InInteractor, const [FName](API\Runtime\Core\UObject\FName) Name, const float Scale )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LearningAgents", Meta=(AgentId="-1")) void SetFloatObservation ( const int32 AgentId, const float Observation )


className: UFloatObservation

description: A simple float observation. Used as a catch-all for situations where a more type-specific observation does not exist yet.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UFloatObservation : public [ULearningAgentsObservation](API\Plugins\LearningAgents\ULearningAgentsObservation)


description: Get the number of times an action has been got for the given agent id.

code: uint64 GetAgentGetIteration ( const int32 AgentId ) const


description: Get the number of times an action has been set for the given agent id.

code: uint64 GetAgentSetIteration ( const int32 AgentId ) const


description: Initialize the internal state for a given maximum number of agents

code: void Init ( const int32 MaxAgentNum )


description: Called whenever agents are removed from the associatedULearningAgentsInteractorobject.

code: virtual void OnAgentsRemoved ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & AgentIds )


description: Called whenever agents are added to the associatedULearningAgentsInteractorobject.

code: virtual void OnAgentsAdded ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & AgentIds )


description: Called whenever agents are reset on the associatedULearningAgentsInteractorobject.

code: virtual void OnAgentsReset ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & AgentIds )


description: Gets the agent interactor associated with this component.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="LearningAgents", Meta=(DeterminesOutputType="InteractorClass")) [ULearningAgentsInteractor](API\Plugins\LearningAgents\ULearningAgentsInteractor) * GetInteractor ( const [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [ULearningAgentsInteractor](API\Plugins\LearningAgents\ULearningAgentsInteractor) > InteractorClass ) const


description: Call this function when it is time to gather all the actions for your agents. This should be called roughly whenever you are callingULearningAgentsInteractor::EncodeObservations. This will call this controller's SetActions event.


className: ULearningAgentsAction

description: For functions in this file, we are favoring having more verbose names such as "AddFloatAction" vs simply "Add" in order to keep it easy to find the correct function in blueprints. The base class for all actions. Actions define the outputs from your agents. Action getters are marked non-pure by convention as many of them do non-trivial amounts of work that can cause performance issues when marked pure in blueprints.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract, BlueprintType) class ULearningAgentsAction : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

AgentGetIteration

type: TLearningArray<...

description: Number of times this action has been got for all agents

AgentSetIteration

description: Number of times this action has been set for all agents

Interactor

type: TObjectPtr<ULe...

description: Reference to the Interactor this action is associated with.

VisualLogColor

type: FLinearColor

description: Color used to draw this action in the visual log


description: Calls EncodeObservations, followed by EncodeActions, followed by DecodeActions