(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. S ub S urface S cattering (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) Please note that Mask textures are incredibly complex and variable. Pay close attention to their parts in the tables. Masks can have their channel usage changed by shader keys, other texture channels, and shader IDs. There is a lot we still don't know about these textures, and any information on them is as of now a WIP. The most variable channel in the mask is the usage of the Blue channel. ** 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 recommended 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. 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.  Shader ID Nonstandard values Chart Shaderpack ID # Effect Notes Skin.shpk 10 Metalness/World Reflection Swaps SSS/Parallax for Metalness Character.shpk/Hair.shpk(?) 4 Fur/Parallax (Strong) AO And parallax can be run on same texture if on different colorset rows Character.shpk/Hair.shpk(?) 5 Fur/Parallax (Medium) AO And parallax can be run on same texture if on different colorset rows Character.shpk/Hair.shpk(?) 6 Fur/Parallax (Soft) AO And parallax can be run on same texture if on different colorset rows Hair.shpk(?) 10 Wet look/ Specular change Character.shpk 0, 7, 10, 12, 17+ Mask Blue is Ambient Occlusion Hair.shpk 2 Ignore self-cast shadows Specifically when shader key-tattoo is enabled (?) These are shader IDs that are not commonly used, but can change the usage of certain channels in the Mask texture. We still don't know a lot about these, as more research needs to be done. Thank you to Bacara for for observations on the Character shader's IDs. Char shader ID 5 was first noticed in gear on the 2026 valentine's beret. Char shader IDs 4-6 use parallax in the same way that the Hrothgar skin shader do (Mask blue channel). Thank you to CosmicMeow for info on Char shader IDs that use Mask blue as AO This table is still a WIP, and some ID and item combinations may be incompatible. More research is being done to determine the causes. As of current research, Character.shpk has a total of 19 valid shader IDs (0-18). not all are known though. Shader IDs appear to be consistent across most shaders Except skin, but this has not been fully verified.  On gear, it is possible to call shader IDs per row. As an example, this means you could use ID 0 (default) on row 1-13, ID 5 on row 14, ID 10 on row 15, and ID 2 on row 16. If you wish to make use of this on gear, be sure to author your ID map accordingly.  For non-skin Shader IDs 4-6, when set, the entire model ignores self-cast shadows in favor of a fluffy parallax effect.