Skip to content

Creating your own Texture2DArray

APLM samples each surface from a Texture2DArray. To swap in your own surface, you build a new T2DA in APLM’s slice order and assign it to the relevant T2DA parameter. Background on the design choice is in the Texture2DArray concept page.

  • Three textures for your surface:
    • BaseColor (RGB)
    • Normal (compressed as DXT5n or BC5)
    • ORD (R = AO, G = Roughness, B = Displacement) for Nanite-enabled landscapes, or ORH (R = AO, G = Roughness, B = Height) for non-Nanite landscapes.
  • All three at close resolutions and using compatible compression formats. The Texture2DArray editor will warn you if they are incompatible.
  1. In the Content Browser, right-click and choose Texture → Texture 2D Array.
  2. Name the asset (for example T2DA_MyDesertSand).
  3. Open it. Add three slices in this exact order:
    • Index 0: BaseColor
    • Index 1: Normal
    • Index 2: ORD or ORH
  4. Save.
  1. Open the Material Instance you are editing (for example MI_MountainLandscapeMat).
  2. Find the parameter for the layer you want to change. The names follow a fixed pattern:
    • BiomeDesertT2DA, BiomeTundraT2DA, BiomeBorealForestT2DA, and so on for biomes
    • BiomeCustom1T2DA, BiomeCustom2T2DA, BiomeCustom3T2DA for the customizable slots
    • GrassT2DA, CliffT2DA, BeachT2DA, and so on for base layers
  3. Assign your new T2DA to that parameter.
  4. Tune the per-surface parameters (color, tiling, variance, specular, roughness) to match your art direction. The full list is in the parameters reference.

The change is live the moment the material instance refreshes. If the surface looks wrong:

  • Check the slice order. BaseColor must be at index 0, Normal at 1, ORD/ORH at 2.
  • Check the compression. Normal maps must use a normal-compatible format.
  • Check the resolution. All three slices should be at close resolutions.