code: [Shader::FValue](API\Runtime\Engine\Shader\FValue) GetValueConstant ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, const [FPreparedType](API\Runtime\Engine\HLSLTree\FPreparedType) & PreparedType ) const


module: Engine

code: [Shader::FValue](API\Runtime\Engine\Shader\FValue) GetValueConstant ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, const [Shader::FType](API\Runtime\Engine\Shader\FType) & ResultType ) const


code: [Shader::FValue](API\Runtime\Engine\Shader\FValue) GetValueConstant ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FPreparedType](API\Runtime\Engine\HLSLTree\FPreparedType) & PreparedType, const [Shader::FType](API\Runtime\Engine\Shader\FType) & ResultType ) const


code: [Shader::FValue](API\Runtime\Engine\Shader\FValue) GetValueConstant ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FPreparedType](API\Runtime\Engine\HLSLTree\FPreparedType) & PreparedType, [Shader::EValueType](API\Runtime\Engine\Shader\UE__Shader__EValueType) ResultType ) const


code: [Shader::FValue](API\Runtime\Engine\Shader\FValue) GetValueConstant ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, const [FPreparedType](API\Runtime\Engine\HLSLTree\FPreparedType) & PreparedType, const [Shader::FType](API\Runtime\Engine\Shader\FType) & ResultType ) const


code: template<typename ObjectType> bool GetValueObject ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, ObjectType & OutObject ) const


description:
Gets the value as an 'Object' with a certain type Individual expressions will potentially support different types of objects
true if given type is supported, otherwise false

code: bool GetValueObject ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FName](API\Runtime\Core\UObject\FName) & ObjectTypeName, void * OutObjectBase ) const


code: [Shader::FType](API\Runtime\Engine\Shader\FType) GetValuePreshader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, [Shader::FPreshaderData](API\Runtime\Engine\Shader\FPreshaderData) & OutPreshader ) const


code: [Shader::FType](API\Runtime\Engine\Shader\FType) GetValuePreshader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [Shader::FType](API\Runtime\Engine\Shader\FType) & ResultType, [Shader::FPreshaderData](API\Runtime\Engine\Shader\FPreshaderData) & OutPreshader ) const


code: [Shader::FType](API\Runtime\Engine\Shader\FType) GetValuePreshader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, const [Shader::FType](API\Runtime\Engine\Shader\FType) & ResultType, [Shader::FPreshaderData](API\Runtime\Engine\Shader\FPreshaderData) & OutPreshader ) const


code: [Shader::FType](API\Runtime\Engine\Shader\FType) GetValuePreshader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, [Shader::EValueType](API\Runtime\Engine\Shader\UE__Shader__EValueType) ResultType, [Shader::FPreshaderData](API\Runtime\Engine\Shader\FPreshaderData) & OutPreshader ) const


code: [Shader::FType](API\Runtime\Engine\Shader\FType) GetValuePreshader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, const [FPreparedType](API\Runtime\Engine\HLSLTree\FPreparedType) & PreparedType, const [Shader::FType](API\Runtime\Engine\Shader\FType) & ResultType, [Shader::FPreshaderData](API\Runtime\Engine\Shader\FPreshaderData) & OutPreshader ) const


description: Get Shader/Preshader/Constant value for the expression

code: [FEmitShaderExpression](API\Runtime\Engine\HLSLTree\FEmitShaderExpression) * GetValueShader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope ) const


code: [FEmitShaderExpression](API\Runtime\Engine\HLSLTree\FEmitShaderExpression) * GetValueShader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType ) const


code: [FEmitShaderExpression](API\Runtime\Engine\HLSLTree\FEmitShaderExpression) * GetValueShader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [Shader::FType](API\Runtime\Engine\Shader\FType) & ResultType ) const


code: [FEmitShaderExpression](API\Runtime\Engine\HLSLTree\FEmitShaderExpression) * GetValueShader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, [Shader::EValueType](API\Runtime\Engine\Shader\UE__Shader__EValueType) ResultType ) const


code: [FEmitShaderExpression](API\Runtime\Engine\HLSLTree\FEmitShaderExpression) * GetValueShader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, const [Shader::FType](API\Runtime\Engine\Shader\FType) & ResultType ) const


code: [FEmitShaderExpression](API\Runtime\Engine\HLSLTree\FEmitShaderExpression) * GetValueShader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, const [FPreparedType](API\Runtime\Engine\HLSLTree\FPreparedType) & PreparedType, const [Shader::FType](API\Runtime\Engine\Shader\FType) & ResultType ) const


description: Computes aFPreparedTypefor this expression, given aFRequestedType. Will be called multiple times, with potentially different requested types, if theFExpressionis used multiple times. In this case, all the prepared types will be merged together if possible (or generate an error otherwise). PrepareValue will be called in two phases, first with Context.bMarkLiveValues=false, then with bMarkLiveValues=true. If Context.bMarkLiveValues is true, the expression should record any state to signal to the client that it's active. For example, a material expression parameter might add the parameter name or texture value to the material data. This is typically done through the Context.FindData() interface. If Context.bMarkLiveValues is true, the expression should also take carenotto call Context.PrepareExpression for any nested expressions that are not relevant to the final result. For example, in a multiply expression where one input is 0, the other input is not relevant, and can be skipped. The EExpressionEvaluation set by this is important for determining which EmitValue*** methods may be called A givenFExpressionimplementation must support at least one of EmitValueShader/EmitValuePreshader, but doesn't need to support both TODO? - It feels messy to havePrepareValue()used for both of these phases, possibly better to have a separate MarkLive() virtual method...in practice that would often lead to duplicate code however

code: bool PrepareValue ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, [FPrepareValueResult](API\Runtime\Engine\HLSLTree\FPrepareValueResult) & OutResult ) const


className: FExpression

description: Represents an HLSL expression. This is a piece of code that evaluates to a value, but has no side effects. Unlike statements, expressions are not expected to execute in any particular order. Examples include constant literals, variable accessors, and various types of math operations This is an abstract base class, with derived classes representing various types of expression Derived expression classes should provide a constructor to fully initialize all fields. All types given to this constructor must be hashable viaHLSLTree::AppendHash(). A unique hash value will be generated for each expression, by hashing the constructor arguments, which will be used to deduplicate expressions

code: class FExpression : public [UE::HLSLTree::FOwnedNode](API\Runtime\Engine\HLSLTree\FOwnedNode)


description: Create new expressions representing DDX/DDY of this expression

code: virtual void ComputeAnalyticDerivatives ( [FTree](API\Runtime\Engine\HLSLTree\FTree) & Tree, [FExpressionDerivatives](API\Runtime\Engine\HLSLTree\FExpressionDerivatives) & OutResult ) const


description: Creates a new expression representing this expression on the previous frame.Bydefault returns nullptr, which means the previous frame is the same as the current frame

code: virtual const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * ComputePreviousFrame ( [FTree](API\Runtime\Engine\HLSLTree\FTree) & Tree, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType ) const


description: Emit Preshader code representing this expression

code: virtual void EmitValuePreshader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, [FEmitValuePreshaderResult](API\Runtime\Engine\HLSLTree\FEmitValuePreshaderResult) & OutResult ) const


description: Emit HLSL shader code representing this expression

code: virtual void EmitValueShader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, [FEmitValueShaderResult](API\Runtime\Engine\HLSLTree\FEmitValueShaderResult) & OutResult ) const


code: virtual bool PrepareValue ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, [FPrepareValueResult](API\Runtime\Engine\HLSLTree\FPrepareValueResult) & OutResult ) const


code: FExpressionAppend ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * InLhs, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * InRhs )


className: FExpressionAppend

code: class FExpressionAppend : public [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression)

Lhs

type: constFExpressi...


code: FExpressionComponentMask ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * InInput, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * InMask )


className: FExpressionComponentMask

description: Similar toFExpressionSwizzle, except swizzle parameters are extracted from a 'Mask' expression, which is expected to generate a 'bool4' component mask (which is then used to initialize aFSwizzleParameters) The 'Mask' input is required to be constant (otherwise an error is generated) This is used to support material StaticParameterMask expressions, in most casesFExpressionSwizzleis a better choice

code: class FExpressionComponentMask : public [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression)


code: FExpressionConstant ( const [Shader::FValue](API\Runtime\Engine\Shader\FValue) & InValue )


className: FExpressionConstant

code: class FExpressionConstant : public [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression)


code: FExpressionCustomHLSL ( FStringView InDeclarationCode, FStringView InFunctionCode, [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FCustomHLSLInput](API\Runtime\Engine\HLSLTree\FCustomHLSLInput) > InInputs, const [Shader::FStructType](API\Runtime\Engine\Shader\FStructType) * InOutputStructType )


className: FExpressionCustomHLSL

code: class FExpressionCustomHLSL : public [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression)

DeclarationCode

type: FStringView

Inputs

type: TArray<FCustom...


code: FExpressionDefaultValue ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * InExpression, const [Shader::FValue](API\Runtime\Engine\Shader\FValue) & InDefaultValue )


className: FExpressionDefaultValue

description: Forwards to another expression, but will fallback to the 'DefaultValue' constant if the forwarded expression fails

code: class FExpressionDefaultValue : public [UE::HLSLTree::FExpressionForward](API\Runtime\Engine\HLSLTree\FExpressionForward)


code: FExpressionDerivative ( [EDerivativeCoordinate](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EDerivativeCoordin-) InCoord, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * InInput )


className: FExpressionDerivatives

code: struct FExpressionDerivatives


className: FExpressionDerivative

code: class FExpressionDerivative : public [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression)

Coord

type: EDerivativeCoor...


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Get ( [EDerivativeCoordinate](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EDerivativeCoordin-) Coord ) const


code: FExpressionError ( FStringView InErrorMessage )


className: FExpressionError

code: class FExpressionError : public [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression)


code: virtual bool IsInputActive ( const [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, int32 Index ) const


code: FExpressionFeatureLevelSwitch ( TConstArrayView< const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * > InInputs )


code: virtual const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewSwitch ( [FTree](API\Runtime\Engine\HLSLTree\FTree) & Tree, TConstArrayView< const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * > InInputs ) const


className: FExpressionFeatureLevelSwitch

code: class FExpressionFeatureLevelSwitch : public [UE::HLSLTree::FExpressionSwitchBase](API\Runtime\Engine\HLSLTree\FExpressionSwitchBase)


code: virtual void ComputeAnalyticDerivatives ( [FTree](API\Runtime\Engine\HLSLTree\FTree) & Tree, [FExpressionDerivatives](API\Runtime\Engine\HLSLTree\FExpressionDerivatives) & OutResult ) const


code: virtual const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * ComputePreviousFrame ( [FTree](API\Runtime\Engine\HLSLTree\FTree) & Tree, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType ) const


code: virtual void EmitValuePreshader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, [FEmitValuePreshaderResult](API\Runtime\Engine\HLSLTree\FEmitValuePreshaderResult) & OutResult ) const


code: virtual void EmitValueShader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, [FEmitValueShaderResult](API\Runtime\Engine\HLSLTree\FEmitValueShaderResult) & OutResult ) const


code: virtual bool PrepareValue ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, [FPrepareValueResult](API\Runtime\Engine\HLSLTree\FPrepareValueResult) & OutResult ) const


code: FExpressionForward ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * InExpression )


className: FExpressionForward

description: Forwards all calls to the owned expression Intended to be used as a baseclass, where derived classes may hook certain method overrides

code: class FExpressionForward : public [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression)


code: FExpressionGetStructField ( const [Shader::FStructType](API\Runtime\Engine\Shader\FStructType) * InStructType, const [Shader::FStructField](API\Runtime\Engine\Shader\FStructField) * InField, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * InStructExpression )


className: FExpressionGetStructField

code: class FExpressionGetStructField : public [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression)


code: FExpressionInlineCustomHLSL ( [Shader::EValueType](API\Runtime\Engine\Shader\UE__Shader__EValueType) InType, FStringView InCode )


className: FExpressionInlineCustomHLSL

description: Can be used to emit HLSL chunks with no inputs, where it's not worth the trouble of defining a new expression type

code: class FExpressionInlineCustomHLSL : public [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression)


code: FExpressionQualitySwitch ( TConstArrayView< const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * > InInputs )


className: FExpressionQualitySwitch

code: class FExpressionQualitySwitch : public [UE::HLSLTree::FExpressionSwitchBase](API\Runtime\Engine\HLSLTree\FExpressionSwitchBase)


code: FExpressionSelect ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * InCondition, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * InTrue, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * InFalse )


className: FExpressionSelect

code: class FExpressionSelect : public [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression)


code: FExpressionSetStructField ( const [Shader::FStructType](API\Runtime\Engine\Shader\FStructType) * InStructType, const [Shader::FStructField](API\Runtime\Engine\Shader\FStructField) * InField, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * InStructExpression, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * InFieldExpression )


className: FExpressionSetStructField

code: class FExpressionSetStructField : public [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression)


code: virtual bool IsInputActive ( const [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, int32 Index ) const


code: FExpressionShaderStageSwitch ( TConstArrayView< const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * > InInputs )


code: virtual const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewSwitch ( [FTree](API\Runtime\Engine\HLSLTree\FTree) & Tree, TConstArrayView< const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * > InInputs ) const


className: FExpressionShaderStageSwitch

code: class FExpressionShaderStageSwitch : public [UE::HLSLTree::FExpressionSwitchBase](API\Runtime\Engine\HLSLTree\FExpressionSwitchBase)


code: FExpressionShadingPathSwitch ( TConstArrayView< const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * > InInputs )


className: FExpressionShadingPathSwitch

code: class FExpressionShadingPathSwitch : public [UE::HLSLTree::FExpressionSwitchBase](API\Runtime\Engine\HLSLTree\FExpressionSwitchBase)


code: virtual void ComputeAnalyticDerivatives ( [FTree](API\Runtime\Engine\HLSLTree\FTree) & Tree, [FExpressionDerivatives](API\Runtime\Engine\HLSLTree\FExpressionDerivatives) & OutResult ) const


code: virtual const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * ComputePreviousFrame ( [FTree](API\Runtime\Engine\HLSLTree\FTree) & Tree, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType ) const


code: virtual void EmitValuePreshader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, [FEmitValuePreshaderResult](API\Runtime\Engine\HLSLTree\FEmitValuePreshaderResult) & OutResult ) const


code: virtual void EmitValueShader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, [FEmitValueShaderResult](API\Runtime\Engine\HLSLTree\FEmitValueShaderResult) & OutResult ) const


code: bool IsInputActive ( const [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, int32 Index ) const


className: MaxInputs

code: static constexpr int8 MaxInputs = 8;


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewSwitch ( [FTree](API\Runtime\Engine\HLSLTree\FTree) & Tree, TConstArrayView< const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * > InInputs ) const


code: virtual bool PrepareValue ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, [FPrepareValueResult](API\Runtime\Engine\HLSLTree\FPrepareValueResult) & OutResult ) const


code: FExpressionSwitchBase ( TConstArrayView< const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * > InInputs )


className: FExpressionSwitchBase

code: class FExpressionSwitchBase : public [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression)


code: FExpressionSwizzle ( const [FSwizzleParameters](API\Runtime\Engine\HLSLTree\FSwizzleParameters) & InParams, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * InInput )


className: FExpressionSwizzle

code: class FExpressionSwizzle : public [UE::HLSLTree::FExpression](API\Runtime\Engine\HLSLTree\FExpression)

Parameters

type: FSwizzleParamet...


className: FFormatArgList

code: typedef [TArray](API\Runtime\Core\Containers\TArray)< [FFormatArgVariant](API\Runtime\Engine\HLSLTree\FFormatArgVariant), TInlineAllocator< 8 >> FFormatArgList


code: FFormatArgVariant ( [FEmitShaderExpression](API\Runtime\Engine\HLSLTree\FEmitShaderExpression) * InValue )


code: FFormatArgVariant ( const TCHAR * InValue )


code: FFormatArgVariant ( int32 InValue )


code: FFormatArgVariant ( uint32 InValue )


code: FFormatArgVariant ( float InValue )


className: FFormatArgVariant

code: struct FFormatArgVariant

type: union UE::HLSLT...

Bool

type: bool

Float

type: float

ShaderValue

type: FEmitShaderExpr...

String

type: const TCHAR ...

Type

type: EFormatArgType


code: [FScope](API\Runtime\Engine\HLSLTree\FScope) & GetRootScope() const


className: FFunction

description: Functions are a way to dynamically inject new scopes into the tree They are used to represent calls to material functions using execution flow, and to inject dynamic branches without explicit control flow

code: class FFunction : public [UE::HLSLTree::FNode](API\Runtime\Engine\HLSLTree\FNode)

CalledScope

type: FScope*

description: The scope where this function is called, when HLSL is emitted, the RootScope will be injected here

OutputExpressions

type: TArray< constF...

description: Function output expressions, should be expressions nested under RootScope

RootScope

description: The root scope of the function


code: void AppendData ( const void * Data, uint64 Size )


description: Recieves a list of owners for the node that generated the error, along with the error message

code: virtual void AddErrorInternal ( TConstArrayView< [UObject](API\Runtime\CoreUObject\UObject\UObject) * > InOwners, FStringView InError )


className: FNode

description: Root class of the HLSL AST

code: class FNode


className: FNullErrorHandler

code: class FNullErrorHandler : public [UE::HLSLTree::FErrorHandlerInterface](API\Runtime\Engine\HLSLTree\FErrorHandlerInterface)


code: FFormatArgVariant ( bool InValue )


code: FOperationDescription ( const TCHAR * InName, const TCHAR * InOperator, int8 InNumInputs, [Shader::EPreshaderOpcode](API\Runtime\Engine\Shader\UE__Shader__EPreshaderOpcode) InOpcode )


className: FOperationDescription

code: struct FOperationDescription


code: TConstArrayView< [UObject](API\Runtime\CoreUObject\UObject\UObject) * > GetOwners() const


className: FOwnedNode

description: OwnedNodes track 1 or moreUObject'owners' When generating HLSLTree for materials, the owner will typically be theUMaterialExpressionthat created the node, or theUMaterialitself Since certain nodes (FExpressions) are deduplicated and shared, it's possible to have multiple owners, if multiple owners attempt to create a node with the same parameters Tracking owners is important for the following reasons:

code: class FOwnedNode : public [UE::HLSLTree::FNode](API\Runtime\Engine\HLSLTree\FNode)


code: FOwnerScope ( [FTree](API\Runtime\Engine\HLSLTree\FTree) & InTree, [UObject](API\Runtime\CoreUObject\UObject\UObject) * InOwner, bool bPushOwner )


className: FOwnerScope

code: struct FOwnerScope : private [FNoncopyable](API\Runtime\Core\Templates\FNoncopyable)

Owner

type: UObject*

Tree

type: FTree*


description: Get the evaluation of this component within the given scope See comment of 'LoopScope' for explanation of why evaluation may change due to scope

code: [EExpressionEvaluation](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EExpressionEvaluat-) GetEvaluation ( const [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope ) const


code: void SetLoopEvaluation ( [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope )


code: FPreparedComponent ( [EExpressionEvaluation](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EExpressionEvaluat-) InEvaluation )


className: FPreparedComponent

description: Prepared state for a single component. Used byFPreparedType, which includes a list of these

code: struct FPreparedComponent

Bounds

description: Numeric bounds of this component

Evaluation

type: EExpressionEval...

description: Evaluation type of this component

LoopScope

type: FEmitScope*...

description: If 'Evaluation' is a loop evaluation, the loop status is only applied inside this scope.


code: void EnsureNumComponents ( int32 NumComponents )


code: [Shader::FComponentBounds](API\Runtime\Engine\Shader\FComponentBounds) GetBounds ( const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType ) const


code: [FPreparedComponent](API\Runtime\Engine\HLSLTree\FPreparedComponent) GetComponent ( int32 Index ) const


code: [Shader::FComponentBounds](API\Runtime\Engine\Shader\FComponentBounds) GetComponentBounds ( int32 Index ) const


code: [EExpressionEvaluation](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EExpressionEvaluat-) GetEvaluation ( const [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType ) const


code: [EExpressionEvaluation](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EExpressionEvaluat-) GetFieldEvaluation ( const [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, int32 ComponentIndex, int32 NumComponents ) const


code: [FPreparedType](API\Runtime\Engine\HLSLTree\FPreparedType) GetFieldType ( const [Shader::FStructField](API\Runtime\Engine\Shader\FStructField) * Field ) const


description: Converts to a requested type, based onIsRequestedEvaluation()


description: Returns the number of components, only including components with valid evaluation

code: int32 GetNumPreparedComponents() const


description: For numeric vectors, the number of components in the result type will only include components that have valid evaluation


code: bool IsComponentRequested ( int32 Index ) const


description: Either void, or no prepared components

code: bool IsEmpty() const


code: void MergeComponent ( int32 Index, const [FPreparedComponent](API\Runtime\Engine\HLSLTree\FPreparedComponent) & InComponent )


code: void MergeEvaluation ( [EExpressionEvaluation](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EExpressionEvaluat-) Evaluation )


code: void SetComponent ( int32 Index, const [FPreparedComponent](API\Runtime\Engine\HLSLTree\FPreparedComponent) & InComponent )


code: void SetComponentBounds ( int32 Index, const [Shader::FComponentBounds](API\Runtime\Engine\Shader\FComponentBounds) Bounds )


code: void SetEvaluation ( [EExpressionEvaluation](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EExpressionEvaluat-) Evaluation )


code: void SetField ( const [Shader::FStructField](API\Runtime\Engine\Shader\FStructField) * Field, const [FPreparedType](API\Runtime\Engine\HLSLTree\FPreparedType) & FieldType )


code: void SetLoopEvaluation ( [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType )


code: FPreparedType ( const [Shader::FType](API\Runtime\Engine\Shader\FType) & InType, const [FPreparedComponent](API\Runtime\Engine\HLSLTree\FPreparedComponent) & InComponent )


code: FPreparedType ( [Shader::EValueType](API\Runtime\Engine\Shader\UE__Shader__EValueType) InType, const [FPreparedComponent](API\Runtime\Engine\HLSLTree\FPreparedComponent) & InComponent )


code: FPreparedType ( const [FName](API\Runtime\Core\UObject\FName) & InType, const [FPreparedComponent](API\Runtime\Engine\HLSLTree\FPreparedComponent) & InComponent )


code: FPreparedType ( const [Shader::FStructType](API\Runtime\Engine\Shader\FStructType) * InType, const [FPreparedComponent](API\Runtime\Engine\HLSLTree\FPreparedComponent) & InComponent )


className: FPreparedType

description: Represents the prepared type of anFExpression. EachFExpressionwill prepare a type duringFExpression::PrepareValue(). The prepared type is represented by a concreteShader::FType, along with a list of FPreparedComponents. This structure matchesFRequestedType, and in factFRequestedTypeis often used as a 'mask' to only consider certain prepared components

code: class FPreparedType

PreparedComponents

type: TArray<FPrepar...

description: Evaluation type for each component, may be 'None' for components that are unused

Type

description: The prepared type.


code: const [FPreparedType](API\Runtime\Engine\HLSLTree\FPreparedType) & GetPreparedType() const


code: bool SetType ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, const [FPreparedType](API\Runtime\Engine\HLSLTree\FPreparedType) & Type )


code: bool SetType ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, [EExpressionEvaluation](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EExpressionEvaluat-) Evaluation, const [Shader::FType](API\Runtime\Engine\Shader\FType) & Type )


className: FPrepareValueResult

code: class FPrepareValueResult


code: FPreshaderLocalPHIScope ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * InExpression, int32 InValueStackPosition )


className: FPreshaderLocalPHIScope

code: struct FPreshaderLocalPHIScope

ExpressionLocalPHI

type: constFExpressi...


code: void ClearFieldRequested ( const [Shader::FStructField](API\Runtime\Engine\Shader\FStructField) * Field )


description: Returns the requested type of the given field

code: [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) GetField ( const [Shader::FStructField](API\Runtime\Engine\Shader\FStructField) * Field ) const


description: No requested components

code: bool IsEmpty() const


code: bool IsComponentRequested ( int32 Index ) const


description: Check if any of xyzw are requested, any of these components will request a numeric scalar type

code: bool IsNumericVectorRequested() const


code: [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & operator= ( [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) && )


code: [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & operator= ( const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & )


code: void SetComponentRequest ( int32 Index, bool bRequest )


description: Marks the given field as requested (or not)

code: void SetFieldRequested ( const [Shader::FStructField](API\Runtime\Engine\Shader\FStructField) * Field, bool bRequest )


description: Marks the given field as requested, based on the input request type (which should match the field type)

code: void SetFieldRequested ( const [Shader::FStructField](API\Runtime\Engine\Shader\FStructField) * Field, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & InRequest )


code: FRequestedType ( [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) && )


code: FRequestedType ( const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & )


code: FRequestedType ( const [Shader::FType](API\Runtime\Engine\Shader\FType) & InType, bool bDefaultRequest )


code: FRequestedType ( const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & InType, bool bDefaultRequest )


code: FRequestedType ( [Shader::EValueType](API\Runtime\Engine\Shader\UE__Shader__EValueType) InType, bool bDefaultRequest )


code: FRequestedType ( const [Shader::FStructType](API\Runtime\Engine\Shader\FStructType) * InType, bool bDefaultRequest )


code: FRequestedType ( const [FName](API\Runtime\Core\UObject\FName) & InType, bool bDefaultRequest )


className: FRequestedType

description: FRequestedTypeis used when accessing variousFExpressionmethods. A requested type is represented by a concreteShader::FType, along with a bit vector of components. A bit set in this vector means the given component was requested. This allows FExpressions to track access of particular components, which can enable various optimizations. For example, a 'Swizzle' expression may only access the 'Y' component of its input. So it might request a float2 value from its input, but with only the second bit set. This lets the input know that only the 'Y' component is needed for this request. This is turn can be passed down the chain, which can allow certain expressions to be skipped or constant-folded. This is especially useful when dealing with struct types, which are internally represented as a flattened list of components of all fields. In many cases only certain fields of a struct type will be relevant, which can be tracked by setting the bits associated with those fields.

code: class FRequestedType

RequestedComponents

type: TBitArray

description: 1 bit per component, a value of 'true' means the specified component is requsted

Type

description: The actual type that was requested.


code: void AddPreviousScope ( [FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope )


code: static [FScope](API\Runtime\Engine\HLSLTree\FScope) * FindSharedParent ( [FScope](API\Runtime\Engine\HLSLTree\FScope) * Lhs, [FScope](API\Runtime\Engine\HLSLTree\FScope) * Rhs )


code: [FScope](API\Runtime\Engine\HLSLTree\FScope) * GetParentScope() const


code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FScope](API\Runtime\Engine\HLSLTree\FScope) * > GetPreviousScopes() const


code: bool HasParentScope ( const [FScope](API\Runtime\Engine\HLSLTree\FScope) & ParentScope ) const


className: FScope

description: Represents an HLSL scope. A scope contains a single statement, along with any expressions required by that statement

code: class FScope : public [UE::HLSLTree::FNode](API\Runtime\Engine\HLSLTree\FNode)


code: virtual void EmitPreshader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FEmitPreshaderScope](API\Runtime\Engine\HLSLTree\FEmitPreshaderScope) > Scopes, [Shader::FPreshaderData](API\Runtime\Engine\Shader\FPreshaderData) & OutPreshader ) const


code: virtual void EmitShader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope ) const


code: [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetOwner() const


code: virtual TConstArrayView< [UObject](API\Runtime\CoreUObject\UObject\UObject) * > GetOwners() const


code: [FScope](API\Runtime\Engine\HLSLTree\FScope) & GetParentScope() const


code: bool Prepare ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope ) const


className: FStatement

description: Represents an HLSL statement. This is a piece of code that doesn't evaluate to any value, but instead should be executed sequentially, and likely has side-effects. Examples include assigning a value, or various control flow structures (if, for, while, etc) This is an abstract base class, with derived classes representing various types of statements

code: class FStatement : public [UE::HLSLTree::FOwnedNode](API\Runtime\Engine\HLSLTree\FOwnedNode)


code: virtual bool Prepare ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) & Scope ) const


className: FStatementBreak

code: class FStatementBreak : public [UE::HLSLTree::FStatement](API\Runtime\Engine\HLSLTree\FStatement)


code: FStatementError ( FStringView InErrorMessage )


className: FStatementError

code: class FStatementError : public [UE::HLSLTree::FStatement](API\Runtime\Engine\HLSLTree\FStatement)

ErrorMessage

type: FStringView


className: FStatementIf

code: class FStatementIf : public [UE::HLSLTree::FStatement](API\Runtime\Engine\HLSLTree\FStatement)


className: FStatementLoop

code: class FStatementLoop : public [UE::HLSLTree::FStatement](API\Runtime\Engine\HLSLTree\FStatement)

BreakStatement

type: FStatement*...


code: int32 GetNumInputComponents() const


code: int32 GetSwizzleComponentIndex ( int32 Index ) const


code: FSwizzleParameters ( int8 IndexR, int8 IndexG, int8 IndexB, int8 IndexA )


className: FSwizzleParameters

code: struct FSwizzleParameters


code: FTargetParameters ( EShaderPlatform InShaderPlatform, [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) InFeatureLevel, const [ITargetPlatform](API\Developer\TargetPlatform\Interfaces\ITargetPlatform) * InTargetPlatform )


className: FTargetParameters

code: struct FTargetParameters

FeatureLevel

type: ERHIFeatureLeve...

ShaderPlatform

type: EShaderPlatform

TargetPlatform

type: constITargetPl...


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * AcquireLocal ( [FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, const [FName](API\Runtime\Core\UObject\FName) & LocalName )


code: static [FTree](API\Runtime\Engine\HLSLTree\FTree) * Create ( [FMemStackBase](API\Runtime\Core\Misc\FMemStackBase) & Allocator )


code: void AssignLocal ( [FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, const [FName](API\Runtime\Core\UObject\FName) & LocalName, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Value )


code: static void Destroy ( [FTree](API\Runtime\Engine\HLSLTree\FTree) * Tree )


code: bool EmitShader ( [FEmitContext](API\Runtime\Engine\HLSLTree\FEmitContext) & Context, FStringBuilderBase & OutCode ) const


code: [FExpressionDerivatives](API\Runtime\Engine\HLSLTree\FExpressionDerivatives) GetAnalyticDerivatives ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * InExpression )


code: [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetCurrentOwner() const


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * GetPreviousFrame ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * InExpression, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & RequestedType )


code: [FScope](API\Runtime\Engine\HLSLTree\FScope) & GetRootScope() const


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewAbs ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewAdd ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Lhs, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Rhs )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewBinaryOp ( [EOperation](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EOperation) Op, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Lhs, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Rhs )


description: Shortcuts to create various common expression types

code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewConstant ( const [Shader::FValue](API\Runtime\Engine\Shader\FValue) & Value )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewCos ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewCross ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Lhs, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Rhs )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewDiv ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Lhs, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Rhs )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewDot ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Lhs, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Rhs )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewExp ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewExp2 ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


description: Creates a new FExpression-derived type by passing the given arguments to the constructor Given arguments are hashed, and may result in returning an existing expression if the hash matches

code: template<typename T, typename... ArgTypes> const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewExpression ( ArgTypes &&... Args )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewFmod ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Lhs, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Rhs )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewFrac ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewFunctionCall ( [FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, [FFunction](API\Runtime\Engine\HLSLTree\FFunction) * Function, int32 OutputIndex )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewGreater ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Lhs, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Rhs )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewGreaterEqual ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Lhs, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Rhs )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewLength ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewLerp ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * A, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * B, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * T )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewLess ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Lhs, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Rhs )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewLessEqual ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Lhs, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Rhs )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewLog ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewMax ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Lhs, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Rhs )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewLog2 ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewMin ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Lhs, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Rhs )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewMul ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Lhs, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Rhs )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewNeg ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewNormalize ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


code: [FScope](API\Runtime\Engine\HLSLTree\FScope) * NewOwnedScope ( [FStatement](API\Runtime\Engine\HLSLTree\FStatement) & Owner )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewPow2 ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewPowClamped ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Lhs, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Rhs )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewRcp ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewRsqrt ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewSaturate ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


code: [FScope](API\Runtime\Engine\HLSLTree\FScope) * NewScope ( [FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewSin ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewSmoothStep ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input0, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input1, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input2 )


code: template<typename T, typename... ArgTypes> T * NewStatement ( [FScope](API\Runtime\Engine\HLSLTree\FScope) & Scope, ArgTypes &&... Args )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewSqrt ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewStep ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Lhs, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Rhs )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewSub ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Lhs, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Rhs )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewSum ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewSwizzle ( const [FSwizzleParameters](API\Runtime\Engine\HLSLTree\FSwizzleParameters) & Params, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewTernaryOp ( [EOperation](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EOperation) Op, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input0, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input1, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input2 )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewTruncateLWC ( const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


code: const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * NewUnaryOp ( [EOperation](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EOperation) Op, const [FExpression](API\Runtime\Engine\HLSLTree\FExpression) * Input )


code: void PushOwner ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner )


className: FTree

description: The HLSL AST. Basically a wrapper around the root scope, with some helper methods

code: class FTree


code: namespace UE { namespace HLSLTree { void UE::HLSLTree::AppendHash ( [FHasher](API\Runtime\Engine\HLSLTree\FHasher) & Hasher, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & Value ) } }


code: namespace UE { namespace HLSLTree { void UE::HLSLTree::AppendHash ( [FHasher](API\Runtime\Engine\HLSLTree\FHasher) & Hasher, const [Shader::FValue](API\Runtime\Engine\Shader\FValue) & Value ) } }


code: namespace UE { namespace HLSLTree { void UE::HLSLTree::AppendHash ( [FHasher](API\Runtime\Engine\HLSLTree\FHasher) & Hasher, const [Shader::FType](API\Runtime\Engine\Shader\FType) & Type ) } }


code: namespace UE { namespace HLSLTree { template<typename T> void UE::HLSLTree::AppendHash ( [FHasher](API\Runtime\Engine\HLSLTree\FHasher) & Hasher, const T & Value ) } }


code: namespace UE { namespace HLSLTree { template<typename T> void UE::HLSLTree::AppendHash ( [FHasher](API\Runtime\Engine\HLSLTree\FHasher) & Hasher, [TArrayView](API\Runtime\Core\Containers\TArrayView)< T > Value ) } }


code: namespace UE { namespace HLSLTree { template<typename Allocator> void UE::HLSLTree::AppendHash ( [FHasher](API\Runtime\Engine\HLSLTree\FHasher) & Hasher, const [TBitArray](API\Runtime\Core\Containers\TBitArray)< Allocator > & Value ) } }


code: namespace UE { namespace HLSLTree { void UE::HLSLTree::AppendHash ( [FHasher](API\Runtime\Engine\HLSLTree\FHasher) & Hasher, const [FName](API\Runtime\Core\UObject\FName) & Value ) } }


code: namespace UE { namespace HLSLTree { void UE::HLSLTree::AppendHash ( [FHasher](API\Runtime\Engine\HLSLTree\FHasher) & Hasher, FStringView Value ) } }


code: namespace UE { namespace HLSLTree { void UE::HLSLTree::AppendHash ( [FHasher](API\Runtime\Engine\HLSLTree\FHasher) & Hasher, const [FString](API\Runtime\Core\Containers\FString) & Value ) } }


code: namespace UE { namespace HLSLTree { void UE::HLSLTree::AppendHash ( [FHasher](API\Runtime\Engine\HLSLTree\FHasher) & Hasher, const TCHAR * Value ) } }


code: namespace UE { namespace HLSLTree { void UE::HLSLTree::AppendHash ( [FHasher](API\Runtime\Engine\HLSLTree\FHasher) & Hasher, const [FCustomHLSLInput](API\Runtime\Engine\HLSLTree\FCustomHLSLInput) & Value ) } }


code: namespace UE { namespace HLSLTree { void UE::HLSLTree::AppendHashes ( [FHasher](API\Runtime\Engine\HLSLTree\FHasher) & Hasher ) } }


code: namespace UE { namespace HLSLTree { template<typename T, typename... ArgTypes> void UE::HLSLTree::AppendHashes ( [FHasher](API\Runtime\Engine\HLSLTree\FHasher) & Hasher, const T & Value, ArgTypes &&... Args ) } }


description: The HLSLTree module contains classes to build an HLSL AST (abstract syntax tree) This allows C++ to procedurally define an HLSL program. The structure of the tree is designed to be flexible, to facilitate incremental generation from a material node graph Once the tree is complete, HLSL source code may be generated

code: namespace UE { namespace HLSLTree { enum EDerivativeCoordinate { Ddx, Ddy, } } }


code: namespace UE { namespace HLSLTree { enum EEmitCastFlags { None = 0u, ZeroExtendScalar = (1u << 0), } } }


code: namespace UE { namespace HLSLTree { enum EEmitScopeFormat { None, Unscoped, Scoped, } } }


code: namespace UE { namespace HLSLTree { enum EEmitScopeState { Uninitialized, Initializing, Live, Dead, } } }


description: Describes how a given expression needs to be evaluated

code: namespace UE { namespace HLSLTree { enum EExpressionEvaluation { None, Unknown, Shader, PreshaderLoop, Preshader, ConstantLoop, Constant, ConstantZero, } } }


code: namespace UE { namespace HLSLTree { enum EFormatArgType { Void, ShaderValue, String, Int, Uint, Float, Bool, } } }


code: namespace UE { namespace HLSLTree { enum EOperation { None, Abs, Neg, Rcp, Sqrt, Rsqrt, Log, Log2, Exp, Exp2, Frac, Floor, Ceil, Round, Trunc, Saturate, Sign, Length, Normalize, Sum, Sin, Cos, Tan, Asin, AsinFast, Acos, AcosFast, Atan, AtanFast, TruncateLWC, Add, Sub, Mul, Div, Fmod, Step, PowPositiveClamped, Atan2, Atan2Fast, Min, Max, Less, Greater, LessEqual, GreaterEqual, VecMulMatrix3, VecMulMatrix4, Matrix3MulVec, Matrix4MulVec, SmoothStep, } } }


description: FormatString()provides printf-like functionality, except dependencies are automatically extracted from the list of Args In addition, a single '' is used for all format specifiers, since the Args list is strongly typed Not all printf arg types are currently supported, but more can be added by extendingFFormatArgVariantto support more types

code: namespace UE { namespace HLSLTree { template<typename FormatType, typename... Types> void UE::HLSLTree::FormatString ( FStringBuilderBase & OutString, [FEmitShaderDependencies](API\Runtime\Engine\HLSLTree\FEmitShaderDependencies) & OutDependencies, const FormatType & Format, Types... Args ) } }


code: namespace UE { namespace HLSLTree { template<typename FormatType0, typename FormatType1, typename... Types> void UE::HLSLTree::FormatStrings ( FStringBuilderBase & OutString0, FStringBuilderBase & OutString1, [FEmitShaderDependencies](API\Runtime\Engine\HLSLTree\FEmitShaderDependencies) & OutDependencies, const FormatType0 & Format0, const FormatType1 & Format1, Types... Args ) } }


code: namespace UE { namespace HLSLTree { uint32 UE::HLSLTree::GetTypeHash ( const [FConnectionKey](API\Runtime\Engine\HLSLTree\FConnectionKey) & Key ) } }


code: namespace UE { namespace HLSLTree { template<typename T> [FXxHash64](API\Runtime\Core\Hash\FXxHash64) UE::HLSLTree::HashValue ( const T & Value ) } }


code: namespace UE { namespace HLSLTree { bool UE::HLSLTree::IsConstantEvaluation ( [EExpressionEvaluation](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EExpressionEvaluat-) Evaluation ) } }


code: namespace UE { namespace HLSLTree { bool UE::HLSLTree::IsRequestedEvaluation ( [EExpressionEvaluation](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EExpressionEvaluat-) Evaluation ) } }


code: namespace UE { namespace HLSLTree { bool UE::HLSLTree::IsLoopEvaluation ( [EExpressionEvaluation](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EExpressionEvaluat-) Evaluation ) } }


code: namespace UE { namespace HLSLTree { bool UE::HLSLTree::IsScopeDead ( const [FEmitScope](API\Runtime\Engine\HLSLTree\FEmitScope) * Scope ) } }


code: namespace UE { namespace HLSLTree { static UE::HLSLTree::MaxNumPreviousScopes = 2; } }


code: namespace UE { namespace HLSLTree { bool UE::HLSLTree::operator== ( const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & Lhs, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & Rhs ) } }


code: namespace UE { namespace HLSLTree { bool UE::HLSLTree::operator== ( const [FPreparedComponent](API\Runtime\Engine\HLSLTree\FPreparedComponent) & Lhs, const [FPreparedComponent](API\Runtime\Engine\HLSLTree\FPreparedComponent) & Rhs ) } }


code: namespace UE { namespace HLSLTree { bool UE::HLSLTree::operator== ( const [FConnectionKey](API\Runtime\Engine\HLSLTree\FConnectionKey) & Lhs, const [FConnectionKey](API\Runtime\Engine\HLSLTree\FConnectionKey) & Rhs ) } }


code: namespace UE { namespace HLSLTree { bool UE::HLSLTree::operator== ( const [FPreparedType](API\Runtime\Engine\HLSLTree\FPreparedType) & Lhs, const [FPreparedType](API\Runtime\Engine\HLSLTree\FPreparedType) & Rhs ) } }


code: namespace UE { namespace HLSLTree { bool UE::HLSLTree::operator!= ( const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & Lhs, const [FRequestedType](API\Runtime\Engine\HLSLTree\FRequestedType) & Rhs ) } }


code: namespace UE { namespace HLSLTree { bool UE::HLSLTree::operator!= ( const [FPreparedComponent](API\Runtime\Engine\HLSLTree\FPreparedComponent) & Lhs, const [FPreparedComponent](API\Runtime\Engine\HLSLTree\FPreparedComponent) & Rhs ) } }


code: namespace UE { namespace HLSLTree { bool UE::HLSLTree::operator!= ( const [FPreparedType](API\Runtime\Engine\HLSLTree\FPreparedType) & Lhs, const [FPreparedType](API\Runtime\Engine\HLSLTree\FPreparedType) & Rhs ) } }


code: namespace UE { namespace HLSLTree { bool UE::HLSLTree::operator!= ( const [FConnectionKey](API\Runtime\Engine\HLSLTree\FConnectionKey) & Lhs, const [FConnectionKey](API\Runtime\Engine\HLSLTree\FConnectionKey) & Rhs ) } }


code: namespace UE { namespace HLSLTree { [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) & UE::HLSLTree::operator|= ( [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) & Lhs, [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) Rhs ) } }


code: namespace UE { namespace HLSLTree { [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) & UE::HLSLTree::operator&= ( [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) & Lhs, [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) Rhs ) } }


code: namespace UE { namespace HLSLTree { [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) & UE::HLSLTree::operator^= ( [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) & Lhs, [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) Rhs ) } }


code: namespace UE { namespace HLSLTree { constexpr [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) UE::HLSLTree::operator& ( [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) Lhs, [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) Rhs ) } }


code: namespace UE { namespace HLSLTree { constexpr [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) UE::HLSLTree::operator| ( [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) Lhs, [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) Rhs ) } }


code: namespace UE { namespace HLSLTree { constexpr [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) UE::HLSLTree::operator^ ( [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) Lhs, [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) Rhs ) } }


code: namespace UE { namespace HLSLTree { constexpr bool UE::HLSLTree::operator! ( [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) E ) } }


code: namespace UE { namespace HLSLTree { constexpr [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) UE::HLSLTree::operator~ ( [EEmitCastFlags](API\Runtime\Engine\HLSLTree\UE__HLSLTree__EEmitCastFlags) E ) } }


code: namespace UE { namespace HLSLTree { namespace Private { void UE::HLSLTree::Private::BuildFormatArgList ( [FFormatArgList](API\Runtime\Engine\HLSLTree\FFormatArgList) & ) } } }


code: namespace UE { namespace HLSLTree { namespace Private { template<typename Type, typename... Types> void UE::HLSLTree::Private::BuildFormatArgList ( [FFormatArgList](API\Runtime\Engine\HLSLTree\FFormatArgList) & OutList, Type Arg, Types... Args ) } } }


code: virtual void AddReferencedObjects ( [FReferenceCollector](API\Runtime\CoreUObject\UObject\FReferenceCollector) & Collector )


code: [UModel](API\Runtime\Engine\UModel) * GetModel() const


description: Override to change the mouse based on what it is hovering over.


description: Accessors.

code: [UModelComponent](API\Runtime\Engine\Components\UModelComponent) * GetModelComponent() const


code: virtual [HHitProxyType](API\Runtime\Engine\HHitProxyType) * GetType() const


description:
Finds the surface at the given screen coordinates of a view family.
True if a surface was found.

code: bool ResolveSurface ( const [FSceneView](API\Runtime\Engine\FSceneView) * View, int32 X, int32 Y, uint32 & OutSurfaceIndex ) const


code: static [HHitProxyType](API\Runtime\Engine\HHitProxyType) * StaticGetType()


description: Initialization constructor.

code: HModel ( [UModelComponent](API\Runtime\Engine\Components\UModelComponent) * InComponent, [UModel](API\Runtime\Engine\UModel) * InModel )


className: HModel

description: A hit proxy representing aUModel.

code: class HModel : public [HHitProxy](API\Runtime\Engine\HHitProxy)


code: virtual void Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: HObject ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * InObject )


className: HObject

description: Hit proxy class forUObjectreferences.

code: struct HObject : public [HHitProxy](API\Runtime\Engine\HHitProxy)


code: HStaticMeshVert ( [AActor](API\Runtime\Engine\GameFramework\AActor) * InActor, FVector InVertex )


className: HStaticMeshVert

description: HStaticMeshVert

code: struct HStaticMeshVert : public [HHitProxy](API\Runtime\Engine\HHitProxy)

Actor

type: TObjectPtr<AAc...

Vertex

type: FVector


description:
Method that specifies whether the hit proxyalwaysallows translucent primitives to be associated with it or not, regardless of any other engine/editor setting. For example, if translucent selection was disabled, any hit proxies returning true would still allow translucent selection.
true if translucent primitives are always allowed with this hit proxy; false otherwise

code: virtual bool AlwaysAllowsTranslucentPrimitives() const


code: HTranslucentActor ( [AActor](API\Runtime\Engine\GameFramework\AActor) * InActor, const [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * InPrimComponent, EHitProxyPriority InPriority )


code: HTranslucentActor ( [AActor](API\Runtime\Engine\GameFramework\AActor) * InActor, const [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * InPrimComponent )


className: HTranslucentActor

description: Hit an actor even with translucency.

code: struct HTranslucentActor : public [HActor](API\Runtime\Engine\HActor)


description: Applies interior data previously collected to the active sound and parse parameters. NOTE! Called on the AudioThread

code: virtual void ApplyInteriorSettings ( const [FActiveSound](API\Runtime\Engine\FActiveSound) & ActiveSound, [FSoundParseParameters](API\Runtime\Engine\FSoundParseParameters) & ParseParams )


description: Gathers interior data that can affect the active sound. Non-const as this step can be used to track state about the sound on the implementing object NOTE! Called on the AudioThread

code: virtual void GatherInteriorData ( const [FActiveSound](API\Runtime\Engine\FActiveSound) & ActiveSound, [FSoundParseParameters](API\Runtime\Engine\FSoundParseParameters) & ParseParams )


description: Called when an active sound is being added to the audio engine NOTE! Called on the AudioThread

code: virtual void OnNotifyAddActiveSound ( [FActiveSound](API\Runtime\Engine\FActiveSound) & ActiveSound )


description: Called when the active sound is being removed from the audio engine NOTE! Called on the AudioThread

code: virtual void OnNotifyPendingDelete ( const [FActiveSound](API\Runtime\Engine\FActiveSound) & ActiveSound )


className: IActiveSoundUpdateInterface

code: class IActiveSoundUpdateInterface


description: Adds a new Streamable Anim to the streaming manager.

code: void AddStreamingAnim ( [UAnimStreamable](API\Runtime\Engine\Animation\UAnimStreamable) * Anim )


description:
Gets a pointer to a chunk of animation data
Either the desired chunk or NULL if it's not loaded

code: const [FCompressedAnimSequence](API\Runtime\Engine\Animation\FCompressedAnimSequence) * GetLoadedChunk ( const [UAnimStreamable](API\Runtime\Engine\Animation\UAnimStreamable) * Anim, uint32 ChunkIndex, bool bRequestNextChunk ) const


description: Returns the memory a Streamable Anim is currently using

code: SIZE_T GetMemorySizeForAnim ( const [UAnimStreamable](API\Runtime\Engine\Animation\UAnimStreamable) * Anim )


description: Removes a Streamable Anim from the streaming manager.

code: bool RemoveStreamingAnim ( [UAnimStreamable](API\Runtime\Engine\Animation\UAnimStreamable) * Anim )


className: IAnimationStreamingManager

description: Interface to add functions specifically related to animation streaming

code: struct IAnimationStreamingManager : public [IStreamingManager](API\Runtime\Engine\IStreamingManager)


description: Blocks until completion of all assets.

code: void FinishAllCompilation()


description: Blocks until completion of the requested objects.

code: virtual void FinishCompilationForObjects ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< [UObject](API\Runtime\CoreUObject\UObject\UObject) *const > InObjects )


description: Note: Should be in a similar form as "{0}|plural(one=Singular Name,other=Plural Name)"


description: Return other asset types that should preferably be handled before this one.

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< [FName](API\Runtime\Core\UObject\FName) > GetDependentTypeNames() const


description: A unique name among all asset compiling manager to identify the type of asset this manager handles.


description: Returns the number of remaining compilations.

code: int32 GetNumRemainingAssets() const


description: Called once per frame, fetches completed tasks and applies them to the scene.

code: void ProcessAsyncTasks ( bool bLimitExecutionTime )


code: virtual void ProcessAsyncTasks ( const [AssetCompilation::FProcessAsyncTaskParams](API\Runtime\Engine\FProcessAsyncTaskParams) & Params )


description: Cancel any pending work and blocks until it is safe to shut down.

code: void Shutdown()


className: IAssetCompilingManager

code: struct IAssetCompilingManager


className: IAudioInfoFactory

code: struct IAudioInfoFactory


description: Convenience helper.

code: [ICompressedAudioInfo](API\Runtime\Engine\ICompressedAudioInfo) * Create ( [FName](API\Runtime\Core\UObject\FName) InName )


code: [IAudioInfoFactory](API\Runtime\Engine\IAudioInfoFactory) * Find ( [FName](API\Runtime\Core\UObject\FName) InName ) const


code: void Register ( [IAudioInfoFactory](API\Runtime\Engine\IAudioInfoFactory) *, [FName](API\Runtime\Core\UObject\FName) )


code: static [IAudioInfoFactoryRegistry](API\Runtime\Engine\IAudioInfoFactoryRegistry) & Get()


code: void Unregister ( [IAudioInfoFactory](API\Runtime\Engine\IAudioInfoFactory) *, [FName](API\Runtime\Core\UObject\FName) )


code: virtual ~IAudioInfoFactoryRegistry()


className: IAudioInfoFactoryRegistry

code: struct IAudioInfoFactoryRegistry


description: Adds the decoder to the streaming manager to prevent stream chunks from getting reaped from underneath it

code: void AddDecoder ( [ICompressedAudioInfo](API\Runtime\Engine\ICompressedAudioInfo) * CompressedAudioInfo )


description: This can be used to increment reference counted handles to audio chunks. Called by the copy constructor ofFAudioChunkHandle.

code: void AddReferenceToChunk ( const [FAudioChunkHandle](API\Runtime\Engine\FAudioChunkHandle) & InHandle )


description: Adds a new Sound Source to the streaming manager.

code: void AddStreamingSoundSource ( [FSoundSource](API\Runtime\Engine\FSoundSource) * SoundSource )


description: Adds a new Sound Wave to the streaming manager.

code: void AddStreamingSoundWave ( const FSoundWaveProxyPtr & SoundWave )


description: This can be called by implementers ofIAudioStreamingManagerto construct anFAudioChunkHandleusing an otherwise inaccessible constructor.

code: static [FAudioChunkHandle](API\Runtime\Engine\FAudioChunkHandle) BuildChunkHandle ( const uint8 * InData, uint32 NumBytes, const FSoundWaveProxyPtr & InSoundWave, const [FName](API\Runtime\Core\UObject\FName) & SoundWaveName, uint32 InChunkIndex, uint64 CacheLookupID )


code: bool CanCreateSoundSource ( const [FWaveInstance](API\Runtime\Engine\FWaveInstance) * WaveInstance ) const


description: Generate a memory report as a formatted string for this streaming manager.


description:
Gets a pointer to a chunk of audio data
a handle to the loaded chunk. Can return a default constructedFAudioChunkHandleif the chunk is not loaded yet.

code: [FAudioChunkHandle](API\Runtime\Engine\FAudioChunkHandle) GetLoadedChunk ( const FSoundWaveProxyPtr & SoundWave, uint32 ChunkIndex, bool bBlockForLoad, bool bForImmediatePlayback ) const


description: Returns true if this Sound Wave is currently streaming a chunk.

code: bool IsStreamingInProgress ( const FSoundWaveProxyPtr & SoundWave )


description: Returns true if this is a streaming Sound Source that is managed by the streaming manager.

code: bool IsManagedStreamingSoundSource ( const [FSoundSource](API\Runtime\Engine\FSoundSource) * SoundSource ) const


description: Returns true if this is a Sound Wave that is managed by the streaming manager.

code: bool IsManagedStreamingSoundWave ( const FSoundWaveProxyPtr & SoundWave ) const


description: Removes the decoder from the streaming manager.

code: void RemoveDecoder ( [ICompressedAudioInfo](API\Runtime\Engine\ICompressedAudioInfo) * CompressedAudioInfo )


description: This can be used to decrement reference counted handles to audio chunks. Called by the destructor ofFAudioChunkHandle.

code: void RemoveReferenceToChunk ( const [FAudioChunkHandle](API\Runtime\Engine\FAudioChunkHandle) & InHandle )


description: Removes a Sound Source from the streaming manager.

code: void RemoveStreamingSoundSource ( [FSoundSource](API\Runtime\Engine\FSoundSource) * SoundSource )


description: Removes a Sound Wave from the streaming manager.

code: void RemoveStreamingSoundWave ( const FSoundWaveProxyPtr & SoundWave )


description: Used for rendering debug info:

code: int32 RenderStatAudioStreaming ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, [FViewport](API\Runtime\Engine\FViewport) * Viewport, [FCanvas](API\Runtime\Engine\FCanvas) * Canvas, int32 X, int32 Y, const FVector * ViewLocation, const FRotator * ViewRotation )


description: Manually prepare a chunk to start playing back. This should only be used when the Load On Demand feature is enabled, and returns false on failure.

code: bool RequestChunk ( const FSoundWaveProxyPtr & SoundWave, uint32 ChunkIndex, [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(EAudioChunkLoadResult)> OnLoadCompleted, [ENamedThreads::Type](API\Runtime\Core\Async\ENamedThreads__Type) ThreadToCallOnLoadCompletedOn, bool bForImmediatePlayback )


description: Whether to toggle a performance intensive profiling mode the streaming manager.

code: void SetProfilingMode ( bool bEnabled )


description:
This will start evicting elements from the cache until either hit our target of bytes or run out of chunks we can free.
the amount of bytes we managed to free.

code: uint64 TrimMemory ( uint64 NumBytesToFree )


className: IAudioStreamingManager

description: Interface to add functions specifically related to audio streaming

code: struct IAudioStreamingManager : public [IStreamingManager](API\Runtime\Engine\IStreamingManager)

FAudioChunkHandle

type: friend


code: void DefaultConstrainCamera ( const FVector NewCameraLocation, const FVector PreviousCameraLocation, const FVector OriginalCameraLocation, FVector & OutCameraLocation, [APlayerCameraManager](API\Runtime\Engine\Camera\APlayerCameraManager) * PCMgr )


code: const TCHAR *const GetProviderName()


code: void SetUIControlVisibility ( uint8 UIControlTarget, bool bIsVisible )


code: bool UpdateCamera ( [FMinimalViewInfo](API\Runtime\Engine\Camera\FMinimalViewInfo) & InOutPOV, [APlayerCameraManager](API\Runtime\Engine\Camera\APlayerCameraManager) * PCMgr )


code: void UpdatePostProcessing ( [FPostProcessSettings](API\Runtime\Engine\Engine\FPostProcessSettings) & InOutPostProcessingSettings )


className: ICameraPhotography

code: class ICameraPhotography


description:
Attempts to create a new photography interface
Interface to the photography implementation, if we were able to successfully create one

code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< class [ICameraPhotography](API\Runtime\Engine\ICameraPhotography) > CreateCameraPhotography()


description: Singleton-like access toICameraPhotographyModuleReturnsICameraPhotographyModulesingleton instance, loading the module on demand if needed

code: static [ICameraPhotographyModule](API\Runtime\Engine\ICameraPhotographyModule) & Get()


description:
Checks to see if this module is loaded and ready. It is only valid to callGet()ifIsAvailable()returns true.
True if the module is loaded and ready to use

code: static bool IsAvailable()


className: ICameraPhotographyModule

description: The public interface of the CameraPhotographyModule

code: class ICameraPhotographyModule : public [IModuleInterface](API\Runtime\Core\Modules\IModuleInterface), public [IModularFeature](API\Runtime\Core\Features\IModularFeature)


description: FModuleManager::Get().LoadModuleChecked(TEXT("HTTP"));

code: virtual void StartupModule()


description: Reschedules any async tasks to the given thread pool at the given priority.

code: void Reschedule ( [FQueuedThreadPool](API\Runtime\Core\Misc\FQueuedThreadPool) * InThreadPool, EQueuedWorkPriority InPriority )


description: Returns true once async tasks are complete, false if timing out.

code: bool WaitCompletionWithTimeout ( float TimeLimitSeconds )


description: Sets decode to half-rate

code: void EnableHalfRate ( bool HalfRate )


description: Decompress an entire data file to aTArray

code: void ExpandFile ( uint8 * DstBuffer, struct [FSoundQualityInfo](API\Developer\TargetPlatform\Interfaces\FSoundQualityInfo) * QualityInfo )


description: Gets the chunk index that was last read from (for Streaming Manager requests)

code: virtual int32 GetCurrentChunkIndex() const


description: Gets the offset into the chunk that was last read to (for Streaming Manager priority)

code: virtual int32 GetCurrentChunkOffset() const


description: Gets the size of the source buffer originally passed to the info class (bytes)

code: uint32 GetSourceBufferSize() const


description: Gets the preferred size for a streaming buffer for this decompression scheme

code: int GetStreamBufferSize() const


description: Return the streaming sound wave used by this decoder. Returns nullptr if there is not a streaming sound wave.

code: virtual const FSoundWaveProxyPtr & GetStreamingSoundWave()


description: Returns true if a non-recoverable error has occurred.

code: virtual bool HasError() const


description: Returns whether this instance can be cast to aIStreamedCompressedInfo. Surprisingly SupportsStreaming doesn't work for this.

code: virtual bool IsStreamedCompressedInfo() const


description:
Decompresses data to raw PCM data.
bool true if the end of the data was reached (for both single shot and looping sounds)

code: bool ReadCompressedData ( uint8 * Destination, bool bLooping, uint32 BufferSize )


description: Reads the header information of a compressed format

code: bool ReadCompressedInfo ( const uint8 * InSrcBufferData, uint32 InSrcBufferDataSize, struct [FSoundQualityInfo](API\Developer\TargetPlatform\Interfaces\FSoundQualityInfo) * QualityInfo )


description:
This can be called to explicitly release this decoder's reference to a chunk of compressed audio without destroying the decoder itself.
true if the chunk was released, false otherwise.

code: virtual bool ReleaseStreamChunk ( bool bBlockUntilReleased )


description: Seeks to time (Some formats might not be seekable)

code: void SeekToTime ( const float SeekTime )


description:
Decompresses streamed data to raw PCM data.
bool true if the end of the data was reached (for both single shot and looping sounds)

code: virtual bool StreamCompressedData ( uint8 * Destination, bool bLooping, uint32 BufferSize, int32 & OutNumBytesStreamed )


description: Streams the header information of a compressed format

code: bool StreamCompressedInfo ( [USoundWave](API\Runtime\Engine\Sound\USoundWave) * Wave, struct [FSoundQualityInfo](API\Developer\TargetPlatform\Interfaces\FSoundQualityInfo) * QualityInfo )


code: bool StreamCompressedInfo ( const FSoundWaveProxyPtr & Wave, struct [FSoundQualityInfo](API\Developer\TargetPlatform\Interfaces\FSoundQualityInfo) * QualityInfo )


description: Internal override implemented by subclasses.

code: bool StreamCompressedInfoInternal ( const FSoundWaveProxyPtr & InWaveProxy, struct [FSoundQualityInfo](API\Developer\TargetPlatform\Interfaces\FSoundQualityInfo) * QualityInfo )


description: Whether this decompression class supports streaming decompression

code: virtual bool SupportsStreaming() const


description: Whether the decompressed audio will be arranged using Vorbis' channel ordering Seehttp://www.xiph.org/vorbis/doc/Vorbis_I_spec.html#x1-800004.3.9for details

code: bool UsesVorbisChannelOrdering() const


description: Virtual destructor.

code: virtual ~ICompressedAudioInfo()


className: ICompressedAudioInfo

description: Interface class to decompress various types of audio data

code: class ICompressedAudioInfo

StreamingSoundWave

type: FSoundWaveProxy...


description: Returns true if there is any scheduled work.

code: bool HasWork ( [FName](API\Runtime\Core\UObject\FName) InExecutionGroupName ) const


description: Add any scheduled work to an RDGBuilder ready for execution.

code: void SubmitWork ( [FRDGBuilder](API\Runtime\RenderCore\FRDGBuilder) & GraphBuilder, [FName](API\Runtime\Core\UObject\FName) InExecutionGroupName, [ERHIFeatureLevel::Type](API\Runtime\RHI\ERHIFeatureLevel__Type) FeatureLevel )


className: IComputeTaskWorker

description: Interface for a compute task worker. Implementations will queue and schedule work per scene before the renderer submits at fixed points in the frame.

code: class IComputeTaskWorker


description: Take damage.

code: void CustomizeDetails ( [IDetailLayoutBuilder](API\Editor\PropertyEditor\IDetailLayoutBuilder) & DetailBuilder )


className: IDeformableInterface

code: class IDeformableInterface


description: Take damage.

code: void ApplyDamage ( float DamageAmount, const FVector & HitLocation, const FVector & ImpulseDir, float ImpulseStrength )


description: Take radius damage.

code: void ApplyRadiusDamage ( float BaseDamage, const FVector & HurtOrigin, float DamageRadius, float ImpulseStrength, bool bFullDamage )


className: IDestructibleInterface

code: class IDestructibleInterface


code: void OnDeviceRemoved ( [FString](API\Runtime\Core\Containers\FString) DeviceID )


className: IDeviceChangedListener

description: Interface to register a device changed listener to respond to audio device changes.

code: class IDeviceChangedListener


description: Virtual destructor.

code: ~IDeviceProfileSelector()


className: IDeviceProfileSelector

description: DeviceProfileSelector

code: class IDeviceProfileSelector


description:
Run the logic to choose an appropriate device profile for this session.
The name of the device profile to use for this session

code: virtual const [FString](API\Runtime\Core\Containers\FString) GetDeviceProfileName()


description:
Run the logic to choose an appropriate device profile for this session
The name of the device profile to use for this session


description:
Find a custom profile selector property value.  PropertyType The information requested  PropertyValueOUT the value of PropertyType
Whether the PropertyType was recognized by the profile selector.

code: virtual bool GetSelectorPropertyValue ( const [FName](API\Runtime\Core\UObject\FName) & PropertyType, [FString](API\Runtime\Core\Containers\FString) & PropertyValueOUT )


description: Set or override the selector specific properties.

code: virtual void SetSelectorProperties ( const [TMap](API\Runtime\Core\Containers\TMap)< [FName](API\Runtime\Core\UObject\FName), [FString](API\Runtime\Core\Containers\FString) > & SelectorProperties )


description: Virtual destructor.

code: virtual ~IDeviceProfileSelectorModule()


className: IDeviceProfileSelectorModule

description: Device Profile Selector module

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


description: Enables or disables streaming. NOTE: This does not prevent the user from streaming, it simply unblocks/blocks video and audio on any current or future stream.

code: void EnableStreaming ( bool Enable )


description: Fetches the current status of streaming

code: void GetStreamingStatus ( [FDVRStreamingStatus](API\Runtime\Engine\FDVRStreamingStatus) & StreamingStatus )


className: IDVRStreamingSystem

code: class IDVRStreamingSystem


description: Returns the max resolution resolution fraction as specified in the budget (this can differ from the upper bound if the upper bound is dynamic)

code: virtual [DynamicRenderScaling::TMap](API\Runtime\RenderCore\TMap)< float > GetResolutionFractionsUpperBoundBudgetValue() const


description: Returns a non thread safe aproximation of the current resolution fraction applied on render thread, mostly used for stats and analytic.

code: [DynamicRenderScaling::TMap](API\Runtime\RenderCore\TMap)< float > GetResolutionFractionsApproximation() const


description: Returns the max resolution resolution fraction.

code: [DynamicRenderScaling::TMap](API\Runtime\RenderCore\TMap)< float > GetResolutionFractionsUpperBound() const


description: Returns whether dynamic resolution is enabled for GEngine to know the EDynamicResolutionStatus.

code: bool IsEnabled() const


description: Process dynamic resolution events.UEngine::EmitDynamicResolutionEvent()guareentee to have all events being ordered.

code: void ProcessEvent ( EDynamicResolutionStateEvent Event )


description: Using dynamic resolution on unsupported platforms is extremely dangerous for gameplay experience, since it may have a bug dropping resolution or frame rate more than it should.

code: bool IsSupported() const


description: Reset dynamic resolution's history.

code: void ResetHistory()


description: Enables/Disables dynamic resolution. This is only called by GEngine automatically.

code: void SetEnabled ( bool bEnable )


description: Setup a screen percentage driver for a given view family.

code: void SetupMainViewFamily ( class [FSceneViewFamily](API\Runtime\Engine\FSceneViewFamily) & ViewFamily )


code: virtual ~IDynamicResolutionState()


className: IDynamicResolutionState

description: Interface between the engine and state of dynamic resolution that can be overriden to implement a custom heurstic.

code: class IDynamicResolutionState


code: void OnInitialized ( [IAnalyticsProviderET](API\Runtime\AnalyticsET\IAnalyticsProviderET) & provider, const [FOnEpicAccountIdChanged](API\Runtime\Engine\FOnEpicAccountIdChanged) & OnEpicAccountIdChanged )


code: void ApplyConfiguration ( [FAnalyticsET::Config](API\Runtime\AnalyticsET\FAnalyticsET\Config) & Config )


className: IEngineAnalyticsConfigOverride

description: Internal use only, not intended for licensee use.

code: class IEngineAnalyticsConfigOverride


description: Removes references to any objects pending cleanup by deleting them.

code: void ClearPendingCleanupObjects()


className: IEngineLoop

description: Public interface toFEngineLoopso we can call it from editor or editor code

code: class IEngineLoop


description: Local-Space.

code: const FBoxSphereBounds & GetBounds() const


description: Instance-Space.

code: const FMatrix & GetInstanceToLocal() const


code: const FMatrix GetInstanceToWorld() const


code: const FMatrix & GetLocalToWorld() const


code: const [FPrimitiveSceneProxy](API\Runtime\Engine\FPrimitiveSceneProxy) * GetPrimitiveSceneProxy() const


description: Lighting.

code: float GetStepFactor() const


description: Volume.

code: FIntVector GetVoxelResolution() const


className: IHeterogeneousVolumeInterface

code: class IHeterogeneousVolumeInterface


className: FPerBoneInterpolationData

code: struct FPerBoneInterpolationData


code: const FBoxSphereBounds & GetLocalBounds() const


description: There may be times when the implementation can pre-calculate data needed for GetPerBoneInterpolationIndex, as the latter is often called multiple times whilst iterating over a skeleton.

code: virtual [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FPerBoneInterpolationData](API\Runtime\Engine\IInterpolationIndexProvider\FPerBoneInterpolationData) > GetPerBoneInterpolationData ( const [USkeleton](API\Runtime\Engine\Animation\USkeleton) * Skeleton ) const


description: Deprecated* Please use the overload that takes aFCompactPoseBoneIndex

code: virtual int32 GetPerBoneInterpolationIndex ( int32 BoneIndex, const [FBoneContainer](API\Runtime\Engine\FBoneContainer) & RequiredBones, const [FPerBoneInterpolationData](API\Runtime\Engine\IInterpolationIndexProvider\FPerBoneInterpolationData) * Data ) const


description: Implementation should return the index into the PerBoneBlendData array that would be required when looking up/blending BoneIndex. This call will be passed the results of GetPerBoneInterpolationData, so the two functions should be matched.

code: int32 GetPerBoneInterpolationIndex ( const [FCompactPoseBoneIndex](API\Runtime\AnimationCore\FCompactPoseBoneIndex) & InCompactPoseBoneIndex, const [FBoneContainer](API\Runtime\Engine\FBoneContainer) & RequiredBones, const [FPerBoneInterpolationData](API\Runtime\Engine\IInterpolationIndexProvider\FPerBoneInterpolationData) * Data ) const


className: IInterpolationIndexProvider

description: Interface used to provide interpolation indices for per bone blends

code: class IInterpolationIndexProvider


description: Gets the one true local notification service.


className: ILocalNotificationModule

description: Defines the interface of a module implementing a local notification server.

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


description: Cancel a local notification given the ActivationEvent

code: void CancelLocalNotification ( const [FString](API\Runtime\Core\Containers\FString) & ActivationEvent )


code: void CancelLocalNotification ( int32 NotificationId )


description: Clear all pending local notifications. Typically this will be done before scheduling new notifications when going into the background

code: void ClearAllLocalNotifications()


description: Get the local notification that was used to launch the app

code: void GetLaunchNotification ( bool & NotificationLaunchedApp, [FString](API\Runtime\Core\Containers\FString) & ActivationEvent, int32 & FireDate )


description:
Schedule a local notification at a specific time with a specific Id, inLocalTime specifies the current local time or if UTC time should be used Currently only works for Android.
A unique identifier used to cancel the notification

code: int32 ScheduleLocalNotificationAtTimeOverrideId ( const [FDateTime](API\Runtime\Core\Misc\FDateTime) & FireDateTime, bool LocalTime, const [FText](API\Runtime\Core\Internationalization\FText) & Title, const [FText](API\Runtime\Core\Internationalization\FText) & Body, const [FText](API\Runtime\Core\Internationalization\FText) & Action, const [FString](API\Runtime\Core\Containers\FString) & ActivationEvent, int32 IdOverride )


description:
Schedule a local notification at a specific time, inLocalTime specifies the current local time or if UTC time should be used
A unique identifier used to cancel the notification

code: int32 ScheduleLocalNotificationAtTime ( const [FDateTime](API\Runtime\Core\Misc\FDateTime) & FireDateTime, bool LocalTime, const [FText](API\Runtime\Core\Internationalization\FText) & Title, const [FText](API\Runtime\Core\Internationalization\FText) & Body, const [FText](API\Runtime\Core\Internationalization\FText) & Action, const [FString](API\Runtime\Core\Containers\FString) & ActivationEvent )


description:
Schedule a local notification badge at a specific time, inLocalTime specifies the current local time or if UTC time should be used
A unique identifier used to cancel the notification

code: int32 ScheduleLocalNotificationBadgeAtTime ( const [FDateTime](API\Runtime\Core\Misc\FDateTime) & FireDateTime, bool LocalTime, const [FString](API\Runtime\Core\Containers\FString) & ActivationEvent )


description: Set the local notification that was used to launch the app

code: void SetLaunchNotification ( [FString](API\Runtime\Core\Containers\FString) const & ActivationEvent, int32 FireDate )


className: ILocalNotificationService

description: Interface for local notification modules

code: class ILocalNotificationService


description: Returns what the current sync LOD has bee set to

code: int32 GetCurrentSyncLOD&40;&41; const


description: Returns what is your desired LOD by 0 based index

code: int32 GetDesiredSyncLOD&40;&41; const


description: Returns number of LODs

code: int32 GetNumSyncLODs&40;&41; const


description: Sets what is synced LOD by 0 based index

code: void SetSyncLOD &40; int32 LODIndex &41;


className: ILODSyncInterface

description: Implemented by SkeletalMeshComponent, GroomComponent

code: class ILODSyncInterface


code: namespace InstancedViewParametersUtils { static void InstancedViewParametersUtils::CopyIntoInstancedViewParameters ( [FInstancedViewUniformShaderParameters](API\Runtime\Engine\FInstancedViewUniformShaderParam-) & InstancedViewParameters, const [FViewUniformShaderParameters](API\Runtime\Engine\FViewUniformShaderParameters) & ViewParameters, uint32 CopyViewId ) }


code: virtual uint32 GetDefaultGridSize ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld ) const


code: virtual [FGuid](API\Runtime\Core\Misc\FGuid) GetGridGuid() const


code: void NotifySettingsObjectChanged ( UInstancedPlacementClientSettings * InSettingsObject )


description: Called after applying a transaction to the object. Default implementation simply calls PostEditChange.

code: virtual void PostEditUndo()


description: Do any object-specific cleanup required immediately after loading an object. This is not called for newly-created objects, and by default will always execute on the game thread.

code: virtual void PostLoad()


code: [FClientPlacementInfo](API\Runtime\Engine\Instances\FClientPlacementInfo) * PreAddClientInstances ( const [FGuid](API\Runtime\Core\Misc\FGuid) & ClientGuid, const [FString](API\Runtime\Core\Containers\FString) & InClientDisplayString, [FClientDescriptorFunc](API\Runtime\Engine\Instances\AInstancedPlacementPartitionActo-\FClientDescripto-) RegisterDefinitionFunc )


description: Handles reading, writing, and reference collecting usingFArchive. This implementation handles allFPropertyserialization, but can be overridden for native variables.

code: virtual void Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


description: Called before applying a transaction to the object. Default implementation simply calls PreEditChange.

code: virtual void PreEditUndo()


code: void SetGridGuid ( const [FGuid](API\Runtime\Core\Misc\FGuid) & InGuid )


code: AInstancedPlacementPartitionActor ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: AInstancedPlacementPartitionActor

description: The base class used by any editor placement of instanced objects, which holds any relevant runtime data for the placed instances.

code: class AInstancedPlacementPartitionActor : public [AISMPartitionActor](API\Runtime\Engine\ISMPartition\AISMPartitionActor)

PlacedClientInfo

type: TMap<FGuid,TU...

description: Placed Client info by corresponding client Guid.

PlacementGridGuid

type: FGuid


code: [TArray](API\Runtime\Core\Containers\TArray)< [FSMInstanceId](API\Runtime\Engine\Elements\SMInstance\FSMInstanceId) > AddInstances ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FPlacementInstance](API\Runtime\Engine\Instances\FPlacementInstance) > InWorldTransforms )


code: bool Initialize ( const [FGuid](API\Runtime\Core\Misc\FGuid) & InClientGuid, const [FString](API\Runtime\Core\Containers\FString) & InClientDisplayName, [AInstancedPlacementPartitionActor](API\Runtime\Engine\Instances\AInstancedPlacementPartitionActo-) * InParentPartitionActor, [FClientDescriptorFunc](API\Runtime\Engine\Instances\FClientPlacementInfo\FClientDescriptorFunc) RegisterDescriptorFunc )


className: FClientDescriptorFunc

code: typedef [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void([AInstancedPlacementPartitionActor](API\Runtime\Engine\Instances\AInstancedPlacementPartitionActo-) *, [TSortedMap](API\Runtime\Core\Containers\TSortedMap)< int32, [TArray](API\Runtime\Core\Containers\TArray)< FTransform >> &)> FClientDescriptorFunc


code: void PostLoad ( [AInstancedPlacementPartitionActor](API\Runtime\Engine\Instances\AInstancedPlacementPartitionActo-) * InParentPartitionActor )


code: void PostSerialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar, [AInstancedPlacementPartitionActor](API\Runtime\Engine\Instances\AInstancedPlacementPartitionActo-) * InParentPartitionActor )


className: FClientPlacementInfo

description: Settings which are unique per partition actor.

code: struct FClientPlacementInfo : public [IISMPartitionInstanceManager](API\Runtime\Engine\ISMPartition\IISMPartitionInstanceManager)

ClientDisplayName

type: FString

description: The display name of this client.

ClientGuid

description: The client guid we can regenerate the client handle from.

ClientHandle

type: FISMClientHandl...

description: The client we map to in the partition actor.

InstanceHash

type: FInstancedPlace...

description: Transient, editor-only locality hash of instances.

Instances

type: TArray<FPlacem...

description: Editor-only placed instances.

ISMDefinition

type: TSortedMap< int...

description: Definition of the set of ISM descriptors and their local space transforms which make up this client.

MovingInstances

type: TSet<FISMClien...

ParentPartitionActor

type: TWeakObjectPtr<...

UpdateGuid

description: Allows detection of client updates while a partition wasn't loaded.


code: void CheckInstanceCount ( int32 InCount ) const


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


code: void GetInstancesOverlappingBox ( const FBox & InBox, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & OutInstanceIndices ) const


code: void InsertInstance ( const FVector & InstanceLocation, int32 InstanceIndex )


code: template<typename FunctionType> bool IsAnyInstanceInSphere ( FunctionType InstanceLocationGetter, const FVector & SphereCenter, double SphereRadius )


className: MaxHashCellBits

code: static constexpr int32 MaxHashCellBits = 9;


code: void RemoveInstance ( const FVector & InstanceLocation, int32 InstanceIndex, bool bChecked )


code: void SwapInstance ( const FVector & InstanceLocation, int32 OldIndex, int32 NewIndex, bool bCheckedRemoval )


code: FInstancedPlacementHash ( int32 InHashCellBits )


className: FInstancedPlacementHash

description: FPartitionInstanceHash Used for editor locality of placed instances in a partition actor to control density and avoid overlapping instances

code: struct FInstancedPlacementHash


code: void AlignToNormal ( const FVector & InNormal, int32 AlignMaxAngle )


code: void SetInstanceWorldTransform ( const FTransform & Transform )


className: FPlacementInstance

description: Editor information about where and how an instance was placed

code: struct FPlacementInstance

PreAlignRotation

type: FQuat

WorldTransform

type: FTransform

ZOffset

type: double


description: Called when a property on this object has been modified externally

code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


code: virtual void RegisterISMDescriptors ( [AInstancedPlacementPartitionActor](API\Runtime\Engine\Instances\AInstancedPlacementPartitionActo-) * ParentPartitionActor, [TSortedMap](API\Runtime\Core\Containers\TSortedMap)< int32, [TArray](API\Runtime\Core\Containers\TArray)< FTransform >> & ISMDefinition ) const


className: UInstancedPlacemenClientSettings

description: Settings which can be shared across partition actors.

code: class UInstancedPlacemenClientSettings : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

InstancedComponentSettings

type: FISMComponentDe...

ObjectPath

type: FSoftObjectPath


description: Can be overridden to allow references to be accounted for during GC

code: virtual void AddStructReferencedObjects ( [FReferenceCollector](API\Runtime\CoreUObject\UObject\FReferenceCollector) & Collector ) const


description: Network data representation on the client.

code: class FNetworkPredictionData_Client


code: virtual void ResetForcedUpdateState()


description: Network data representation on the server.

code: class FNetworkPredictionData_Server

bForcedUpdateDurationExceeded

type: uint8:  1

description: Set to true while bTriggeringForcedUpdates is true and after update duration has been exceeded (when server will stop forcing updates).

bLastRequestNeedsForcedUpdates

description: Set to true if last received move request is bad and needs correction

bTriggeringForcedUpdates

description: Set to true while requirements for ForcePositionUpdate interval are met, and set back to false after updates are received again.

ServerTimeBeginningForcedUpdates

type: float

description: Initial ServerTimeStamp that triggered a ForcedPositionUpdate series.

ServerTimeLastForcedUpdate

description: ServerTimeStamp last time we called ForcePositionUpdate.

ServerTimeStamp

description: Server clock time when last server move was received or movement was forced to be processed


className: FPostProcessVolumeProperties

code: struct FPostProcessVolumeProperties

bIsEnabled

type: bool

Settings

type: constFPostProc...


description: Deprecated* Please useGetSkeleton(bool& bInvalidSkeletonIsError, const class IPropertyHandle* PropertyHandle)

code: virtual [USkeleton](API\Runtime\Engine\Animation\USkeleton) * GetSkeleton ( bool & bInvalidSkeletonIsError )