[NEW] Surfaces Importer (Custom Terrain Surfaces) - AlphaGaming7780/ExtraAssetsImporter GitHub Wiki

Folder structure

Under the Surfaces root, each category (Brick, Concrete, Grass, Ground, Misc, Pavement, Rock, Sand, Tiles, Water & Wood) has subfolders for each surface asset. For example:

Surfaces/
 └── Ground/
      ├── Gravel/
      │    ├── _BaseColorMap.png
      │    ├── _NormalMap.png
      │    ├── _MaskMap.png
      │    ├── icon.png
      │    ├── Material.json
      │    └── Prefab.json
      └── Asphalt/
           ├── _BaseColorMap.png
           ├── _NormalMap.png
           ├── _MaskMap.png
           ├── Material.json
           └── Prefab.json
           (etc.)
  • _BaseColorMap.png – Optional. The base color texture for the surface (diffuse/albedo).
  • _NormalMap.png – Optional. Normal map texture for the surface. If provided, it will be imported and applied; otherwise the surface will have no normal - mapping.
  • _MaskMap.png – Optional. Mask map texture (RGBA channels typically encode Metallic, Smoothness, etc., depending on the shader). If provided, it will be imported and applied.
  • icon.png – Optional. A custom icon for this surface in the UI. If absent, the importer will auto-generate a thumbnail icon from the base color texture (resized to 128×128 pixels).
  • Material.json – Optional.
  • Prefab.json – Optional.

Prefab.json

{
    "Components": {},
    "m_Color": "RGBA(1, 1, 1, 1)",
    "m_EdgeColor": "RGBA(1, 1, 1, 1)",
    "m_SelectionColor": "RGBA(1, 1, 1, 1)",
    "m_SelectionEdgeColor": "RGBA(1, 1, 1, 1)"
}

Material.json

{
    "MaterialName": null,
    "ShaderName": null,
    "Float": {
        "_Metallic": 1,
        "_Smoothness": 1,
        "colossal_DecalLayerMask": 1,
        "_DecalColorMask0": 15,
        "_DecalColorMask1": 15,
        "_DecalColorMask2": 11,
        "_DecalColorMask3": 8,
        "_DrawOrder": 0,
        "_AffectAlbedo": 1,
        "_AffectNormal": 1,
        "_AffectMetal": 1,
        "_AffectSmoothness": 1,
        "_DecalMeshBiasType": 0,
        "_DecalMeshDepthBias": 0,
        "_DecalMeshViewBias": 0,
        "_DecalStencilRef": 16,
        "_DecalStencilWriteMask": 16,
        "_MetallicAlphaSource": 0,
        "_MetallicOpacity": 1,
        "_NormalAlphaSource": 0,
        "_NormalOpacity": 1,
        "colossal_EdgeNormal": 0.5,
        "colossal_UVScale": 0.2
    },
    "Vector": {
        "_BaseColor": {
            "x": 1,
            "y": 1,
            "z": 1,
            "w": 1
        },
        "unity_Lightmaps_ST": {
            "x": 1,
            "y": 1,
            "z": 0,
            "w": 0
        },
        "unity_Lightmaps_TexelSize": {
            "x": 1,
            "y": 1,
            "z": 1,
            "w": 1
        },
        "unity_Lightmaps_HDR": {
            "x": 1,
            "y": 1,
            "z": 0,
            "w": 0
        },
        "unity_LightmapsInd_ST": {
            "x": 1,
            "y": 1,
            "z": 0,
            "w": 0
        },
        "unity_LightmapsInd_TexelSize": {
            "x": 1,
            "y": 1,
            "z": 1,
            "w": 1
        },
        "unity_LightmapsInd_HDR": {
            "x": 1,
            "y": 1,
            "z": 0,
            "w": 0
        },
        "unity_ShadowMasks_ST": {
            "x": 1,
            "y": 1,
            "z": 0,
            "w": 0
        },
        "unity_ShadowMasks_TexelSize": {
            "x": 1,
            "y": 1,
            "z": 1,
            "w": 1
        },
        "unity_ShadowMasks_HDR": {
            "x": 1,
            "y": 1,
            "z": 0,
            "w": 0
        },
        "_BaseColorMap_ST": {
            "x": 1,
            "y": 1,
            "z": 0,
            "w": 0
        },
        "_BaseColorMap_TexelSize": {
            "x": 1,
            "y": 1,
            "z": 1,
            "w": 1
        },
        "_BaseColorMap_HDR": {
            "x": 1,
            "y": 1,
            "z": 0,
            "w": 0
        },
        "_MaskMap_ST": {
            "x": 1,
            "y": 1,
            "z": 0,
            "w": 0
        },
        "_MaskMap_TexelSize": {
            "x": 1,
            "y": 1,
            "z": 1,
            "w": 1
        },
        "_MaskMap_HDR": {
            "x": 1,
            "y": 1,
            "z": 0,
            "w": 0
        },
        "_NormalMap_ST": {
            "x": 1,
            "y": 1,
            "z": 0,
            "w": 0
        },
        "_NormalMap_TexelSize": {
            "x": 1,
            "y": 1,
            "z": 1,
            "w": 1
        },
        "_NormalMap_HDR": {
            "x": 1,
            "y": 1,
            "z": 0,
            "w": 0
        },
        "DefaultPVTStack_atlasParams0": {
            "x": 0,
            "y": 0,
            "z": 0,
            "w": 0
        },
        "DefaultPVTStack_atlasParams1": {
            "x": 0,
            "y": 0,
            "z": 0,
            "w": 0
        },
        "Vector2_a453d92aee7242ae912e8d91edfd2c50": {
            "x": 1,
            "y": 0.5,
            "z": 0,
            "w": 0
        },
        "colossal_AreaParameters": {
            "x": 0.5,
            "y": 4,
            "z": 0,
            "w": 0
        },
        "colossal_EdgeFadeRange": {
            "x": 0.75,
            "y": 0.25,
            "z": 0,
            "w": 0
        },
        "colossal_EdgeNoise": {
            "x": 0.5,
            "y": 0.5,
            "z": 0,
            "w": 0
        },
        "DefaultPVTStack_ST": {
            "x": 1,
            "y": 1,
            "z": 0,
            "w": 0
        },
        "DefaultPVTStack_TexelSize": {
            "x": 1,
            "y": 1,
            "z": 1,
            "w": 1
        },
        "DefaultPVTStack_HDR": {
            "x": 1,
            "y": 1,
            "z": 0,
            "w": 0
        }
    }
}