|Get the most out of this article by first reading An Intro to Mass Effect Mods.|
|This article has been updated for ME3Explorer v3.0.|
Texture modding is a large and complex topic that for the most part is out of the scope of this wiki. However, when viewing/replacing textures via Texplorer or TPF Tools, it can be useful — even necessary — to understand certain details about the textures in question.
This article contains a brief primer on the different texture formats and compressions present in all three games, describes variations in how all three games store textures, provides a comparison of how ME3Explorer and Texmod handle texture replacement. It should be of considerable use when troubleshooting issues with texture installation.
As discussed in An Intro to Mass Effect Mods, all three installments of the Mass Effect trilogy use Microsoft's Direct Draw Surface(DDS) format for textures. This format was introduced with DirectX 7.0 and has become the industry standard for use in DirexctX/Direct3D gaming applications. DDS files are highly versatile, supporting compressed and uncompressed texture data that uses a variety of formats and algorithms. It's due to this variation that textures for Mass Effect get very complicated, very quickly.
The variety in DDS formats and compressions corresponds (in part) to the type of data being stored. Texture data may include: RGB (color), alpha (transparency), palette (amount of colors available), luminance (light intensity), bump (surface texture), and more.
The trilogy doesn't use every format and compression available. It sticks to a small subset, and installments vary depending on the texture asset. More on this in the summary table at the bottom of this article, but for now, here's a simple list of those used in all three games:
In addition to game textures needing to be saved as DDS files and properly formatted/compressed, three other things matter when replacing textures: size, proportion, and mipmaps.
Size and Proportion
Mass Effect's Unreal 3 game engine has a hard upper limit of 4096px for texture rendering. Textures are most often square, and any changes in scaling must be done in powers of two, while retaining the texture's exact proportion. For example, a vanilla texture that's 256x256px can be increased to 512x512px; it cannot be increased to 500x500px.
Texture sizes are not "guidelines". They are exact measurements that cannot be off by a single pixel. Improperly-sized textures cannot be rendered by the game, so the toolset contains checks that will prevent their installation. TPF Tools is capable of fixing small deviations from the necessary size, but this will always come at the cost of a certain amount of quality (pixelation, blurring, etc). Using an external image editor is always the more powerful solution.
Scaling non-square textures may or may not work. GUI textures (codices/war asset images) may be safely scaled, however, problems have been reported for textures that have associated VFX, such as aquarium plants and armor visors. Scale these at your own risk.
Mipmaps are a series of lower resolution textures packaged in the same file as the "parent" highest resolution image. This is the way DirectX reduces the demands of the game engine and the strain on your GPU/CPU; it only renders a texture's highest resolutions when necessary. For example, when Shepard is standing close to an NPC, their eye texture may be rendered at 512x512px, but by the time Shepard's walked across the room, it's rendered at 16x16px.
In Mass Effect, all non-GUI textures have mipmaps, but there is a certain amount of variation in exactly which mips are present. For the purposes of replacement, however, new textures should always have a full compliment of mips that begins with the largest parent texture and decreases by a power of two with each successive step.
For example, a new 4K texture should have a total of 13 mipmaps when inserted into the game:
Mipmaps should not be created manually. Image editing programs will auto-generate them from the highest resolution parent image, as long as the "Generate mipmaps" option is checked when saving. This will ensure the correct number is created for use by the toolset. To know whether a texture uses mipmaps, just look for "Mipmaps: True" in Texplorer.
Textures in the trilogy follow specific naming schemes. Understanding BioWare's conventions makes it easier to locate a desired texture for observation or extraction with Texplorer. The table below summarizes most of the commonly used conventions.
When searching for a texture in Texplorer, always try using both the abbreviation and full word, as BioWare isn't 100% consistent with their conventions (i.e, they use both "Thane" and "THN"). If an asset isn't listed below, try searching by full word (e.g., Anderson, fish, shuttle, etc).
Clothing + Armor
People + Classes
Faces + Hair
Suffixes & Map Types
Most game assets — like a piece of armor — are affected by multiple textures. These textures "map" different types of data onto the asset, controlling color, light reflection, surface height, and more. BioWare tends to use specific suffixes to denote each type of texture map, and data differences among maps correlates with specific compressions and formats.
Common suffixes include:
- Diff — The diffuse map. The diffuse houses the texture's basic RGB appearance. Many textures, like codex images, only have a diffuse map.
- Emis — The emissive map contains information about which regions of the texture should glow. Only objects that need lighting effects like armor, weapons, prothean beacons, etc, have emissive maps.
- Mask — A mask is a black-and-colored map that covers various areas of the texture to force color onto other areas. Used for make up, tattoos, and more.
- Norm — The normal map is usually light purple, but its purpose is not to render color. Instead, it contains information about the surface texture of an object, adding dimension and geometry to keep objects from looking "flat".
- Spec — The specular map usually appears similar to the diffuse, but in different colors and often darker. It controls the amount and color of light the texture reflects.
- SPwr — This is probably a specular power map. It controls the intensity of the specular map. Sort of like adjusting the saturation of a color.
- Strp — The stripe map controls the application of graphic designs and stripes to a texture. This is typically is used for armors and clothing to implement stripes, camouflage, etc.
- Tang — The tangent map is a specular map specific to hair. It controls the same parameters but is specialized to deal with how the head's curvature influences the interaction of light and texture.
- Tint — A tint map is used to tint an entire texture, or area of a texture, with a specified color. Tint maps help add depth and richness to a texture.
As mentioned in An Intro to Mass Effect Mods, Mass Effect stores DDSes inside other, larger files. The exact format for each game varies, therefore, the mechanism for replacement does as well. Before touching on each game, we'll take a moment to compare some key differences between Texmod and the toolset.
Texmod vs. ME3Explorer
Prior to the creation of ME3Explorer, the primary way (if not the only way) to extract and replace textures was with a utility called, Texmod. Running a game through Texmod allows the user to browse, extract, and save game textures. Modifications are achieved by using an on-the-fly memory modification that's graphically-intense and inefficient, but leaves the files unaffected. For this reason, it doesn't care about proper texture formatting. Therefore, it's very, very common for Texmod TPFs to contain textures in TGA, PNG, JPG, TIF, BMP, and other non-DDS file formats.
Unlike Texmod, the toolset physically replaces textures inside the files, allowing the game to load the modded texture in the exact same manner as the original. For this reason, the toolset expects consistency when replacing textures — that any new texture will be the exact same format, compression, and proportion as the original. If it doesn't match, then the tools won't allow the replacement, since the texture may not render properly in-game.
To be very clear, ME3Explorer's texture alterations are permanent. There is no way to "uninstall". Changing them requires the user to revert the file to a previous version, or use the tool to replace the texture. In other words, to revert to the vanilla texture, the user must have a copy of the vanilla file. As such, it's convenient to test new textures with Texmod prior to using Texplorer or TPF Tools to install them permanently.
Mass Effect 3
Mass Effect 3 stores most textures inside a small handful of Texture Cache Files (TFCs). TFCs are an efficient means of storage since they allow multiple game files (PCCs) to reference a single texture (in a single location). The alternative is placing copies of the same texture inside multiple PCCs, thus inflating the size of the game.
While efficient, a side effect of the TFC method is that replacing a texture edits all PCCs that reference that texture. For example, changes to commonly referenced textures such as eyebrows or eyelashes can affect hundreds of files. Thus, textures must be changed with care.
To preserve BioWare's TFCs, ME3Explorer generates a new TFC, CustTextures#.tfc and places all new texture data here. All PCCs that reference the replaced texture are then redirected to the new "address" inside the new file. Texture changes inside this new TFC are cumulative. The new file will grow in size with each texture change; texture data is never overwritten, only added.
GUI textures are again the exception to the above rules. Since these textures are PCC-stored, only the PCC itself is altered; no new PCCs are created.
Mass Effect 2
Texture storage and replacement in Mass Effect 2 is handled almost identical to ME3. The main differences is that no CustTextures#.tfc is generated and texture changes are made to BioWare's TFC files.
As mentioned in An Intro to Mass Effect Mods, Mass Effect's files system differs significantly from ME2 and ME3. This is reflected in its type of DDS storage, mechanism of replacement, and capabilities of replacement.
Rather than TFC files, ME1 uses UPK/U files as its main means of texture storage. These work along with and SFMs, which are the counterpart of PCCs. Due to these differences and some variations in texture handling, replacement in ME1 has to be done a bit more conservatively. "PCC" (File) selection options in Texplorer and TPF Tools should not be used for ME1. Doing so can break texture installation if certain files are deselected, or if textures are installed in the incorrect order.
The table below summarizes various details covered in this article. It correlates each algorithm name with compression details, game(s) they are used in, types of assets they are used for, and provides a sample texture.
All information is correct to the best of our knowledge, but it's always possible we'll discover exceptions to these rules. The table will be updated as needed.
|A8R8G8B8 (ARGB)||uncompressed, 32-bit RGB w/alpha (4 channels, 8 bits/channel)||all 3 games||often used for VFX textures|
|ATI2N/3DC/BC5||compressed, 16-bit XY (2 channels, 8 bits/channel)||ME1, ME2||normal maps|
|DXT1/BC1||compressed, 16-bit RGB w/1-bit alpha (4 channels; 5 bits/channel for colors, 1 bit for alpha) OR compressed, 24-bit RGB (3 channel; 5 bits/channel for Red/Blue, 6 bits for Green)||all 3 games||cubemaps, diff, emis, mask, normals, spec, spwr, strp, tang, tints|
|DXT5/BC3||compressed, 32-bit RGBA w/8-bit alpha (4 channels, 8 bits/channel)||all 3 games||cubemaps, diff, emis, mask, normals, spec, spwr, strp, tints|
|G8/L8||uncompressed, 1 8-bit channel (luminance only)||all 3 games||often used in holographic textures|
|V8U8||uncompressed, 16-bit UV (2 channels, 8 bits/channel)||ME3||normal maps|