UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AnimNode_ModifyBone.h File Reference
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "BoneContainer.h"
#include "BonePose.h"
#include "BoneControllers/AnimNode_SkeletalControlBase.h"
#include "AnimNode_ModifyBone.generated.h"

Go to the source code of this file.

Classes

struct  FAnimNode_ModifyBone
 

Enumerations

enum  EBoneModificationMode : int { UMETA =(DisplayName = "Ignore") , UMETA =(DisplayName = "Ignore") , UMETA =(DisplayName = "Ignore") }
 

Enumeration Type Documentation

◆ EBoneModificationMode

Enumerator
UMETA 

The modifier ignores this channel (keeps the existing bone translation, rotation, or scale).

The modifier replaces the existing translation, rotation, or scale.

The modifier adds to the existing translation, rotation, or scale.

Use the Skeleton's ref pose as base.

Use a whole animation as a base pose. BasePoseSeq must be set.

Use one frame of an animation as a base pose. BasePoseSeq and RefFrameIndex must be set (RefFrameIndex will be clamped).

Use one frame of this animation. RefFrameIndex must be set (RefFrameIndex will be clamped).

Character can step up onto this Component.

Owning actor determines whether character can step up onto this Component (default true unless overridden in code).

See also
AActor::CanBeBaseForCharacter()

Location within the HMD tracking space

Location within the view space

Quad layer

Cylinder layer

Cubemap layer

Equirect layer

Use a constant value. Represents stepped values.

Cubic interpolation. See TangentMode for different cubic interpolation options.

No interpolation.

Repeat the curve without an offset.

Repeat the curve with an offset relative to the first or last key's value.

Sinusoidally extrapolate.

Use a linearly increasing value for extrapolation.

Use a constant value for extrapolation

No Extrapolation

User specifies the tangent as a unified tangent where the two tangents are locked to each other, presenting a consistent curve before and after.

User specifies the tangent as two separate broken tangents on each side of the key which can allow a sharp change in evaluation before or after.

No tangents.

New Auto tangent that creates smoother curves than Auto.

Don't take tangent weights into account.

Only take the arrival tangent weight into account for evaluation.

Only take the leaving tangent weight into account for evaluation.

Take both the arrival and leaving tangent weights into account for evaluation.

No keys are present

All keys use constant interpolation

All keys use linear interpolation

All keys use cubic interpolation

Keys use mixed interpolation modes

Keys use weighted interpolation modes

Key time is quantized to 16 bits

Key time uses full precision

Blueprint that is const during execution (no state graph and methods cannot modify member variables).

Blueprint that serves as a container for macros to be used in other blueprints.

Blueprint that serves as an interface to be implemented by other blueprints.

Blueprint that handles level scripting.

Blueprint that serves as a container for functions to be used in other blueprints.

Add to world.

Subtract from world.

Special tick group that starts physics simulation.

Any item that can be run in parallel with our physics simulation work.

Special tick group that ends physics simulation.

Any item that needs rigid body and cloth simulation to be complete before being executed.

Any item that needs the update work to be done before being ticked.

Catchall for anything demoted to the end.

Special tick group that is not actually a tick group. After every tick group this is repeatedly re-run until there are no more newly spawned items to run.

Uses project based precision mode setting

Force full-precision for MaterialFloat only, no effect on shader codes in .ush/.usf

All the floats are full-precision

Half precision, except explict 'float' in .ush/.usf

Get the sampler from the texture. Every unique texture will consume a sampler slot, which are limited in number.

Shared sampler source that does not consume a sampler slot. Uses wrap addressing and gets filter mode from the world texture group.

Shared sampler source that does not consume a sampler slot. Uses clamp addressing and gets filter mode from the world texture group.

Shared sampler source that does not consume a sampler slot, used to sample the terrain weightmap. Gets filter mode from the terrain weightmap texture group.

Lighting will be calculated for a volume, without directionality. Use this on particle effects like smoke and dust. This is the cheapest per-pixel lighting method, however the material normal is not taken into account.

Lighting will be calculated for a volume, with directionality so that the normal of the material is taken into account. Note that the default particle tangent space is facing the camera, so enable bGenerateSphericalParticleNormals to get a more useful tangent space.

Same as Volumetric Non Directional, but lighting is only evaluated at vertices so the pixel shader cost is significantly less. Note that lighting still comes from a volume texture, so it is limited in range. Directional lights become unshadowed in the distance.

Same as Volumetric Directional, but lighting is only evaluated at vertices so the pixel shader cost is significantly less. Note that lighting still comes from a volume texture, so it is limited in range. Directional lights become unshadowed in the distance.

Lighting will be calculated for a surface. The light is accumulated in a volume so the result is blurry, limited distance but the per pixel cost is very low. Use this on translucent surfaces like glass and water. Only diffuse lighting is supported.

Lighting will be calculated for a surface. Use this on translucent surfaces like glass and water. This is implemented with forward shading so specular highlights from local lights are supported, however many deferred-only features are not. This is the most expensive translucency lighting method as each light's contribution is computed per-pixel.

Refraction is computed based on the camera vector entering a medium whose index of refraction is defined by the Refraction material input.
The new medium's surface is defined by the material's normal. With this mode, a flat plane seen from the side will have a constant refraction offset. This is a physical model of refraction but causes reading outside the scene color texture so is a poor fit for large refractive surfaces like water.

By default, when the root node refraction pin is unplugged, no refraction will appear. The refraction offset into Scene Color is computed based on the difference between the per-pixel normal and the per-vertex normal.
With this mode, a material whose normal is the default (0, 0, 1) will never cause any refraction. This mode is only valid with tangent space normals. The refraction material input scales the offset, although a value of 1.0 maps to no refraction, and a value of 2 maps to a scale of 1.0 on the offset. This is a non-physical model of refraction but is useful on large refractive surfaces like water, since offsets have to stay small to avoid reading outside scene color.

By default, when the root node refraction pin is unplugged, no refraction will appear. Explicit 2D screen offset. This offset is independent of screen resolution and aspect ratio. The user is in charge of any strength and fading.

Refraction is disabled.

Refraction is computed based on the camera vector entering a medium whose index of refraction is defined by the material IOR evaluated from F0. The new medium's surface is defined by the material's normal. With this mode, a flat plane seen from the side will have a constant refraction offset. This is a physical model of refraction but causes reading outside the scene color texture so is a poor fit for large refractive surfaces like water.

This is the pre-Substrate behavior: coverage is ignored and always 1. When rough refraction is disabled, this is behavior is forced ON.

This is a new behavior available with Substrate when rough refraction are enabled: account for roughness, coverage and depth. This is a more physically based behavior: the background scene will be visible untouched according to (1-coverage), while the blurred version will be visible according to coverage.

This is the legacy mode where PDO is applied differently for Depth (along View Forward) and world position (along Camera Vector).

PDO is applied along the Camera Vector for Depth and World Position altogether.

Number of unique shading models.

Shading model will be determined by the Material Expression Graph, by utilizing the 'Shading Model' MaterialAttribute output pin.

None (movement is disabled).

Walking on a surface.

Simplified walking on navigation data (e.g. navmesh). If GetGenerateOverlapEvents() is true, then we will perform sweeps with each navmesh move. If GetGenerateOverlapEvents() is false then movement is cheaper but characters can overlap other objects without some extra process to repel/resolve their collisions.

Falling under the effects of gravity, such as after jumping or walking off the edge of a surface.

Swimming through a fluid volume, under the effects of gravity and buoyancy.

Flying, ignoring the effects of gravity. Affected by the current physics volume's fluid friction.

User-defined custom movement mode, including many possible sub-modes.

Reserved for gizmo collision

Add new serializeable channels above here (i.e. entries that exist in FCollisionResponseContainer) Add only nonserialized/transient flags below

Returns both overlaps with both dynamic and static components

returns only overlaps with dynamic actors (far fewer results in practice, much more efficient)

returns only overlaps with static actors (fewer results, more efficient)

No role at all.

Locally simulated proxy of this actor.

Locally autonomous proxy of this actor.

Authoritative control over the actor.

This actor can never go network dormant.

This actor can go dormant, but is not currently dormant. Game code will tell it when it go dormant.

This actor wants to go fully dormant for all connections.

This actor may want to go dormant for some connections, GetNetDormancy() will be called to find out which.

This actor is initially dormant for all connection if it was placed in map.

Don't affect the walkable slope. Walkable slope angle will be ignored.

Increase walkable slope. Makes it easier to walk up a surface, by allowing traversal over higher-than-usual angles.

See also
FWalkableSlopeOverride::WalkableSlopeAngle

Decrease walkable slope. Makes it harder to walk up a surface, by restricting traversal to lower-than-usual angles.

See also
FWalkableSlopeOverride::WalkableSlopeAngle

Make surface unwalkable. Note: WalkableSlopeAngle will be ignored.

requires compute shader to construct 64 bin histogram

faster method that computes single value by downsampling

Uses camera settings.

Sum of Gaussian formulation

Fast Fourier Transform Image based convolution, intended for cinematics (too expensive for games)

Obsolete - kept for backwards compatibility.

No compression, no mips.

Using this TextureGroup triggers special mip map generation code only useful for the BokehDOF post process.

No compression, created on import of a .IES file.

Non-filtered, useful for 2D rendering.

Hierarchical LOD generated textures

Impostor Color Textures

Impostor Normal and Depth, use default compression

8 bit data stored in textures

16 bit data stored in textures

Project specific group, rename in Engine.ini, [EnumRemap] TEXTUREGROUP_Project**.DisplayName=My Fun Group

Default for the "texture".

2x2 average, default for the "texture group".

8x8 with sharpening: 0=no sharpening but better quality which is softer, 1=little, 5=medium, 10=extreme.

Do not touch existing mip chain as it contains generated data.

Blur further (useful for image based reflections).

Use the first texel of each 2x2 (or 2x2x2) group.

Introduce significant amount of blur using angular filtering (only applies to cubemaps, useful for ambient lighting).

CompositingTexture needs to be a normal map with the same or larger size.

Get the tiling setting from the texture's group CookPlatformTilingDisabled setting. By default it's to tile during cook, unless it has been changed in the texture group

The texture will be tiled during the cook process if the platform supports it.

The texture will not be tiled during the cook process, and will be tiled when uploaded to the GPU if the platform supports it.

Use setting from the Texture Group.

Lighting samples are computed in an adaptive grid which covers the entire Lightmass Importance Volume. Higher density grids are used near geometry. The Volumetric Lightmap is interpolated efficiently on the GPU per-pixel, allowing accurate indirect lighting for dynamic objects and volumetric fog. Positions outside of the Importance Volume reuse the border texels of the Volumetric Lightmap (clamp addressing). On mobile, interpolation is done on the CPU at the center of each object's bounds.

Volume lighting samples are placed on top of static surfaces at medium density, and everywhere else in the Lightmass Importance Volume at low density. Positions outside of the Importance Volume will have no indirect lighting. This method requires CPU interpolation so the Indirect Lighting Cache is used to interpolate results for each dynamic object, adding Rendering Thread overhead.
Volumetric Fog cannot be affected by precomputed lighting with this method.

UserSet - use the user set value. Primarily intended for weapon effects.

Emitter - use the emitter position as the source/target.

Particle - use the particles from a given emitter in the system.
The name of the emitter should be set in <Source/Target>Name.

Actor - use the actor as the source/target. The name of the actor should be set in <Source/Target>Name.

Direct - a direct line between source and target.

UserSet - use the user set value.

Distribution - use the distribution.

Emitter - use the emitter direction.

Modify the target of the beam.

Freeze the particle in place

Stop collision checks, but keep updating

Stop translations of the particle

Stop rotations of the particle

Stop all movement of the particle

Multiply the module values by the previous results

'Break' the chain and apply the values from the previous results

Lock the sprite facing towards the positive X-axis

Lock the sprite facing towards the positive Y-axis

Lock the sprite facing towards the positive Z-axis

Lock the sprite facing towards the negative X-axis

Lock the sprite facing towards the negative Y-axis

Lock the sprite facing towards the negative Z-axis

Lock the sprite rotation on the X-axis

Lock the sprite rotation on the Y-axis

Lock the sprite rotation on the Z-axis

TypeData - TypeData modules

Beam - only applied to beam emitters

Trail - only applied to trail emitters

Spawn - all emitter types REQUIRE it

Required - all emitter types REQUIRE it

Event - event related modules

Light related modules

SubUV related modules

Random - select a particle at random

Sequential - select a particle in order

FixedTime - update via a fixed time step

Don't determine occlusion on this particle system

Use the bounds of the particle system component when determining occlusion

Use the custom occlusion bounds when determining occlusion

Replay system is disabled. Particles are simulated and rendered normally.

Capture all particle data to the clip specified by ReplayClipIDNumber. The frame to capture must be specified using the ReplayFrameIndex

Replay captured particle state from the clip specified by ReplayClipIDNumber. The frame to play must be specified using the ReplayFrameIndex

Any - allow any event

Spawn - a particle spawn event

Death - a particle death event

Collision - a particle collision event

Burst - a particle burst event

Blueprint - an event generated by level script

Set absolute position of bone in world space.

Set position of bone in SkeletalMeshComponent's reference frame.

Set position of bone relative to parent bone.

Set position of bone in its own reference frame.

Don't change rotation at all.

Keep forward direction vector relative to the parent bone.

Copy rotation of target to bone.

No additive.

The material's attributes describe a deferred decal, and will be mapped onto the decal's frustum.

The material's attributes describe a light's distribution.

The material's attributes describe a 3d volume.

The material will be used in a custom post process pass.

The material will be used for UMG or Slate UI

The material will be used for runtime virtual texture (Deprecated).

Modulate BaseColor, blend rest, updating the GBuffer, does not work for baked lighting. Does not work in DBuffer mode (approximated as Translucent).

Only blend normal, updating the GBuffer, does not work for baked lighting.

Additive emissive only.

Put into DBuffer to work for baked lighting as well (becomes DBM_TranslucentNormal if normal is not hooked up).

Put into DBuffer to work for baked lighting as well.

Put into DBuffer to work for baked lighting as well (becomes DBM_DBuffer_Color if normal is not hooked up).

Put into DBuffer to work for baked lighting as well (becomes DBM_DBuffer_Roughness if normal is not hooked up).

Internal DBffer decal blend modes used for auto-converted decals

Output signed distance in Opacity depending on LightVector. Note: Can be costly, no shadow casting but receiving, no per pixel normal yet, no quality settings yet

Blend with existing scene color. Decal color is already pre-multiplied by alpha.

Ambient occlusion.

Do not receive decals (Later we still can read the DBuffer channels to customize the effect, this frees up some interpolators).

Receive Decals, applies all DBuffer channels.

Receive Decals, applies color DBuffer channels.

Receive Decals, applies color and normal DBuffer channels.

Receive Decals, applies color, roughness, specular and metallic DBuffer channels.

Receive Decals, applies normal DBuffer channels.

Receive Decals, applies normal, roughness, specular and metallic DBuffer channels.

Receive Decals, applies roughness, specular and metallic DBuffer channels.

Render before depth of field.

Render after depth of field.

Render after motion blur. Disables depth test (the reconstruction post MB and TSR would otherwise flicker due to the TSR camera jittering making the depth buffer unstable). Because of that Lumen high quality reflections is also disabled to avoid visual discrepancy at depth intersection.

Object local

Skinned local

DBuffer B (World Normal). RGB is pre-multiplied by alpha. A is one minus alpha.

DBuffer C (Roughness). R is Roughness, G is Metallic, B is Specular, all pre-multiplied by alpha. A is one minus alpha.

Buffer index UV in LayerId (batch) x Channels x Height x Wdith

High quality for direct use and bumps Non-tiled: ~61 instructions per level, 8 texture lookups Tiling: ~74 instructions per level, 8 texture lookups Even "non-tiled" mode has a repeat of 128. Useful Repeat Size range <= 128 Formerly labeled as Perlin noise

High quality for direct use, BAD for bumps; doesn't work on Mobile ~16 instructions per level, 1 texture lookup Always tiles with a repeat of 16, "Tiling" mode is not an option for Fast Gradient noise

High quality for direct use and bumps Non-tiled: ~80 instructions per level, no textures Tiling: ~143 instructions per level, no textures

Low quality, but pure computation Non-tiled: ~53 instructions per level, no textures Tiling: ~118 instructions per level, no textures Formerly mis-labeled as Gradient noise

Also known as Worley or Cellular noise Quality=1 searches 8 cells, Quality=2 searches 16 cells Quality=3 searches 27 cells, Quality=4 searches 32 cells All are about 20 instructions per cell searched

Normal (Path Tracing). Stores the denoised radiance if denoising is turned on and complete for the current frame, otherwise, black.

Albedo (Path Tracing). Average albedo at the current sample count.

Normal (Path Tracing). Average normal at the current sample count.

Variance (Path Tracing). Path tracing variance stored as standard derivation. Variance can be per channel variance or variance of luminance, albedo, and normal based on the path tracing configuration. Hooking up this buffer can increase additional cost.

Local space (relative to the rendered object, = object space)

World space, a unit is 1cm

View space (relative to the camera/eye, = camera space, differs from camera space in the shadow passes)

Camera space

Particle space, deprecated value will be removed in a future release use instance space.

Instance space (used to provide per instance transform, i.e. for Instanced Static Mesh / Particles).

Tangent space (relative to the surface)

Absolute world space

Like absolute world space, but the world origin is moved to the center of the tile the camera is in. Logically similar to fmod(CameraAbsoluteWorldPosition, TileSize) + CameraRelativeWorldPosition. This offers better precision and scalability than absolute world position. Suitable as a position input for functions that tile based on world position, e.g. frac(Position / TileSize). Works best when the tile size is a power of two.

Translated world space, i.e. world space rotation and scale but with a position relative to the camera

First person "space", which can be thought of as a transform that is applied to a position in translated world space.

View space (differs from camera space in the shadow passes)

Perlin-style noise with 3D vector/color output. RGB output range -1 to 1 R only = ~83 instructions, RGB = ~125 instructions

Gradient of Perlin noise, useful for bumps. RGB = Gradient of scalar noise (signed 3D vector) A = Base scalar noise with range -1 to 1 A only = ~83 instructions, RGBA = ~106 instructions

Curl of Perlin noise, useful for 3D flow directions. RGB = signed curl vector ~162 instructions

Also known as Worley or Cellular noise. RGB = position of closest point at center of Voronoi cell A = distance to closest point with range 0 to about 4 Quality levels 1-4 search 8, 16, 27 & 32 cells All ~20 instructions per cell searched

Horizontal and vertical field of view angles in radian

Tan(FieldOfView * 0.5)

Horizontal and vertical size of the view in pixels

Absolute world space view position (differs from the camera position in the shadow passes)

Absolute world space camera position

Horizontal and vertical position of the viewport in pixels within the buffer.

Number of temporal AA sample used across multiple to converge to anti aliased output.

Index of the Temporal AA jitter for this frame.

Offset of the temporal sample for this frame in pixel size.

Mip Level that Runtime Virtual Texture Output is rendering to.

World space derivatives for Runtime Virtual Texture Output.

Pre Exposure

Maximum mip level of Runtime Virtual Texture that Runtime Virtual Texture Output is rendering to.

Screen percentage at which the rendering resolution happens, to allow tech-art to remain consistent with dynamic resolution.

Post process volume user flags, useful for varying the behavior of a material per view

Horizontal and vertical first person field of view angles in radian

Tan(FirstPersonFieldOfView * 0.5)

Scaling factor applied to first person primitives to keep them from intersecting with the scene.

Near plane.

Absolute world position with no material shader offsets applied

Camera relative world position with all material shader offsets applied

Camera relative world position with no material shader offsets applied

Scene depth, single channel, contains the linear depth of the opaque objects

Material diffuse, RGB color (computed from GBuffer)

Material specular, RGB color (computed from GBuffer)

Material subsurface, RGB color (GBuffer, only for some ShadingModels)

Material base, RGB color (GBuffer), can be modified on read by the ShadingModel, consider StoredBasedColor

Material specular, single channel (GBuffer), can be modified on read by the ShadingModel, consider StoredSpecular

Material metallic, single channel (GBuffer)

Normal, RGB in -1..1 range, not normalized (GBuffer)

Not yet supported

Material opacity, single channel (GBuffer)

Material roughness, single channel (GBuffer)

Material ambient occlusion, single channel (GBuffer)

Scene depth, single channel, contains the linear depth of the opaque objects rendered with CustomDepth (mesh property)

Input #0 of this postprocess pass, usually the only one hooked up

Input #1 of this postprocess pass, usually not used

Input #2 of this postprocess pass, usually not used

Input #3 of this postprocess pass, usually not used

Input #4 of this postprocess pass, usually not used

Input #5 of this postprocess pass, usually not used

Input #6 of this postprocess pass, usually not used

Decal Mask, single bit (was moved to stencil for better performance, not accessible at the moment)

Shading model

Shading model ID

Ambient Occlusion, single channel

Scene stencil, contains CustomStencil mesh property of the opaque objects rendered with CustomDepth

Material base, RGB color (GBuffer)

Material specular, single channel (GBuffer)

Scene Velocity

Tangent, RGB in -1..1 range, not normalized (GBuffer)

Material anisotropy, single channel (GBuffer)

Whether the pixel is marked as belonging to an opaque first person primitive, single channel (GBuffer)

Only supported with forward shading. MSAA sample count is controlled by r.MSAACount.

Looped playback mode. Play all movies in the play list in order then start over until manually canceled

Alternate Looped mode. Play all of the movies in the play list and loop just the last movie until loading is finished.

Create both simple and complex shapes. Simple shapes are used for regular scene queries and collision tests. Complex shape (per poly) is used for complex scene queries.

Create only simple shapes. Use simple shapes for all scene queries and collision tests.

Create only complex shapes (per poly). Use complex shapes for all scene queries and collision tests. Can be used in simulation for static shapes only (i.e can be collided against but not moved through forces or velocity.)

Follow owner.

Do not follow owner, but make kinematic.

Do not follow owner, but simulate.

No constraint against this axis.

Limited freedom along this axis.

Fully constraint against this axis.

Left-align.

Center-align.

Right-align.

Fill the entire height.

Top-align.

Bottom-align.

Place the menu immediately below the anchor

Place the menu immediately centered below the anchor

Place the menu immediately below the anchor aligned to the right of the content

Place the menu immediately below the anchor and match is width to the anchor's content

Place the menu immediately below the anchor and match is width to the anchor's content. If the width overflows, align with the right edge of the anchor.

Place the menu to the right of the anchor

Place the menu immediately above the anchor, no transition effect

Place the menu immediately centered above the anchor, no transition effect

Place the menu immediately above the anchor aligned to the right of the content

Place the menu to the left of the anchor

Place the menu's center on top of the menu anchor's center point

Place the menu's vertical center on the left side at the menu anchor's vertical center on the right side

Place the menu's bottom left corner directly on top of the menu anchor's bottom left corner

Orient horizontally, i.e. left to right.

Orient vertically, i.e. top to bottom.

Scroll down.

Scroll up.

UMETA 

The modifier ignores this channel (keeps the existing bone translation, rotation, or scale).

The modifier replaces the existing translation, rotation, or scale.

The modifier adds to the existing translation, rotation, or scale.

Use the Skeleton's ref pose as base.

Use a whole animation as a base pose. BasePoseSeq must be set.

Use one frame of an animation as a base pose. BasePoseSeq and RefFrameIndex must be set (RefFrameIndex will be clamped).

Use one frame of this animation. RefFrameIndex must be set (RefFrameIndex will be clamped).

Character can step up onto this Component.

Owning actor determines whether character can step up onto this Component (default true unless overridden in code).

See also
AActor::CanBeBaseForCharacter()

Location within the HMD tracking space

Location within the view space

Quad layer

Cylinder layer

Cubemap layer

Equirect layer

Use a constant value. Represents stepped values.

Cubic interpolation. See TangentMode for different cubic interpolation options.

No interpolation.

Repeat the curve without an offset.

Repeat the curve with an offset relative to the first or last key's value.

Sinusoidally extrapolate.

Use a linearly increasing value for extrapolation.

Use a constant value for extrapolation

No Extrapolation

User specifies the tangent as a unified tangent where the two tangents are locked to each other, presenting a consistent curve before and after.

User specifies the tangent as two separate broken tangents on each side of the key which can allow a sharp change in evaluation before or after.

No tangents.

New Auto tangent that creates smoother curves than Auto.

Don't take tangent weights into account.

Only take the arrival tangent weight into account for evaluation.

Only take the leaving tangent weight into account for evaluation.

Take both the arrival and leaving tangent weights into account for evaluation.

No keys are present

All keys use constant interpolation

All keys use linear interpolation

All keys use cubic interpolation

Keys use mixed interpolation modes

Keys use weighted interpolation modes

Key time is quantized to 16 bits

Key time uses full precision

Blueprint that is const during execution (no state graph and methods cannot modify member variables).

Blueprint that serves as a container for macros to be used in other blueprints.

Blueprint that serves as an interface to be implemented by other blueprints.

Blueprint that handles level scripting.

Blueprint that serves as a container for functions to be used in other blueprints.

Add to world.

Subtract from world.

Special tick group that starts physics simulation.

Any item that can be run in parallel with our physics simulation work.

Special tick group that ends physics simulation.

Any item that needs rigid body and cloth simulation to be complete before being executed.

Any item that needs the update work to be done before being ticked.

Catchall for anything demoted to the end.

Special tick group that is not actually a tick group. After every tick group this is repeatedly re-run until there are no more newly spawned items to run.

Uses project based precision mode setting

Force full-precision for MaterialFloat only, no effect on shader codes in .ush/.usf

All the floats are full-precision

Half precision, except explict 'float' in .ush/.usf

Get the sampler from the texture. Every unique texture will consume a sampler slot, which are limited in number.

Shared sampler source that does not consume a sampler slot. Uses wrap addressing and gets filter mode from the world texture group.

Shared sampler source that does not consume a sampler slot. Uses clamp addressing and gets filter mode from the world texture group.

Shared sampler source that does not consume a sampler slot, used to sample the terrain weightmap. Gets filter mode from the terrain weightmap texture group.

Lighting will be calculated for a volume, without directionality. Use this on particle effects like smoke and dust. This is the cheapest per-pixel lighting method, however the material normal is not taken into account.

Lighting will be calculated for a volume, with directionality so that the normal of the material is taken into account. Note that the default particle tangent space is facing the camera, so enable bGenerateSphericalParticleNormals to get a more useful tangent space.

Same as Volumetric Non Directional, but lighting is only evaluated at vertices so the pixel shader cost is significantly less. Note that lighting still comes from a volume texture, so it is limited in range. Directional lights become unshadowed in the distance.

Same as Volumetric Directional, but lighting is only evaluated at vertices so the pixel shader cost is significantly less. Note that lighting still comes from a volume texture, so it is limited in range. Directional lights become unshadowed in the distance.

Lighting will be calculated for a surface. The light is accumulated in a volume so the result is blurry, limited distance but the per pixel cost is very low. Use this on translucent surfaces like glass and water. Only diffuse lighting is supported.

Lighting will be calculated for a surface. Use this on translucent surfaces like glass and water. This is implemented with forward shading so specular highlights from local lights are supported, however many deferred-only features are not. This is the most expensive translucency lighting method as each light's contribution is computed per-pixel.

Refraction is computed based on the camera vector entering a medium whose index of refraction is defined by the Refraction material input.
The new medium's surface is defined by the material's normal. With this mode, a flat plane seen from the side will have a constant refraction offset. This is a physical model of refraction but causes reading outside the scene color texture so is a poor fit for large refractive surfaces like water.

By default, when the root node refraction pin is unplugged, no refraction will appear. The refraction offset into Scene Color is computed based on the difference between the per-pixel normal and the per-vertex normal.
With this mode, a material whose normal is the default (0, 0, 1) will never cause any refraction. This mode is only valid with tangent space normals. The refraction material input scales the offset, although a value of 1.0 maps to no refraction, and a value of 2 maps to a scale of 1.0 on the offset. This is a non-physical model of refraction but is useful on large refractive surfaces like water, since offsets have to stay small to avoid reading outside scene color.

By default, when the root node refraction pin is unplugged, no refraction will appear. Explicit 2D screen offset. This offset is independent of screen resolution and aspect ratio. The user is in charge of any strength and fading.

Refraction is disabled.

Refraction is computed based on the camera vector entering a medium whose index of refraction is defined by the material IOR evaluated from F0. The new medium's surface is defined by the material's normal. With this mode, a flat plane seen from the side will have a constant refraction offset. This is a physical model of refraction but causes reading outside the scene color texture so is a poor fit for large refractive surfaces like water.

This is the pre-Substrate behavior: coverage is ignored and always 1. When rough refraction is disabled, this is behavior is forced ON.

This is a new behavior available with Substrate when rough refraction are enabled: account for roughness, coverage and depth. This is a more physically based behavior: the background scene will be visible untouched according to (1-coverage), while the blurred version will be visible according to coverage.

This is the legacy mode where PDO is applied differently for Depth (along View Forward) and world position (along Camera Vector).

PDO is applied along the Camera Vector for Depth and World Position altogether.

Number of unique shading models.

Shading model will be determined by the Material Expression Graph, by utilizing the 'Shading Model' MaterialAttribute output pin.

None (movement is disabled).

Walking on a surface.

Simplified walking on navigation data (e.g. navmesh). If GetGenerateOverlapEvents() is true, then we will perform sweeps with each navmesh move. If GetGenerateOverlapEvents() is false then movement is cheaper but characters can overlap other objects without some extra process to repel/resolve their collisions.

Falling under the effects of gravity, such as after jumping or walking off the edge of a surface.

Swimming through a fluid volume, under the effects of gravity and buoyancy.

Flying, ignoring the effects of gravity. Affected by the current physics volume's fluid friction.

User-defined custom movement mode, including many possible sub-modes.

Reserved for gizmo collision

Add new serializeable channels above here (i.e. entries that exist in FCollisionResponseContainer) Add only nonserialized/transient flags below

Returns both overlaps with both dynamic and static components

returns only overlaps with dynamic actors (far fewer results in practice, much more efficient)

returns only overlaps with static actors (fewer results, more efficient)

No role at all.

Locally simulated proxy of this actor.

Locally autonomous proxy of this actor.

Authoritative control over the actor.

This actor can never go network dormant.

This actor can go dormant, but is not currently dormant. Game code will tell it when it go dormant.

This actor wants to go fully dormant for all connections.

This actor may want to go dormant for some connections, GetNetDormancy() will be called to find out which.

This actor is initially dormant for all connection if it was placed in map.

Don't affect the walkable slope. Walkable slope angle will be ignored.

Increase walkable slope. Makes it easier to walk up a surface, by allowing traversal over higher-than-usual angles.

See also
FWalkableSlopeOverride::WalkableSlopeAngle

Decrease walkable slope. Makes it harder to walk up a surface, by restricting traversal to lower-than-usual angles.

See also
FWalkableSlopeOverride::WalkableSlopeAngle

Make surface unwalkable. Note: WalkableSlopeAngle will be ignored.

requires compute shader to construct 64 bin histogram

faster method that computes single value by downsampling

Uses camera settings.

Sum of Gaussian formulation

Fast Fourier Transform Image based convolution, intended for cinematics (too expensive for games)

Obsolete - kept for backwards compatibility.

No compression, no mips.

Using this TextureGroup triggers special mip map generation code only useful for the BokehDOF post process.

No compression, created on import of a .IES file.

Non-filtered, useful for 2D rendering.

Hierarchical LOD generated textures

Impostor Color Textures

Impostor Normal and Depth, use default compression

8 bit data stored in textures

16 bit data stored in textures

Project specific group, rename in Engine.ini, [EnumRemap] TEXTUREGROUP_Project**.DisplayName=My Fun Group

Default for the "texture".

2x2 average, default for the "texture group".

8x8 with sharpening: 0=no sharpening but better quality which is softer, 1=little, 5=medium, 10=extreme.

Do not touch existing mip chain as it contains generated data.

Blur further (useful for image based reflections).

Use the first texel of each 2x2 (or 2x2x2) group.

Introduce significant amount of blur using angular filtering (only applies to cubemaps, useful for ambient lighting).

CompositingTexture needs to be a normal map with the same or larger size.

Get the tiling setting from the texture's group CookPlatformTilingDisabled setting. By default it's to tile during cook, unless it has been changed in the texture group

The texture will be tiled during the cook process if the platform supports it.

The texture will not be tiled during the cook process, and will be tiled when uploaded to the GPU if the platform supports it.

Use setting from the Texture Group.

Lighting samples are computed in an adaptive grid which covers the entire Lightmass Importance Volume. Higher density grids are used near geometry. The Volumetric Lightmap is interpolated efficiently on the GPU per-pixel, allowing accurate indirect lighting for dynamic objects and volumetric fog. Positions outside of the Importance Volume reuse the border texels of the Volumetric Lightmap (clamp addressing). On mobile, interpolation is done on the CPU at the center of each object's bounds.

Volume lighting samples are placed on top of static surfaces at medium density, and everywhere else in the Lightmass Importance Volume at low density. Positions outside of the Importance Volume will have no indirect lighting. This method requires CPU interpolation so the Indirect Lighting Cache is used to interpolate results for each dynamic object, adding Rendering Thread overhead.
Volumetric Fog cannot be affected by precomputed lighting with this method.

UserSet - use the user set value. Primarily intended for weapon effects.

Emitter - use the emitter position as the source/target.

Particle - use the particles from a given emitter in the system.
The name of the emitter should be set in <Source/Target>Name.

Actor - use the actor as the source/target. The name of the actor should be set in <Source/Target>Name.

Direct - a direct line between source and target.

UserSet - use the user set value.

Distribution - use the distribution.

Emitter - use the emitter direction.

Modify the target of the beam.

Freeze the particle in place

Stop collision checks, but keep updating

Stop translations of the particle

Stop rotations of the particle

Stop all movement of the particle

Multiply the module values by the previous results

'Break' the chain and apply the values from the previous results

Lock the sprite facing towards the positive X-axis

Lock the sprite facing towards the positive Y-axis

Lock the sprite facing towards the positive Z-axis

Lock the sprite facing towards the negative X-axis

Lock the sprite facing towards the negative Y-axis

Lock the sprite facing towards the negative Z-axis

Lock the sprite rotation on the X-axis

Lock the sprite rotation on the Y-axis

Lock the sprite rotation on the Z-axis

TypeData - TypeData modules

Beam - only applied to beam emitters

Trail - only applied to trail emitters

Spawn - all emitter types REQUIRE it

Required - all emitter types REQUIRE it

Event - event related modules

Light related modules

SubUV related modules

Random - select a particle at random

Sequential - select a particle in order

FixedTime - update via a fixed time step

Don't determine occlusion on this particle system

Use the bounds of the particle system component when determining occlusion

Use the custom occlusion bounds when determining occlusion

Replay system is disabled. Particles are simulated and rendered normally.

Capture all particle data to the clip specified by ReplayClipIDNumber. The frame to capture must be specified using the ReplayFrameIndex

Replay captured particle state from the clip specified by ReplayClipIDNumber. The frame to play must be specified using the ReplayFrameIndex

Any - allow any event

Spawn - a particle spawn event

Death - a particle death event

Collision - a particle collision event

Burst - a particle burst event

Blueprint - an event generated by level script

Set absolute position of bone in world space.

Set position of bone in SkeletalMeshComponent's reference frame.

Set position of bone relative to parent bone.

Set position of bone in its own reference frame.

Don't change rotation at all.

Keep forward direction vector relative to the parent bone.

Copy rotation of target to bone.

No additive.

The material's attributes describe a deferred decal, and will be mapped onto the decal's frustum.

The material's attributes describe a light's distribution.

The material's attributes describe a 3d volume.

The material will be used in a custom post process pass.

The material will be used for UMG or Slate UI

The material will be used for runtime virtual texture (Deprecated).

Modulate BaseColor, blend rest, updating the GBuffer, does not work for baked lighting. Does not work in DBuffer mode (approximated as Translucent).

Only blend normal, updating the GBuffer, does not work for baked lighting.

Additive emissive only.

Put into DBuffer to work for baked lighting as well (becomes DBM_TranslucentNormal if normal is not hooked up).

Put into DBuffer to work for baked lighting as well.

Put into DBuffer to work for baked lighting as well (becomes DBM_DBuffer_Color if normal is not hooked up).

Put into DBuffer to work for baked lighting as well (becomes DBM_DBuffer_Roughness if normal is not hooked up).

Internal DBffer decal blend modes used for auto-converted decals

Output signed distance in Opacity depending on LightVector. Note: Can be costly, no shadow casting but receiving, no per pixel normal yet, no quality settings yet

Blend with existing scene color. Decal color is already pre-multiplied by alpha.

Ambient occlusion.

Do not receive decals (Later we still can read the DBuffer channels to customize the effect, this frees up some interpolators).

Receive Decals, applies all DBuffer channels.

Receive Decals, applies color DBuffer channels.

Receive Decals, applies color and normal DBuffer channels.

Receive Decals, applies color, roughness, specular and metallic DBuffer channels.

Receive Decals, applies normal DBuffer channels.

Receive Decals, applies normal, roughness, specular and metallic DBuffer channels.

Receive Decals, applies roughness, specular and metallic DBuffer channels.

Render before depth of field.

Render after depth of field.

Render after motion blur. Disables depth test (the reconstruction post MB and TSR would otherwise flicker due to the TSR camera jittering making the depth buffer unstable). Because of that Lumen high quality reflections is also disabled to avoid visual discrepancy at depth intersection.

Object local

Skinned local

DBuffer B (World Normal). RGB is pre-multiplied by alpha. A is one minus alpha.

DBuffer C (Roughness). R is Roughness, G is Metallic, B is Specular, all pre-multiplied by alpha. A is one minus alpha.

Buffer index UV in LayerId (batch) x Channels x Height x Wdith

High quality for direct use and bumps Non-tiled: ~61 instructions per level, 8 texture lookups Tiling: ~74 instructions per level, 8 texture lookups Even "non-tiled" mode has a repeat of 128. Useful Repeat Size range <= 128 Formerly labeled as Perlin noise

High quality for direct use, BAD for bumps; doesn't work on Mobile ~16 instructions per level, 1 texture lookup Always tiles with a repeat of 16, "Tiling" mode is not an option for Fast Gradient noise

High quality for direct use and bumps Non-tiled: ~80 instructions per level, no textures Tiling: ~143 instructions per level, no textures

Low quality, but pure computation Non-tiled: ~53 instructions per level, no textures Tiling: ~118 instructions per level, no textures Formerly mis-labeled as Gradient noise

Also known as Worley or Cellular noise Quality=1 searches 8 cells, Quality=2 searches 16 cells Quality=3 searches 27 cells, Quality=4 searches 32 cells All are about 20 instructions per cell searched

Normal (Path Tracing). Stores the denoised radiance if denoising is turned on and complete for the current frame, otherwise, black.

Albedo (Path Tracing). Average albedo at the current sample count.

Normal (Path Tracing). Average normal at the current sample count.

Variance (Path Tracing). Path tracing variance stored as standard derivation. Variance can be per channel variance or variance of luminance, albedo, and normal based on the path tracing configuration. Hooking up this buffer can increase additional cost.

Local space (relative to the rendered object, = object space)

World space, a unit is 1cm

View space (relative to the camera/eye, = camera space, differs from camera space in the shadow passes)

Camera space

Particle space, deprecated value will be removed in a future release use instance space.

Instance space (used to provide per instance transform, i.e. for Instanced Static Mesh / Particles).

Tangent space (relative to the surface)

Absolute world space

Like absolute world space, but the world origin is moved to the center of the tile the camera is in. Logically similar to fmod(CameraAbsoluteWorldPosition, TileSize) + CameraRelativeWorldPosition. This offers better precision and scalability than absolute world position. Suitable as a position input for functions that tile based on world position, e.g. frac(Position / TileSize). Works best when the tile size is a power of two.

Translated world space, i.e. world space rotation and scale but with a position relative to the camera

First person "space", which can be thought of as a transform that is applied to a position in translated world space.

View space (differs from camera space in the shadow passes)

Perlin-style noise with 3D vector/color output. RGB output range -1 to 1 R only = ~83 instructions, RGB = ~125 instructions

Gradient of Perlin noise, useful for bumps. RGB = Gradient of scalar noise (signed 3D vector) A = Base scalar noise with range -1 to 1 A only = ~83 instructions, RGBA = ~106 instructions

Curl of Perlin noise, useful for 3D flow directions. RGB = signed curl vector ~162 instructions

Also known as Worley or Cellular noise. RGB = position of closest point at center of Voronoi cell A = distance to closest point with range 0 to about 4 Quality levels 1-4 search 8, 16, 27 & 32 cells All ~20 instructions per cell searched

Horizontal and vertical field of view angles in radian

Tan(FieldOfView * 0.5)

Horizontal and vertical size of the view in pixels

Absolute world space view position (differs from the camera position in the shadow passes)

Absolute world space camera position

Horizontal and vertical position of the viewport in pixels within the buffer.

Number of temporal AA sample used across multiple to converge to anti aliased output.

Index of the Temporal AA jitter for this frame.

Offset of the temporal sample for this frame in pixel size.

Mip Level that Runtime Virtual Texture Output is rendering to.

World space derivatives for Runtime Virtual Texture Output.

Pre Exposure

Maximum mip level of Runtime Virtual Texture that Runtime Virtual Texture Output is rendering to.

Screen percentage at which the rendering resolution happens, to allow tech-art to remain consistent with dynamic resolution.

Post process volume user flags, useful for varying the behavior of a material per view

Horizontal and vertical first person field of view angles in radian

Tan(FirstPersonFieldOfView * 0.5)

Scaling factor applied to first person primitives to keep them from intersecting with the scene.

Near plane.

Absolute world position with no material shader offsets applied

Camera relative world position with all material shader offsets applied

Camera relative world position with no material shader offsets applied

Scene depth, single channel, contains the linear depth of the opaque objects

Material diffuse, RGB color (computed from GBuffer)

Material specular, RGB color (computed from GBuffer)

Material subsurface, RGB color (GBuffer, only for some ShadingModels)

Material base, RGB color (GBuffer), can be modified on read by the ShadingModel, consider StoredBasedColor

Material specular, single channel (GBuffer), can be modified on read by the ShadingModel, consider StoredSpecular

Material metallic, single channel (GBuffer)

Normal, RGB in -1..1 range, not normalized (GBuffer)

Not yet supported

Material opacity, single channel (GBuffer)

Material roughness, single channel (GBuffer)

Material ambient occlusion, single channel (GBuffer)

Scene depth, single channel, contains the linear depth of the opaque objects rendered with CustomDepth (mesh property)

Input #0 of this postprocess pass, usually the only one hooked up

Input #1 of this postprocess pass, usually not used

Input #2 of this postprocess pass, usually not used

Input #3 of this postprocess pass, usually not used

Input #4 of this postprocess pass, usually not used

Input #5 of this postprocess pass, usually not used

Input #6 of this postprocess pass, usually not used

Decal Mask, single bit (was moved to stencil for better performance, not accessible at the moment)

Shading model

Shading model ID

Ambient Occlusion, single channel

Scene stencil, contains CustomStencil mesh property of the opaque objects rendered with CustomDepth

Material base, RGB color (GBuffer)

Material specular, single channel (GBuffer)

Scene Velocity

Tangent, RGB in -1..1 range, not normalized (GBuffer)

Material anisotropy, single channel (GBuffer)

Whether the pixel is marked as belonging to an opaque first person primitive, single channel (GBuffer)

Only supported with forward shading. MSAA sample count is controlled by r.MSAACount.

Looped playback mode. Play all movies in the play list in order then start over until manually canceled

Alternate Looped mode. Play all of the movies in the play list and loop just the last movie until loading is finished.

Create both simple and complex shapes. Simple shapes are used for regular scene queries and collision tests. Complex shape (per poly) is used for complex scene queries.

Create only simple shapes. Use simple shapes for all scene queries and collision tests.

Create only complex shapes (per poly). Use complex shapes for all scene queries and collision tests. Can be used in simulation for static shapes only (i.e can be collided against but not moved through forces or velocity.)

Follow owner.

Do not follow owner, but make kinematic.

Do not follow owner, but simulate.

No constraint against this axis.

Limited freedom along this axis.

Fully constraint against this axis.

Left-align.

Center-align.

Right-align.

Fill the entire height.

Top-align.

Bottom-align.

Place the menu immediately below the anchor

Place the menu immediately centered below the anchor

Place the menu immediately below the anchor aligned to the right of the content

Place the menu immediately below the anchor and match is width to the anchor's content

Place the menu immediately below the anchor and match is width to the anchor's content. If the width overflows, align with the right edge of the anchor.

Place the menu to the right of the anchor

Place the menu immediately above the anchor, no transition effect

Place the menu immediately centered above the anchor, no transition effect

Place the menu immediately above the anchor aligned to the right of the content

Place the menu to the left of the anchor

Place the menu's center on top of the menu anchor's center point

Place the menu's vertical center on the left side at the menu anchor's vertical center on the right side

Place the menu's bottom left corner directly on top of the menu anchor's bottom left corner

Orient horizontally, i.e. left to right.

Orient vertically, i.e. top to bottom.

Scroll down.

Scroll up.

UMETA 

The modifier ignores this channel (keeps the existing bone translation, rotation, or scale).

The modifier replaces the existing translation, rotation, or scale.

The modifier adds to the existing translation, rotation, or scale.

Use the Skeleton's ref pose as base.

Use a whole animation as a base pose. BasePoseSeq must be set.

Use one frame of an animation as a base pose. BasePoseSeq and RefFrameIndex must be set (RefFrameIndex will be clamped).

Use one frame of this animation. RefFrameIndex must be set (RefFrameIndex will be clamped).

Character can step up onto this Component.

Owning actor determines whether character can step up onto this Component (default true unless overridden in code).

See also
AActor::CanBeBaseForCharacter()

Location within the HMD tracking space

Location within the view space

Quad layer

Cylinder layer

Cubemap layer

Equirect layer

Use a constant value. Represents stepped values.

Cubic interpolation. See TangentMode for different cubic interpolation options.

No interpolation.

Repeat the curve without an offset.

Repeat the curve with an offset relative to the first or last key's value.

Sinusoidally extrapolate.

Use a linearly increasing value for extrapolation.

Use a constant value for extrapolation

No Extrapolation

User specifies the tangent as a unified tangent where the two tangents are locked to each other, presenting a consistent curve before and after.

User specifies the tangent as two separate broken tangents on each side of the key which can allow a sharp change in evaluation before or after.

No tangents.

New Auto tangent that creates smoother curves than Auto.

Don't take tangent weights into account.

Only take the arrival tangent weight into account for evaluation.

Only take the leaving tangent weight into account for evaluation.

Take both the arrival and leaving tangent weights into account for evaluation.

No keys are present

All keys use constant interpolation

All keys use linear interpolation

All keys use cubic interpolation

Keys use mixed interpolation modes

Keys use weighted interpolation modes

Key time is quantized to 16 bits

Key time uses full precision

Blueprint that is const during execution (no state graph and methods cannot modify member variables).

Blueprint that serves as a container for macros to be used in other blueprints.

Blueprint that serves as an interface to be implemented by other blueprints.

Blueprint that handles level scripting.

Blueprint that serves as a container for functions to be used in other blueprints.

Add to world.

Subtract from world.

Special tick group that starts physics simulation.

Any item that can be run in parallel with our physics simulation work.

Special tick group that ends physics simulation.

Any item that needs rigid body and cloth simulation to be complete before being executed.

Any item that needs the update work to be done before being ticked.

Catchall for anything demoted to the end.

Special tick group that is not actually a tick group. After every tick group this is repeatedly re-run until there are no more newly spawned items to run.

Uses project based precision mode setting

Force full-precision for MaterialFloat only, no effect on shader codes in .ush/.usf

All the floats are full-precision

Half precision, except explict 'float' in .ush/.usf

Get the sampler from the texture. Every unique texture will consume a sampler slot, which are limited in number.

Shared sampler source that does not consume a sampler slot. Uses wrap addressing and gets filter mode from the world texture group.

Shared sampler source that does not consume a sampler slot. Uses clamp addressing and gets filter mode from the world texture group.

Shared sampler source that does not consume a sampler slot, used to sample the terrain weightmap. Gets filter mode from the terrain weightmap texture group.

Lighting will be calculated for a volume, without directionality. Use this on particle effects like smoke and dust. This is the cheapest per-pixel lighting method, however the material normal is not taken into account.

Lighting will be calculated for a volume, with directionality so that the normal of the material is taken into account. Note that the default particle tangent space is facing the camera, so enable bGenerateSphericalParticleNormals to get a more useful tangent space.

Same as Volumetric Non Directional, but lighting is only evaluated at vertices so the pixel shader cost is significantly less. Note that lighting still comes from a volume texture, so it is limited in range. Directional lights become unshadowed in the distance.

Same as Volumetric Directional, but lighting is only evaluated at vertices so the pixel shader cost is significantly less. Note that lighting still comes from a volume texture, so it is limited in range. Directional lights become unshadowed in the distance.

Lighting will be calculated for a surface. The light is accumulated in a volume so the result is blurry, limited distance but the per pixel cost is very low. Use this on translucent surfaces like glass and water. Only diffuse lighting is supported.

Lighting will be calculated for a surface. Use this on translucent surfaces like glass and water. This is implemented with forward shading so specular highlights from local lights are supported, however many deferred-only features are not. This is the most expensive translucency lighting method as each light's contribution is computed per-pixel.

Refraction is computed based on the camera vector entering a medium whose index of refraction is defined by the Refraction material input.
The new medium's surface is defined by the material's normal. With this mode, a flat plane seen from the side will have a constant refraction offset. This is a physical model of refraction but causes reading outside the scene color texture so is a poor fit for large refractive surfaces like water.

By default, when the root node refraction pin is unplugged, no refraction will appear. The refraction offset into Scene Color is computed based on the difference between the per-pixel normal and the per-vertex normal.
With this mode, a material whose normal is the default (0, 0, 1) will never cause any refraction. This mode is only valid with tangent space normals. The refraction material input scales the offset, although a value of 1.0 maps to no refraction, and a value of 2 maps to a scale of 1.0 on the offset. This is a non-physical model of refraction but is useful on large refractive surfaces like water, since offsets have to stay small to avoid reading outside scene color.

By default, when the root node refraction pin is unplugged, no refraction will appear. Explicit 2D screen offset. This offset is independent of screen resolution and aspect ratio. The user is in charge of any strength and fading.

Refraction is disabled.

Refraction is computed based on the camera vector entering a medium whose index of refraction is defined by the material IOR evaluated from F0. The new medium's surface is defined by the material's normal. With this mode, a flat plane seen from the side will have a constant refraction offset. This is a physical model of refraction but causes reading outside the scene color texture so is a poor fit for large refractive surfaces like water.

This is the pre-Substrate behavior: coverage is ignored and always 1. When rough refraction is disabled, this is behavior is forced ON.

This is a new behavior available with Substrate when rough refraction are enabled: account for roughness, coverage and depth. This is a more physically based behavior: the background scene will be visible untouched according to (1-coverage), while the blurred version will be visible according to coverage.

This is the legacy mode where PDO is applied differently for Depth (along View Forward) and world position (along Camera Vector).

PDO is applied along the Camera Vector for Depth and World Position altogether.

Number of unique shading models.

Shading model will be determined by the Material Expression Graph, by utilizing the 'Shading Model' MaterialAttribute output pin.

None (movement is disabled).

Walking on a surface.

Simplified walking on navigation data (e.g. navmesh). If GetGenerateOverlapEvents() is true, then we will perform sweeps with each navmesh move. If GetGenerateOverlapEvents() is false then movement is cheaper but characters can overlap other objects without some extra process to repel/resolve their collisions.

Falling under the effects of gravity, such as after jumping or walking off the edge of a surface.

Swimming through a fluid volume, under the effects of gravity and buoyancy.

Flying, ignoring the effects of gravity. Affected by the current physics volume's fluid friction.

User-defined custom movement mode, including many possible sub-modes.

Reserved for gizmo collision

Add new serializeable channels above here (i.e. entries that exist in FCollisionResponseContainer) Add only nonserialized/transient flags below

Returns both overlaps with both dynamic and static components

returns only overlaps with dynamic actors (far fewer results in practice, much more efficient)

returns only overlaps with static actors (fewer results, more efficient)

No role at all.

Locally simulated proxy of this actor.

Locally autonomous proxy of this actor.

Authoritative control over the actor.

This actor can never go network dormant.

This actor can go dormant, but is not currently dormant. Game code will tell it when it go dormant.

This actor wants to go fully dormant for all connections.

This actor may want to go dormant for some connections, GetNetDormancy() will be called to find out which.

This actor is initially dormant for all connection if it was placed in map.

Don't affect the walkable slope. Walkable slope angle will be ignored.

Increase walkable slope. Makes it easier to walk up a surface, by allowing traversal over higher-than-usual angles.

See also
FWalkableSlopeOverride::WalkableSlopeAngle

Decrease walkable slope. Makes it harder to walk up a surface, by restricting traversal to lower-than-usual angles.

See also
FWalkableSlopeOverride::WalkableSlopeAngle

Make surface unwalkable. Note: WalkableSlopeAngle will be ignored.

requires compute shader to construct 64 bin histogram

faster method that computes single value by downsampling

Uses camera settings.

Sum of Gaussian formulation

Fast Fourier Transform Image based convolution, intended for cinematics (too expensive for games)

Obsolete - kept for backwards compatibility.

No compression, no mips.

Using this TextureGroup triggers special mip map generation code only useful for the BokehDOF post process.

No compression, created on import of a .IES file.

Non-filtered, useful for 2D rendering.

Hierarchical LOD generated textures

Impostor Color Textures

Impostor Normal and Depth, use default compression

8 bit data stored in textures

16 bit data stored in textures

Project specific group, rename in Engine.ini, [EnumRemap] TEXTUREGROUP_Project**.DisplayName=My Fun Group

Default for the "texture".

2x2 average, default for the "texture group".

8x8 with sharpening: 0=no sharpening but better quality which is softer, 1=little, 5=medium, 10=extreme.

Do not touch existing mip chain as it contains generated data.

Blur further (useful for image based reflections).

Use the first texel of each 2x2 (or 2x2x2) group.

Introduce significant amount of blur using angular filtering (only applies to cubemaps, useful for ambient lighting).

CompositingTexture needs to be a normal map with the same or larger size.

Get the tiling setting from the texture's group CookPlatformTilingDisabled setting. By default it's to tile during cook, unless it has been changed in the texture group

The texture will be tiled during the cook process if the platform supports it.

The texture will not be tiled during the cook process, and will be tiled when uploaded to the GPU if the platform supports it.

Use setting from the Texture Group.

Lighting samples are computed in an adaptive grid which covers the entire Lightmass Importance Volume. Higher density grids are used near geometry. The Volumetric Lightmap is interpolated efficiently on the GPU per-pixel, allowing accurate indirect lighting for dynamic objects and volumetric fog. Positions outside of the Importance Volume reuse the border texels of the Volumetric Lightmap (clamp addressing). On mobile, interpolation is done on the CPU at the center of each object's bounds.

Volume lighting samples are placed on top of static surfaces at medium density, and everywhere else in the Lightmass Importance Volume at low density. Positions outside of the Importance Volume will have no indirect lighting. This method requires CPU interpolation so the Indirect Lighting Cache is used to interpolate results for each dynamic object, adding Rendering Thread overhead.
Volumetric Fog cannot be affected by precomputed lighting with this method.

UserSet - use the user set value. Primarily intended for weapon effects.

Emitter - use the emitter position as the source/target.

Particle - use the particles from a given emitter in the system.
The name of the emitter should be set in <Source/Target>Name.

Actor - use the actor as the source/target. The name of the actor should be set in <Source/Target>Name.

Direct - a direct line between source and target.

UserSet - use the user set value.

Distribution - use the distribution.

Emitter - use the emitter direction.

Modify the target of the beam.

Freeze the particle in place

Stop collision checks, but keep updating

Stop translations of the particle

Stop rotations of the particle

Stop all movement of the particle

Multiply the module values by the previous results

'Break' the chain and apply the values from the previous results

Lock the sprite facing towards the positive X-axis

Lock the sprite facing towards the positive Y-axis

Lock the sprite facing towards the positive Z-axis

Lock the sprite facing towards the negative X-axis

Lock the sprite facing towards the negative Y-axis

Lock the sprite facing towards the negative Z-axis

Lock the sprite rotation on the X-axis

Lock the sprite rotation on the Y-axis

Lock the sprite rotation on the Z-axis

TypeData - TypeData modules

Beam - only applied to beam emitters

Trail - only applied to trail emitters

Spawn - all emitter types REQUIRE it

Required - all emitter types REQUIRE it

Event - event related modules

Light related modules

SubUV related modules

Random - select a particle at random

Sequential - select a particle in order

FixedTime - update via a fixed time step

Don't determine occlusion on this particle system

Use the bounds of the particle system component when determining occlusion

Use the custom occlusion bounds when determining occlusion

Replay system is disabled. Particles are simulated and rendered normally.

Capture all particle data to the clip specified by ReplayClipIDNumber. The frame to capture must be specified using the ReplayFrameIndex

Replay captured particle state from the clip specified by ReplayClipIDNumber. The frame to play must be specified using the ReplayFrameIndex

Any - allow any event

Spawn - a particle spawn event

Death - a particle death event

Collision - a particle collision event

Burst - a particle burst event

Blueprint - an event generated by level script

Set absolute position of bone in world space.

Set position of bone in SkeletalMeshComponent's reference frame.

Set position of bone relative to parent bone.

Set position of bone in its own reference frame.

Don't change rotation at all.

Keep forward direction vector relative to the parent bone.

Copy rotation of target to bone.

No additive.

The material's attributes describe a deferred decal, and will be mapped onto the decal's frustum.

The material's attributes describe a light's distribution.

The material's attributes describe a 3d volume.

The material will be used in a custom post process pass.

The material will be used for UMG or Slate UI

The material will be used for runtime virtual texture (Deprecated).

Modulate BaseColor, blend rest, updating the GBuffer, does not work for baked lighting. Does not work in DBuffer mode (approximated as Translucent).

Only blend normal, updating the GBuffer, does not work for baked lighting.

Additive emissive only.

Put into DBuffer to work for baked lighting as well (becomes DBM_TranslucentNormal if normal is not hooked up).

Put into DBuffer to work for baked lighting as well.

Put into DBuffer to work for baked lighting as well (becomes DBM_DBuffer_Color if normal is not hooked up).

Put into DBuffer to work for baked lighting as well (becomes DBM_DBuffer_Roughness if normal is not hooked up).

Internal DBffer decal blend modes used for auto-converted decals

Output signed distance in Opacity depending on LightVector. Note: Can be costly, no shadow casting but receiving, no per pixel normal yet, no quality settings yet

Blend with existing scene color. Decal color is already pre-multiplied by alpha.

Ambient occlusion.

Do not receive decals (Later we still can read the DBuffer channels to customize the effect, this frees up some interpolators).

Receive Decals, applies all DBuffer channels.

Receive Decals, applies color DBuffer channels.

Receive Decals, applies color and normal DBuffer channels.

Receive Decals, applies color, roughness, specular and metallic DBuffer channels.

Receive Decals, applies normal DBuffer channels.

Receive Decals, applies normal, roughness, specular and metallic DBuffer channels.

Receive Decals, applies roughness, specular and metallic DBuffer channels.

Render before depth of field.

Render after depth of field.

Render after motion blur. Disables depth test (the reconstruction post MB and TSR would otherwise flicker due to the TSR camera jittering making the depth buffer unstable). Because of that Lumen high quality reflections is also disabled to avoid visual discrepancy at depth intersection.

Object local

Skinned local

DBuffer B (World Normal). RGB is pre-multiplied by alpha. A is one minus alpha.

DBuffer C (Roughness). R is Roughness, G is Metallic, B is Specular, all pre-multiplied by alpha. A is one minus alpha.

Buffer index UV in LayerId (batch) x Channels x Height x Wdith

High quality for direct use and bumps Non-tiled: ~61 instructions per level, 8 texture lookups Tiling: ~74 instructions per level, 8 texture lookups Even "non-tiled" mode has a repeat of 128. Useful Repeat Size range <= 128 Formerly labeled as Perlin noise

High quality for direct use, BAD for bumps; doesn't work on Mobile ~16 instructions per level, 1 texture lookup Always tiles with a repeat of 16, "Tiling" mode is not an option for Fast Gradient noise

High quality for direct use and bumps Non-tiled: ~80 instructions per level, no textures Tiling: ~143 instructions per level, no textures

Low quality, but pure computation Non-tiled: ~53 instructions per level, no textures Tiling: ~118 instructions per level, no textures Formerly mis-labeled as Gradient noise

Also known as Worley or Cellular noise Quality=1 searches 8 cells, Quality=2 searches 16 cells Quality=3 searches 27 cells, Quality=4 searches 32 cells All are about 20 instructions per cell searched

Normal (Path Tracing). Stores the denoised radiance if denoising is turned on and complete for the current frame, otherwise, black.

Albedo (Path Tracing). Average albedo at the current sample count.

Normal (Path Tracing). Average normal at the current sample count.

Variance (Path Tracing). Path tracing variance stored as standard derivation. Variance can be per channel variance or variance of luminance, albedo, and normal based on the path tracing configuration. Hooking up this buffer can increase additional cost.

Local space (relative to the rendered object, = object space)

World space, a unit is 1cm

View space (relative to the camera/eye, = camera space, differs from camera space in the shadow passes)

Camera space

Particle space, deprecated value will be removed in a future release use instance space.

Instance space (used to provide per instance transform, i.e. for Instanced Static Mesh / Particles).

Tangent space (relative to the surface)

Absolute world space

Like absolute world space, but the world origin is moved to the center of the tile the camera is in. Logically similar to fmod(CameraAbsoluteWorldPosition, TileSize) + CameraRelativeWorldPosition. This offers better precision and scalability than absolute world position. Suitable as a position input for functions that tile based on world position, e.g. frac(Position / TileSize). Works best when the tile size is a power of two.

Translated world space, i.e. world space rotation and scale but with a position relative to the camera

First person "space", which can be thought of as a transform that is applied to a position in translated world space.

View space (differs from camera space in the shadow passes)

Perlin-style noise with 3D vector/color output. RGB output range -1 to 1 R only = ~83 instructions, RGB = ~125 instructions

Gradient of Perlin noise, useful for bumps. RGB = Gradient of scalar noise (signed 3D vector) A = Base scalar noise with range -1 to 1 A only = ~83 instructions, RGBA = ~106 instructions

Curl of Perlin noise, useful for 3D flow directions. RGB = signed curl vector ~162 instructions

Also known as Worley or Cellular noise. RGB = position of closest point at center of Voronoi cell A = distance to closest point with range 0 to about 4 Quality levels 1-4 search 8, 16, 27 & 32 cells All ~20 instructions per cell searched

Horizontal and vertical field of view angles in radian

Tan(FieldOfView * 0.5)

Horizontal and vertical size of the view in pixels

Absolute world space view position (differs from the camera position in the shadow passes)

Absolute world space camera position

Horizontal and vertical position of the viewport in pixels within the buffer.

Number of temporal AA sample used across multiple to converge to anti aliased output.

Index of the Temporal AA jitter for this frame.

Offset of the temporal sample for this frame in pixel size.

Mip Level that Runtime Virtual Texture Output is rendering to.

World space derivatives for Runtime Virtual Texture Output.

Pre Exposure

Maximum mip level of Runtime Virtual Texture that Runtime Virtual Texture Output is rendering to.

Screen percentage at which the rendering resolution happens, to allow tech-art to remain consistent with dynamic resolution.

Post process volume user flags, useful for varying the behavior of a material per view

Horizontal and vertical first person field of view angles in radian

Tan(FirstPersonFieldOfView * 0.5)

Scaling factor applied to first person primitives to keep them from intersecting with the scene.

Near plane.

Absolute world position with no material shader offsets applied

Camera relative world position with all material shader offsets applied

Camera relative world position with no material shader offsets applied

Scene depth, single channel, contains the linear depth of the opaque objects

Material diffuse, RGB color (computed from GBuffer)

Material specular, RGB color (computed from GBuffer)

Material subsurface, RGB color (GBuffer, only for some ShadingModels)

Material base, RGB color (GBuffer), can be modified on read by the ShadingModel, consider StoredBasedColor

Material specular, single channel (GBuffer), can be modified on read by the ShadingModel, consider StoredSpecular

Material metallic, single channel (GBuffer)

Normal, RGB in -1..1 range, not normalized (GBuffer)

Not yet supported

Material opacity, single channel (GBuffer)

Material roughness, single channel (GBuffer)

Material ambient occlusion, single channel (GBuffer)

Scene depth, single channel, contains the linear depth of the opaque objects rendered with CustomDepth (mesh property)

Input #0 of this postprocess pass, usually the only one hooked up

Input #1 of this postprocess pass, usually not used

Input #2 of this postprocess pass, usually not used

Input #3 of this postprocess pass, usually not used

Input #4 of this postprocess pass, usually not used

Input #5 of this postprocess pass, usually not used

Input #6 of this postprocess pass, usually not used

Decal Mask, single bit (was moved to stencil for better performance, not accessible at the moment)

Shading model

Shading model ID

Ambient Occlusion, single channel

Scene stencil, contains CustomStencil mesh property of the opaque objects rendered with CustomDepth

Material base, RGB color (GBuffer)

Material specular, single channel (GBuffer)

Scene Velocity

Tangent, RGB in -1..1 range, not normalized (GBuffer)

Material anisotropy, single channel (GBuffer)

Whether the pixel is marked as belonging to an opaque first person primitive, single channel (GBuffer)

Only supported with forward shading. MSAA sample count is controlled by r.MSAACount.

Looped playback mode. Play all movies in the play list in order then start over until manually canceled

Alternate Looped mode. Play all of the movies in the play list and loop just the last movie until loading is finished.

Create both simple and complex shapes. Simple shapes are used for regular scene queries and collision tests. Complex shape (per poly) is used for complex scene queries.

Create only simple shapes. Use simple shapes for all scene queries and collision tests.

Create only complex shapes (per poly). Use complex shapes for all scene queries and collision tests. Can be used in simulation for static shapes only (i.e can be collided against but not moved through forces or velocity.)

Follow owner.

Do not follow owner, but make kinematic.

Do not follow owner, but simulate.

No constraint against this axis.

Limited freedom along this axis.

Fully constraint against this axis.

Left-align.

Center-align.

Right-align.

Fill the entire height.

Top-align.

Bottom-align.

Place the menu immediately below the anchor

Place the menu immediately centered below the anchor

Place the menu immediately below the anchor aligned to the right of the content

Place the menu immediately below the anchor and match is width to the anchor's content

Place the menu immediately below the anchor and match is width to the anchor's content. If the width overflows, align with the right edge of the anchor.

Place the menu to the right of the anchor

Place the menu immediately above the anchor, no transition effect

Place the menu immediately centered above the anchor, no transition effect

Place the menu immediately above the anchor aligned to the right of the content

Place the menu to the left of the anchor

Place the menu's center on top of the menu anchor's center point

Place the menu's vertical center on the left side at the menu anchor's vertical center on the right side

Place the menu's bottom left corner directly on top of the menu anchor's bottom left corner

Orient horizontally, i.e. left to right.

Orient vertically, i.e. top to bottom.

Scroll down.

Scroll up.