World Position Offset
Move vertices from the material
Also known as: WPO · Vertex offset · Vertex animation · Foliage wind shader
Definition
World Position Offset (WPO) is an Unreal Engine material output that moves each vertex of a mesh in world space at render time. It drives foliage wind, waving flags, grass bending, simple vertex animation and effects such as raised snow or pulsing surfaces, all without a skeleton. Because the offset is computed in the vertex shader, it changes how the mesh looks but not its collision or its stored bounds.
In production
Plug a value into World Position Offset in the material, usually a vector scaled by a mask so the effect only touches part of the mesh, for example vertex color that keeps a tree trunk still while the leaves move. Since bounds and collision do not change, large offsets can make a mesh pop out when it is culled; raise the bounds scale on the mesh if the motion is big. WPO costs vertex shader time, and its support on Nanite meshes depends on your engine version, so test it in your own project.
Tools that use World Position Offset
See also
Vertex Color
Per-vertex paintable mask channel
GPU Instancing
One mesh, many instances, one draw call
Nanite
UE5 virtualized geometry
Master Material
Parent material that spawns instances
Shader Complexity
Viewport view of per-pixel material cost
Vertex Animation Texture (VAT)
Simulation baked into textures
Foliage Cards
Alpha-textured planes that form leaves and plants
SpeedTree (Vegetation Tool)
Software for creating game-ready trees and plants