Skip to main content

(Dawntrail) Shader Reference Table

This page is a list of tables with explinations/annotations of how the New shaders in dawntrail work. Most of this page has been adapted from the Textools Reference Document by Sel. Extra information is added based on research and conversations in modding creation discords, mainly the Textools, Penumbra, and Bibo+ Discords.

This page is partially incomplete as we still do not fully understand every shader. Shaders with entirely blank boxes are those that we know exist, but do not understand how they work. Any important notes or observations about these shaders will be notated below their shader tables in Red.

The following explains how each color/data channel is used in each shader.

Channels are listed by their Default Behavior whenever variable.

Channels listed in Purple are variable and affected by shader keys.

These will be listed Below each main table for the shader, before any notes or annotations.

SubSurface Scattering (SSS) and Fur Settings are controlled by the same channels/fields when applicable

Please note that all textures making use of an alpha channel for non-transparency should be saved as either .DDS or .TGA when bringing it in/out of an art program. PNG frequently gets mishandled by programs and ends up "eating" the alpha channel or forcing it as transparency, which destroys the data used.

FFXIV uses the OpenGL format for Normal map direction (Y+ up if you are using a software with diffuse to normal generation capabilities) 

For easier editing using this document as a reference in penumbra, Please grab and use Nylfae's Penumbra material development kit. this only works for penumbra, but the data in this document is tool-agnostic and will work regardless of tool used. this kit renames constants and data in penumbra to make them more Human readable, though for clarity, all data names will use both the textools and penumbra kit variants. https://heliosphere.app/mod/bktfny69y57gf4y42bp4tn5z38 

Linked as attachments on this page are some substance painter export and material settings for easier authoring of textures via substance painter, using the shader settings from this page. 
Currently, we have Bacara and SB!(Skateboards)'s templates. Information from the mod's modpage descriptions has been added into the .rar files as readme Text documents. (.rar is a type of zipped folder with better compression. it can be extracted with either WinRar or 7Zip)

As of dawntrail, FF14's shader usage is similar to Unreal Engine 4, but slightly modified and different. It is closest to UE4's ORM and ORS formats, for those familiar with UE4 (Thank you to Bacara)

Character Shader:

Character.shpk (Gear & Monster Shader)

Texture Data

Normal Texture

Mask Texture

RED

Standard Tangent Space Normal Map

RED

Specular Power*

GREEN

Standard Tangent Space Normal Map

GREEN

Roughness

BLUE

Opacity

BLUE

Ambient Occlusion

ALPHA

Unused

ALPHA

Unused

Diffuse Texture

Specular Texture

RED

Standard Color Data

RED

Standard Color Data

GREEN

Standard Color Data

GREEN

Standard Color Data

BLUE

Standard Color Data

BLUE

Standard Color Data

ALPHA

???

ALPHA

???

Index Texture

Flow Texture

RED

Colorset Pair (0-16)

RED

???

GREEN

Colorset Even/Odd Blending

GREEN

???

BLUE

Unused

BLUE

???

ALPHA

Unused

ALPHA

???

Model Data

Vertex Color 1

Vertex Color 2

RED

Specular Mask

RED

Faux-Wind Influence

GREEN

Roughness

GREEN

Faux-Wind Multiplier

BLUE

Diffuse Mask

BLUE

???

ALPHA

Opacity

ALPHA

???

UV Channel 1

UV Channel 2

UV

Normal UV Channel

UV

Decal UV Channel (FC Crests, etc.)

Texture Mode - Diffuse Texture

Key : B616DC5A

Value

Effect

DEFAULT

Default Mask Texture Mode

COMPATIBILITY

Used to enable Diffuse Texture

SIMPLE

Unknown

 


Flow Map Mode? - Flow Texture

Key : 40D1481E

Value

Effect

337C6BC4

Standard Value

71ADA939

Enable Flow Map?

 





Specular Mode - Specular Texture

Key : C8BD1DEF

Value

Effect

OFF

No Specular Texture

MASK

Use Mask sampler for Specular

DEFAULT

Use Spec sampler for Specular

A7D2FF60

Unknown

Vertex Color Mode - Model Vertex Colors

Key : F52CCF05

Value

Effect

MASK

Use as Mask

COLOR

Use as Diffuse Color

DFE74BAC

Unknown

5CC605B5

Unknown

Decal Mode - Model UV2 Layer

Key : D2777173

Value

Effect

OFF

No Decals

COLOR

Use as Color Decal Placement

ALPHA

Use as Alpha Decal Placement

 














This is the standard shader used for most things you would mod (gear, minions, mounts, weapons) that are not options tied to the Character creator. This shader will probably be the one you look at most often. There are a few other things that this shader can do based on keys, and I will explain them below.

This shader can make use of a field named "Effect ID". There appear to be 5 total shader effects, and number 3 Is what's used for a holographic/iridescent effect seen on some new gear. In order to utilize these effects, you must also set a value for "Effect Opacity". 0 means there will be no effect, 1 is full effect, and over 1 appears to be multiplicative. This effect is only possible on gear with the new Character shader, and not Character Legacy (the endwalker compatibility version of this shader).

Number 1 seems to apply a "clear vinyl overlayer" effect

* It is believed from further investigation that the mask map Red channel is actually closer to metallic usage than specular power, however due to the fact that metallicity is also controlled via the colorset values, This chart will continue to mark it as specular power, as it is also what the community has found to work fairly ok. (thank you to Bacara for this information)

Character Legacy Shader:

CharacterLegacy.shpk (Endwalker Gear & Monster Shader)

Texture Data

Normal Texture

Mask Texture

RED

Standard Tangent Space Normal Map

RED

Specular Power

GREEN

Standard Tangent Space Normal Map

GREEN

Gloss

BLUE

Opacity

BLUE

Ambient Occlusion

ALPHA

Unused

ALPHA

Unused

Diffuse Texture

Specular Texture

RED

Standard Color Data

RED

Standard Color Data

GREEN

Standard Color Data

GREEN

Standard Color Data

BLUE

Standard Color Data

BLUE

Standard Color Data

ALPHA

Unused

ALPHA

Unused

Index Texture

--

RED

Colorset Pair (0-16)

RED

 

GREEN

Colorset Even/Odd Blending

GREEN

 

BLUE

???

BLUE

 

ALPHA

???

ALPHA

 

Model Data

Vertex Color 1

Vertex Color 2

RED

Diffuse Mask

RED

???

GREEN

Gloss

GREEN

???

BLUE

Specular Mask

BLUE

???

ALPHA

Opacity

ALPHA

???

UV Channel 1

UV Channel 2

UV

Normal UV Channel

UV

Decal UV Channel (FC Crests, etc.)

Texture Mode - Diffuse Texture

Key : B616DC5A

Value

Effect

DEFAULT

Default Mask Texture Mode

COMPATIBILITY

Used to enable Diffuse Texture

SIMPLE

Unknown

 


Specular Mode - Specular Texture

Key : C8BD1DEF

Value

Effect

OFF

No Specular Texture

MASK

Use Mask sampler for Specular

DEFAULT

Use Spec sampler for Specular

A7D2FF60

Unknown

Vertex Color Mode - Model Vertex Colors

Key : F52CCF05

Value

Effect

MASK

Use as Mask

COLOR

Use as Diffuse Color

DFE74BAC

Unknown

5CC605B5

Unknown

Decal Mode - Model UV2 Layer

Key : D2777173

Value

Effect

OFF

No Decals

COLOR

Use as Color Decal Placement

ALPHA

Use as Alpha Decal Placement

 











This is the Character Legacy shader. It is a port of the old endwalker shader for compatibility with old assets that have not been updated by Square Enix. It is Not recommended to continue creating anything for this shader, as it is not able to do all the things that the new Character shader can. Most Assets will still be using this shader unless updated by Square Enix or a modder. This shader is to our knowledge, not capable of handling some of the extra shader effects that the new Character shader can.

Skin Shader:

Skin.shpk (Character Skin Shader)

Texture Data

Normal Texture

Mask Texture

RED

Standard Tangent Space Normal Map

RED

Specular Power

GREEN

Standard Tangent Space Normal Map

GREEN

Roughness

BLUE

Skin Color Influence

BLUE

SSS Thickness/Fur Parallax *

ALPHA

Tilemap Mask

ALPHA

Hair Highlight Color Influence *

Diffuse Texture

--

RED

Standard Color Data

RED

 

GREEN

Standard Color Data

GREEN

 

BLUE

Standard Color Data

BLUE

 

ALPHA

Opacity

ALPHA

 

Model Data

Vertex Color 1

Vertex Color 2

RED

Muscle Slider Influence

RED

Unused (?)

GREEN

Unused

GREEN

Unused (?)

BLUE

???

BLUE

Unused (?)

ALPHA

Shadow Castin On/Off

ALPHA

Unused (?)

UV Channel 1

UV Channel 2

UV

Normal UV Channel

UV

Decal UV Channel (Legacy Mark)

Skin Type - Normal Alpha Channel

Key : 380CAED0

Value

Effect

BODY

Use as Wetness/Tile Mask

FACE

Use as Lip Mask

HRO

Use as Hair Mask *

EMISSIVE

Use as Emissive mask

* Also enables Mask Alpha

Vertex Color Mode - Model Vertex Colors

Key : F52CCF05

Value

Effect

MASK

Use as Mask

COLOR

Use as Diffuse Color

DFE74BAC

Unknown

5CC605B5

Unknown



Texture Mode - Normal Texture

Key : B616DC5A

Value

Effect

DEFAULT

??

COMPATIBILITY

Restores EW Normal Map Use

SIMPLE

??

 


Decal Mode - Model UV2 Layer

Key : D2777173

Value

Effect

OFF

No Decals

COLOR

Use as Color Decal Placement

ALPHA

Use as Alpha Decal Placement

 











This is the Shader used for Body skin, Faces, and Hrothgar Skin with Fur.

  • As a note, When both Skin influence and Hair influence are set, Skin influence wins out. 

When working with this shader for body mods, Keep in mind that as of writing this, Body mods on the Female base (bibo, tf gen 3, etc) use skin type Body/standard skin. However, Male body mods (TBSE) Use the Hrothgar shader key for skin to allow for body hair that changes with head hair color. As such, authoring of maps for these two may differ slightly.

When using/authoring skin using the Hrothgar version of the skin shader, pay special attention to the alpha and blue channels as they are interconnected. The blue channel will be both skin color influence (depigmentation) AND Hair color selection at the same time, with the alpha determining which of the two effects are used in what spot. Portions of the blue channel that are not pure white with a BLACK alpha become depigmentation while the areas with a WHITE alpha become hair color influence. 

You can create a faux metallic effect on skin by confusing the Subsurface shader (though be careful). To do this, set the blue channel of the mask to a value close to 255. This creates an effect that is both metallic and subsurface at the same time. This method should only be done by Power users who know what they are doing. All other users should instead use the shader ID 10 method listed below for metal on skin.

It has been found that skin can have semitransparency. To utilize this, use the alpha channel on the Diffuse as transparency as normal,  and change the g_alphathreshold in material constants (in penumbra) to another value. So far, Setting this value to 0.5 creates a good effect without culling any backfaces. Keep the value under 1.0 to prevent face culling. DO NOT USE THE ENABLE TRANSPARENCY CHECKBOX IN THE MATERIAL. THIS WILL CAUSE CRASHES. Also ensure that "hide backfaces" is UNCHECKED so you aren't completely seethrough. (Thank you to eggpies on discord for this information)

As emissive is a shader key on the same level as hrothgar (body hair on skin) you cannot use both emissive and dyeable body hair on skin at the same time using vanilla shaders. this is non-negotiable.

  • When Shader ID is set to 10 (default value is 1) this activates "proper" metal on skin, and changes the Mask blue from Subsurface/Fur parallax to Metalness. When authoring with this shader ID for metalness, all skin/non metal must be PURE BLACK in the blue channel (causing it to look yellow in RGB mode). The closer the value is to white, the more metalness it has. The Green roughness channel must also be given special consideration. values closer to black cause the metal to be more shiny/polished looking, but due to how 14 has implemented this, it will also pick up more color from the skybox/environment lighting, to the point where it will change the color of the metal entirely if the roughness value is too low. To avoid skybox discoloration but keep the metal looking shiny, it is reccommendedrecommended to keep the value closer to a midtone grey. The skybox tinting effect with low roughness is more pronounced and visible on any metallic bits facing up towards the sky, so anything on the chest, or if the arms are bent at a 90 degree angle (such as folded at the chest).

The default Tile used on the standard/body skin shader is number 63, which produces a wetness effect. This caused us to assume that the alpha on the body skin shader was a wetness mask, but any tile ID number will work with it if changed manually, therefore the alpha channel on the body skin shader is actually a tile mask. That said, changing these tiles is an advanced user feature, and using the alpha as before does not change much in practice unless you plan to manually adjust the tile pattern from wet effect to something else. 

Hair Shader:

Hair.shpk (Hair Shader)

Texture Data

Normal Texture

Mask Texture

RED

Standard Tangent Space Normal Map

RED

Specular Power

GREEN

Standard Tangent Space Normal Map

GREEN

Roughness

BLUE

Highlight Color Influence

BLUE

SSS Thickness

ALPHA

Opacity

ALPHA

Diffuse Mask / Ambient Occlusion

Diffuse Texture

--

RED

Standard Color Data

RED

 

GREEN

Standard Color Data

GREEN

 

BLUE

Standard Color Data

BLUE

 

ALPHA

Opacity

ALPHA

 

Model Data

Vertex Color 1

Vertex Color 2

RED

???

RED

Faux-Wind Influence + Anistropy

GREEN

???

GREEN

Faux-Wind Multiplier

BLUE

???

BLUE

???

ALPHA

Shadow Casting On/Off

ALPHA

???

UV Channel 1

UV Channel 2

UV

Normal UV Channel

UV

Opacity Mapping for Miqo'te?

Sub Color Map - Normal Blue Channel

Key : 24826489

Value

Effect

FACE

Use as Tattoo Color Influence

HAIR

Use as Hair Highlight Influence

584265DD

Unknown





This is the hair Shader. Many things have changed and unlike character, there is no legacy version of this shader. All old hair mods must be converted to use the channels described in this section. Hair is also used for Miqo'te tails. 

At this time, the shader does not seem to be responsive to whatever value appearance plugins and tools such as Anamnesis, Glamourer, and Ktisis used to use for their "hair glow" parameter. This indicates something was shuffled around, but we are currently unsure as to what.

Eye/Iris Shader:

Iris.shpk (Eye Shader)

Texture Data

Normal Texture

Mask Texture

RED

Standard Tangent Space Normal Map

RED

Emissive Mask

GREEN

Standard Tangent Space Normal Map

GREEN

Reflection Mask/Cubemap Intensity

BLUE

Unused

BLUE

Iris Mask

ALPHA

Unused

ALPHA

Unused

Diffuse Texture

--

RED

Standard Color Data

RED

 

GREEN

Standard Color Data

GREEN

 

BLUE

Standard Color Data

BLUE

 

ALPHA

Unused

ALPHA

 

Model Data

Vertex Color 1

Vertex Color 2

RED

Left Eye color influence (odd eyes)

RED

Unused (?)

GREEN

Right eye color influence (odd eyes)

GREEN

Unused (?)

BLUE

 

BLUE

Unused (?)

ALPHA

 

ALPHA

Unused (?)

UV Channel 1

UV Channel 2

UV

Normal UV Channel

UV

Unused (?)

63030C80 - Unknown Effect

Key : 63030C80

Value

Effect

EFDEA8F6

Unknown




This is the iris, or new eye shader. There is no legacy version of this shader that can be used on players, so ALL eye mods must be thrown through a converter such as Loose Texture Compiler or Textools' Eye saver. This is non-negotiable.

The new iris shader allows for Sclera and Iris to be on the same map, allowing for some interesting effects

A large thing to note compared to old eye mods is that the catchlight is no longer an editable texture, and is using the Spheremaps which are currently not moddable. All Pre-DT catchlight mods or edits can no longer be used. If you want to create a fake catchlight, you can draw this onto the diffuse, but it will be static and not move around. You can reduce or change the existing catchlight (to an existing spheremap tile) using the shader constant listed below, but you cannot make custom catchlights.

Likewise, Au Ra limbal rings are also part of a shader now, and no longer part of a texture. Any mods that altered the Au Ra limbals must be scrapped. While shape cannot be changed, there is a shader constant that allows them to be turned on and off, and this is availible for all eyes, not just au ra. The Shader constants/parameters to change for eyes are: 

7DABA471- g_IrisRingEmissive

0-1 (au ra at 0.8)



58DE06E2-Limbal Color

Red (0-1)

Green (0-1)

Blue (0-1)

074953E9 - Spheremap Tile 

0-60? (default 0)



Constant

Value 1

Value 2

Value 3

7DABA471- g_IrisRingEmissive

0-1 (au ra at 0.8)

 

 

58DE06E2-Limbal Color

Red (0-1)

Green (0-1)

Blue (0-1)

(General) Constant

Value 1

Value 2

Value 3

074953E9 - Spheremap Tile

0-60? (default 0)

 

 

3BA64362-g_Emissive color

Red (0-1)

Green (0-1)

Blue (0-1)

11C90091-g_ White Eyes Color

Red (0-1)

Green (0-1)

Blue (0-1)

Furthermore, Sclera can either be changed by drawing on the diffuse, OR by changing shader constant- White Eyes Color. (Listed in table above)

Emissive is now included in the eye shader for ALL eyes, but in order to activate it, you need to mask out where you want glow on the mask RED channel, AND turn the Emissive shader constant on by changing the 3 values to not 0. Emissive strength is not known how or if it can be edited. 

Finally, due to the eyeball now being a diffuse texture, it is possible to get multicolored eyes without having to sacrifice heterochromia. This both makes them more compatible with a variety of heads, and allows for more than 2 colors. Because FF14 overlays the eye color closest to the layer style Multiply, it is best to check how colors will interact by simulating in an art program. You can either draw with color on the iris portion of the diffuse, and then allow eye color influence to change those colors, or draw with color on the diffuse, and then mask off the same areas/gradients on the Mask Blue channel, to stop those portions from changing with your eye color. 

This is an example of simulating how placing colors on the diffuse and then allowing the game to put color on top can change the colors. This is a simulation in an art program, but it's enough to show what the effect will do when you do not mask out the colored parts on the multi.

image.png

Character Tattoo/Face ETC Shader:

CharacterTattoo.shpk (Face Tattoos Shader)

Texture Data

Normal Texture

--

RED

Standard Tangent Space Normal Map

RED

 

GREEN

Standard Tangent Space Normal Map

GREEN

 

BLUE

Mole or Tattoo Color Influence

BLUE

 

ALPHA

Opacity

ALPHA

 

Model Data

Vertex Color 1

Vertex Color 2

RED

???

RED

 

GREEN

???

GREEN

 

BLUE

???

BLUE

 

ALPHA

???

ALPHA

 

UV Channel 1

UV Channel 2

UV

Normal UV Channel

UV

???


Sub Color Map - Normal Blue Channel

Key : 24826489

Value

Effect

FACE

Use as Tattoo Color Influence

HAIR

Use as Hair Highlight Influence

584265DD

Unknown

 


Decal Mode - Model UV2 Layer

Key : D2777173

Value

Effect

OFF

No Decals

COLOR

Use as Color Decal Placement

ALPHA

Use as Alpha Decal Placement

 







There isn't much to edit about this shader, but it is important to keep in mind, as Facial ETC textures have multiple materials that all point to the same textures, but have different shader keys and parameters. Before changing any, please check this table, or make the texture path for the specific one you want to change unique.

Stocking Shader:

CharacterStocking.shpk (Stocking/Translucent Cloth)

Texture Data

Normal Texture

Mask Texture

RED

Standard Tangent Space Normal Map

RED

See character shader

GREEN

Standard Tangent Space Normal Map

GREEN

See character shader

BLUE

Opacity* (Skin visibility)

BLUE

See character shader

ALPHA

Unused

ALPHA

Unused

Diffuse Texture

Specular Texture

RED

See character shader

RED

See character shader

GREEN

See character shader

GREEN

See character shader

BLUE

See character shader

BLUE

See character shader

ALPHA

See character shader

ALPHA

See character shader

Index Texture

--

RED

Colorset Pair (0-16)

RED

???

GREEN

Colorset Even/Odd blending

GREEN

???

BLUE

Unused

BLUE

???

ALPHA

Unused

ALPHA

???

Model Data

Vertex Color 1

Vertex Color 2

RED

Specular Mask

RED

Faux wind influence

GREEN

Roughness

GREEN

Faux wind multiplier

BLUE

Diffuse mask

BLUE

???

ALPHA

Opacity

ALPHA

???

UV Channel 1

UV Channel 2

UV

Normal UV

UV

Decal UV

UV Channel 3

 

 

UV

Skin UV

 


As of 7.1 This shader is being adapted to player gear which allows us to research it more. This shader is nearly identical to the character (gear) shader, with a few exceptions. The main thing is that this shader utilizes UV channel 3 to copy and put skin underneath the "stockings" using only one mesh instead of the double layer mesh technique previously used. This is hardcoded to skin material A however, which means it will always be the symmetrical skin. 

Texture wise, "opacity" on the normal map's blue channel is no longer overall opacity, but determines where and how much skin is shown "underneath". 

Do NOT enable transparency in the material flags for this shader though, as it will crash your game. 

The "nylon" texture and effect used on most gear with this shader is tile material 43, and you can get a nice stocking effect using a negative sheen value. Finally as of current research, sphere maps (like the holographic effect) seem to be disabled for this shader. 

As of Penumbra update 1.5.1.0 (08/26/2025) it is possible to assign the stocking shader to use a modded material (mat B or Bibo) instead of it defaulting to mat A like it is normally hardcoded to do. To do this, you must add the attribute: "skin_suffix=bibo" or "skin_suffix=b" to the appropriate mesh (part) with the stocking shader on it. That mesh must also have it's UV3 correctly set up to match the modded skin's UV mapping. 

(Eye) Occlusion Shader:

CharacterOcclusion.shpk (Eye Occlusion Shader)

Texture Data

Normal Texture

--

RED

???

RED

 

GREEN

???

GREEN

 

BLUE

???

BLUE

 

ALPHA

???

ALPHA

 

--

--

RED

 

RED

 

GREEN

 

GREEN

 

BLUE

 

BLUE

 

ALPHA

 

ALPHA

 

--

--

RED

 

RED

 

GREEN

 

GREEN

 

BLUE

 

BLUE

 

ALPHA

 

ALPHA

 

Model Data

Vertex Color 1

Vertex Color 2

RED

Standard Tangent Space Normal Map

RED

Unused (?)

GREEN

Standard Tangent Space Normal Map

GREEN

Unused (?)

BLUE

???

BLUE

Unused (?)

ALPHA

Unused

ALPHA

Unused (?)

UV Channel 1

UV Channel 2

UV

Normal UV Channel

UV

???

Sub Color Map - Normal Blue Channel

Key : 24826489

Value

Effect

FACE

Use as Tattoo Color Influence

HAIR

Use as Hair Highlight Influence

584265DD

Unknown

 


Vertex Color Mode - Model Vertex Colors

Key : F52CCF05

Value

Effect

MASK

Use as Mask

COLOR

Use as Diffuse Color

DFE74BAC

Unknown

5CC605B5

Unknown

Decal Mode - Model UV2 Layer

Key : D2777173

Value

Effect

OFF

No Decals

COLOR

Use as Color Decal Placement

ALPHA

Use as Alpha Decal Placement

 











There isn't much to say about this shader.

Glass Shader:

CharacterGlass.shpk (Glass Shader)

Texture Data

Normal Texture

Mask Texture

RED

Standard Tangent Space Normal Map

RED

Specular Power

GREEN

Standard Tangent Space Normal Map

GREEN

Roughness

BLUE

Opacity

BLUE

Ambient Occlusion

ALPHA

Unused

ALPHA

Unused

Index Texture

Diffuse Texture?

RED

Colorset Pair (0-16)

RED

Standard Color Data

GREEN

Colorset Even/Odd Blending

GREEN

Standard Color Data

BLUE

???

BLUE

Standard Color Data

ALPHA

???

ALPHA

???

Specular Texture?

Flow Texture

RED

Standard Color Data

RED

???

GREEN

Standard Color Data

GREEN

???

BLUE

Standard Color Data

BLUE

???

ALPHA

???

ALPHA

???

Model Data

Vertex Color 1

Vertex Color 2

RED

Specular Mask

RED

Faux-Wind Influence

GREEN

Roughness

GREEN

Faux-Wind Multiplier

BLUE

Diffuse Mask

BLUE

???

ALPHA

Opacity

ALPHA

???

UV Channel 1

UV Channel 2

UV

Normal UV Channel

UV

Decal UV Channel (FC Crests, etc.)

Texture Mode - Diffuse Texture

Key : B616DC5A

Value

Effect

DEFAULT

Default Mask Texture Mode

COMPATIBILITY

Used to enable Diffuse Texture

SIMPLE

Unknown

 


Specular Mode - Specular Texture

Key : C8BD1DEF

Value

Effect

OFF

No Specular Texture

MASK

Use Mask sampler for Specular

DEFAULT

Use Spec sampler for Specular

A7D2FF60

Unknown

Flow Map Mode? - Flow Texture

Key : 40D1481E

Value

Effect

337C6BC4

Standard Value

71ADA939

Enable Flow Map?

 

 

 


Vertex Color Mode - Model Vertex Colors

Key : F52CCF05

Value

Effect

MASK

Use as Mask

COLOR

Use as Diffuse Color

DFE74BAC

Unknown

5CC605B5

Unknown

Decal Mode - Model UV2 Layer

Key : D2777173

Value

Effect

OFF

No Decals

COLOR

Use as Color Decal Placement

ALPHA

Use as Alpha Decal Placement

 


Transparency Effect

Key : E8DA5B62

Value

Effect

7B804D6E

Dithering Toggle

71A1FBF8

Block Visibility through mesh (?)



According to recent testing, Passthrough visibility is conditional on dithering being active. That is, if the dithering key is not present (alongside the additional data bit value "00 80 00 00" being enabled), the passthrough effect will not do anything, even if the key is toggled on. To fully activate dithering, the shader key must be enabled, AND the bit value in the additional data section of the material editor must be enabled.   (thank you arghblargh for this info)

As with Character Transparency, This shader is highly sensitive to opacity values in the textures, and special care must be taken to ensure that your texture map opacity strength is dialed in correctly, as there is no way to control or edit it with material constants in textools or penumbra. The shader and material constants are extremely important for this shader for your glass quality, as well as the Sphere ID and Tilemap selections. 
Sphere map IDs can use color influence from your specular color (set in the colorset/color table) on this shader, and the tilemap selection can break the spheremap ID visuals up, leading to different results. When planning to use this shader, the meshes must be authored/created specifically for use with these shaders, as any accidental backfaces or face normals pointed in the wrong direction will cause visual artifacts and issues. That said, purposeful use of this can allow for neat effects for items like clear gemstones and glass dishware. (especially those with stacked transparency such as a wine glass with wine inside) (Thank you to Bacara for this information)

For glass, it is possible to manipulate and author specific IOR (Index of Refraction) values to create gems and other more mystical or stylized items. to use and manipulate IOR, you must set a tile map. this is non negotiable and will not work without one. any tilemap will do. Then click back to 0 or set 0% opacity if you need. It MUST be written on/in the material to let you do refraction values. From testing, these values are 10 times the usual strength of the values set in Unreal Engine. (thank you to Bacara for the information and Kthonia for testing)


This shader is still being researched. It mainly functions similarly to the standard Character shader in terms of Texture channels, but uses different constants and math to achieve different effects. There is currently no Automatic ways to convert a pre-DT mod to post DT with glass and have it look good, so using this shader will require manual authoring. 

Character Transparency Shader:

CharacterTransparency.shpk 

Texture Data

Normal Texture

Mask Texture

RED

Standard Tangent Space Normal Map

RED

Specular Power

GREEN

Standard Tangent Space Normal Map

GREEN

Roughness

BLUE

Opacity

BLUE

Ambient Occlusion

ALPHA

Unused

ALPHA

Unused

Diffuse Texture?

Specular Texture?

RED

Standard Color Data

RED

Standard Color Data

GREEN

Standard Color Data

GREEN

Standard Color Data

BLUE

Standard Color Data

BLUE

Standard Color Data

ALPHA

???

ALPHA

???

Index Texture

Flow Texture

RED

Colorset Pair (0-16)

RED

???

GREEN

Colorset Even/Odd Blending

GREEN

???

BLUE

Unused

BLUE

???

ALPHA

Unused

ALPHA

???

Model Data

Vertex Color 1?

Vertex Color 2?

RED

Specular Mask

RED

Faux-Wind Influence

GREEN

Roughness

GREEN

Faux-Wind Multiplier

BLUE

Diffuse Mask

BLUE

???

ALPHA

Opacity

ALPHA

???

UV Channel 1?

UV Channel 2?

UV

Normal UV Channel

UV

Decal UV Channel (FC Crests, etc.)

Transparency Effect

Key : E8DA5B62

Value

Effect

7B804D6E

Dithering toggle

71A1FBF8

Passthrough visibility (?)

 - Unknown Effect

Key : 

Value

Effect


Unknown

 


0033C8B5 - Unknown Effect

Key : 0033C8B5

Value

Effect

D1E60FD9

Unknown

93D6C21A

Enable Emissive Color





This is a new shader introduced in 7.2, first seen on the Historia Chokers. It is assumed that it acts similarly to the standard character shader but uses a few additional shader keys for better transparency effects. 

When these shaders are overlaid with certain other effects (like byakko's falling VFX) Character Glass will dither, but Character Transparency will hide completely. This could be a reason to use one shader over the other.

According to recent testing, Passthrough visibility is conditional on dithering being active. that is, if the dithering key is not present (alongside the additional data bit value "00 80 00 00" being enabled), the passthrough effect will not do anything, even if the key is toggled on. To fully activate dithering, the shader key must be enabled, AND the bit value in the additional data section of the material editor must be enabled.   (thank you arghblargh for this info)


As with character glass, This shader is highly sensitive to opacity values in the textures, and special care must be taken to ensure that your texture map opacity strength is dialed in correctly, as there is no way to control or edit it with material constants in textools or penumbra. The shader and material constants are extremely important for this shader for your glass quality, as well as the Sphere ID and Tilemap selections. 
Sphere map IDs can use color influence from your specular color (set in the colorset/color table) on this shader, and the tilemap selection can break the spheremap ID visuals up, leading to different results. When planning to use this shader, the meshes must be authored/created specifically for use with these shaders, as any accidental backfaces or face normals pointed in the wrong direction will cause visual artifacts and issues. That said, purposeful use of this can allow for neat effects for items like clear gemstones and glass dishware. (especially those with stacked transparency such as a wine glass with wine inside) (Thank you to Bacara for this information)

This shader makes use of "field 6" in penumbra (the textools name for this will be added later)

This shader for the most part uses all the same Texture channels as the Character shader. 


Ink Shader:

CharacterInc.shpk

Texture Data

Normal Texture

--

RED

???

RED

???

GREEN

???

GREEN

???

BLUE

???

BLUE

???

ALPHA

???

ALPHA

???

--

Mask/Multi Texture

RED

???

RED

???

GREEN

???

GREEN

???

BLUE

???

BLUE

???

ALPHA

???

ALPHA

???

--

--

RED

???

RED

???

GREEN

???

GREEN

???

BLUE

???

BLUE

???

ALPHA

???

ALPHA

???

Model Data

Vertex Color 1

Vertex Color 2

RED

???

RED

???

GREEN

???

GREEN

???

BLUE

???

BLUE

???

ALPHA

???

ALPHA

???

UV Channel 1

UV Channel 2

UV

Normal UV

UV


So far, we know that this shader does not seem to utilize vertex color for anything special, and seems to utilize a mask map for the special effects. (Thank you to Ulli for this information) This shader is currently being researched by Bacara. It is assumed that textools will have an issue editing/reading and saving this shader. It is currently (as of 05/30/2025) only used for pictomancer VFX and the Sugar Riot raid boss. It is assumed that this shader will be good for latex, as well as the intended use case of fluids/liquids/slime/gummy materials. 

This shader has been in the game since 7.0, but was first used on non-VFX in 7.2. We do not have any information on this shader and will be updating this portion when more information is found.


Character Scroll(ing) Shader:

CharacterScroll.shpk (Scrolling Shader)

Texture Data

Normal Texture

Mask Texture

RED

Standard Tangent Space Normal Map

RED

Specular Power *

GREEN

Standard Tangent Space Normal Map

GREEN

Roughness

BLUE

Opacity

BLUE

Ambient Occlusion

ALPHA

Unused

ALPHA

Unused

Diffuse Texture

Unknown_o (emissive scrolling texture)

RED

Standard Color Data

RED

Standard Color Data

GREEN

Standard Color Data

GREEN

Standard Color Data

BLUE

Standard Color Data

BLUE

Standard Color Data

ALPHA

???

ALPHA

Opacity *

Specular Texture

Index Texture

RED

Standard Color Data

RED

Colorset Pair (0-16)

GREEN

Standard Color Data

GREEN

Colorset Even/Odd Blending

BLUE

Standard Color Data

BLUE

Unused

ALPHA

???

ALPHA

Unused

Model Data

Vertex Color 1

Vertex Color 2

RED

Specular Mask

RED

Faux-Wind Influence

GREEN

Roughness

GREEN

Faux-Wind Multiplier

BLUE

Diffuse Mask

BLUE

???

ALPHA

Opacity

ALPHA

???

UV Channel 1

UV Channel 2

UV

Normal UV Channel

UV

Uv channel for scrolling texture

This is a version of the character shader that uses the second UV channel to allow for an emissive texture to animate across the mesh using UV2. The speed and axis can be changed. UV2 must be a straight and flat run along one axis with everything oriented in the same direction. 

(technically you only need to do what on the UV2 you need and what's linked UV and mesh wise to collaborate with your UV1's ID map for what you want to be scrolling, but for clarity's sake, try to keep it straight. for further clarification, please contact @Bacara on discord)

If you are using this shader on a skintight clothing mesh, or a mesh that is otherwise on top of another, make sure to offset the scrolling mesh by 0.03 to avoid LOD and Zfighting errors. 

The easiest way to author with this shader is to use Bacara's mjolnir mod as a preset, or use the NPC gear E9242 as a material preset. this will give the texture path to something with Unknown_o, which is your scrolling emissive. When authoring this scrolling texture, you want it to be a tileable or seamless texture so it is not obvious when the pattern repeats. 

The shader key for this shader to also enable opacity is

Opacity

Key : F886E10E

Value

Effect

9A8A46F5

Enable Opacity



Colorset Setting

Value

Notes

Sphere Map Opacity

Whatever

It doesn't matter if you use a sphere map ID here, this value can even be negative.

Effect unknown A (Field 27 Penumbra) Scrool constant controller

1 or 2

Do not set above 2

Emissive Color

Whatever

More Vibrancy will make it brighter

Important Colorset constants to know when authoring-

Name

Colorset A Constants

Colorset B Constants

Extra Info

Translate X Speed

0x738A241C

0xE8C5CBFF

These can go positive or negative, It is recommended to edit this constant with decimals by the hundredths

Translate Y Speed

0x71CC9A45

0xEA8375A6

These can go positive or negative, It is recommended to edit this constant with decimals by the hundredths

Tiling X

0x43345395

0xD87BBC76

Default around 1 to 10. You can go negative.

Tiling Y

0x4172EDCC

0xDA3D022F

Default around 1 to 10. You can go negative.

This shader's information was adapted entirely from Bacara. If you would like a more tutorial style explanation of how to use this shader with some examples, please check out their guide: https://docs.google.com/document/d/1Z_ao7r2hREzQBW1_5uXJF_2g-9ePB-MItj42CGyp6qQ/edit?tab=t.0#heading=h.echx7hlozmu 

Furniture Shader:

Bg.shpk (Furniture Shader)

Texture Data

Normal Texture

Mask Texture

RED

Standard Tangent Space Normal Map

RED

Specular Mask A?

GREEN

Standard Tangent Space Normal Map

GREEN

Roughness

BLUE

???

BLUE

Specular Mask B?

ALPHA

???

ALPHA

???

Diffuse Texture

--

RED

Standard Color Data

RED

 

GREEN

Standard Color Data

GREEN

 

BLUE

Standard Color Data

BLUE

 

ALPHA

Unused

ALPHA

 

--

--

RED

 

RED

 

GREEN

 

GREEN

 

BLUE

 

BLUE

 

ALPHA

 

ALPHA

 

Model Data

Vertex Color 1

Vertex Color 2

RED

???

RED

Unused (?)

GREEN

???

GREEN

Unused (?)

BLUE

???

BLUE

Unused (?)

ALPHA

???

ALPHA

Unused (?)

UV Channel 1

UV Channel 2

UV

Normal UV Channel

UV

???

BG Use DiffuseAlpha - Diffuse Alpha

Key : A9A3EE25

Value

Effect

72AAA9AE

Use as Opacity

BG Vertex Paint - Vertex Color

Key : 4F4F0636

Value

Effect

BD94649A

Use as Diffuse Color

Multiple - Unknown Effect

Key : Multiple

Value

Effect

At least ~9 Additional keys of unknown effect

Texture Mode - Diffuse Texture

Key : B616DC5A

Value

Effect

DEFAULT

Unknown

COMPATIBILITY

Unknown

SIMPLE

Unknown

1DF2985C

Unknown

941820BE

Unknown

07D3170F

Unknown

This shader is not fully understood.

Dyeable Furniture Shader:

BgColorChange.shpk (Dyeable Furniture Shader)

Texture Data

Normal Texture

Mask Texture

RED

Standard Tangent Space Normal Map

RED

Specular Mask A?

GREEN

Standard Tangent Space Normal Map

GREEN

Roughness

BLUE

???

BLUE

Specular Mask B?

ALPHA

Opacity

ALPHA

???

Diffuse Texture

--

RED

Standard Color Data

RED

 

GREEN

Standard Color Data

GREEN

 

BLUE

Standard Color Data

BLUE

 

ALPHA

Dyeability Mask *

ALPHA

 

--

--

RED

 

RED

 

GREEN

 

GREEN

 

BLUE

 

BLUE

 

ALPHA

 

ALPHA

 

Model Data

Vertex Color 1

Vertex Color 2

RED

???

RED

Unused (?)

GREEN

???

GREEN

Unused (?)

BLUE

???

BLUE

Unused (?)

ALPHA

???

ALPHA

Unused (?)

UV Channel 1

UV Channel 2

UV

Normal UV Channel

UV

???

BG Use DiffuseAlpha - Diffuse Alpha

Key : A9A3EE25

Value

Effect

72AAA9AE

Use as Opacity (?)

BG Vertex Paint - Vertex Color

Key : 4F4F0636

Value

Effect

BD94649A

Use as Diffuse Color




This shader is not fully understood.

Scrolling Furniture Shader:

BgUvScroll.shpk (Scrolling Furniture Shader)

Texture Data

Normal Texture

Mask Texture

RED

Standard Tangent Space Normal Map

RED

Specular Mask A?

GREEN

Standard Tangent Space Normal Map

GREEN

Roughness

BLUE

???

BLUE

Specular Mask B?

ALPHA

???

ALPHA

???

Diffuse Texture A

Diffuse Texture B

RED

Standard Color Data

RED

Standard Color Data

GREEN

Standard Color Data

GREEN

Standard Color Data

BLUE

Standard Color Data

BLUE

Standard Color Data

ALPHA

Unused

ALPHA

 

--

--

RED

 

RED

 

GREEN

 

GREEN

 

BLUE

 

BLUE

 

ALPHA

 

ALPHA

 

Model Data

Vertex Color 1

Vertex Color 2

RED

???

RED

Unused (?)

GREEN

???

GREEN

Unused (?)

BLUE

???

BLUE

Unused (?)

ALPHA

???

ALPHA

Unused (?)

UV Channel 1

UV Channel 2

UV

Normal UV Channel

UV

???

Notes courtesy of Vincent on discord:

Keys:

9A696A17 - Velocity of the scroll. Positive values are left & up direction. Parameter 1 & 2 are Diffuse A's X & Y scroll respectively, and 3 & 4 are the same for Diffuse B.
Emissive, Diffuse, etc. - Affects these values on Diffuse A (the overlay layer.)
MultiEmissive, MultiDiffuse, etc. - Affects these values on Diffuse B (the base photo layer.)
BFE9D12D - A master emissive multiplier. Setting this to 0 turns off the lights on the whole thing.

The apparent 50% opacity on the Diffuse A overlay seems to be hard-coded. None of the other constants seemed to do anything at all. 
Changing the alpha threshold parameter or alpha of the images had no effect.

This shader is used on the Phasmascapes. 

We are assuming that this shader works the same as the non-dyeable furniture shader, with the addition of a second diffuse and scrolling parameters. 


Additional Data Values Table

Additional Data bit Value

Function

Relevant Shader

Bit Interactions

Other Notes

00 80 00 00

Enable Dithering

Glass, Transparency. Character, CharacterScroll

 

Glass often has this enabled and shadows disabled. Assumed that this also affects transparency in character shader.

00 40 00 00

Disable Shadows

Global (?) Glass, Transparency, Character

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Currently, we believe that all values in this table are Global, or work on all shaders, but as this has not yet been fully confirmed, I will continue listing the confirmed shaders that these data values work on.

Shader/Colorset Values Penumbra name Vs textools name. 

Penumbra Name/Value

Textools Name/Value

Field #3

Diffuse unknown

Field #7

Specular Unknown

Field #11

Emissive Unknown

Field #17

PBR Unknown

Field #20

Effect Unknown R

Field #22

Effect Unknown B

Field #23

Effect Unknown A

When swapping the Character shader from Legacy to Standard Fields 3 and 11 Should be manually set to 1 and Field 7 should be set to 0. This table should help if you are doing this in textools instead of penumbra.