We encounter that the character is the most demanding object in the texture pipeline. Creating game textures for characters involves PBR textures that must satisfy both visual and technical requirements. The player looks at it constantly, up close, from different angles. Any mistake in the material is immediately visible: skin without proper scattering looks like plastic, fabric with wrong roughness like foil, metal without edge wear like store-bought. Character texturing is not 'make it pretty' — it's solving a set of specific technical tasks, from setting up Subsurface Scattering to optimizing draw calls via batching. With over 10 years of experience and 50+ characters delivered for AAA and indie projects, we offer a turnkey service: from UV analysis to final engine check. Our pipeline reduces time by 30% compared to standard methods. Using ID Map combined with Substance Painter speeds up work by 4 times compared to manual masking — ID Map is 4x faster than manual selection. Let's break down the key technical nuances we solve when texturing characters. Contact us for an evaluation of your project — we'll prepare an estimate and timeline. For example, texturing a simple NPC at $500 saves $150 compared to standard methods, and a hero character at $2000 saves $600.
How to Achieve Realistic Skin?
Human skin is a dielectric with Subsurface Scattering (SSS). Light doesn't reflect off the surface like metal — it penetrates inside, scatters, and comes back out with changed color. For correct skin in a PBR pipeline, you need at least three things:
- Correct Albedo: base color is darker than it appears under final lighting. Mistake: artists make albedo too light. With SSS enabled, skin blows out. Good skin: roughness 0.55–0.75, metallic 0, albedo 160–200 in RGB.
- Subsurface Scattering map: in Unity HDRP this is the Subsurface Mask in the Lit Shader. Ears, nose, fingers are brighter. In Unreal Engine 5 — Subsurface Profile asset with Scatter Radius parameters. We utilize skin SSS to achieve translucency.
- Detail Normal Map for pores: a separate tiling texture applied via Tiling UV (scale x10–x20). Without it, the face looks like plastic. Skin SSS is crucial for realism.
How to Add Edge Wear on Metal?
Metal on a character is almost never new. Edge wear on edges via Curvature Generator (metallic 0.95, roughness 0.2), scratch pattern via Anisotropy map, rust via AO Generator. Layered approach in Substance Painter: base metal → scratches → edge wear → rust/dirt → final adjustments. This gives realistic wear. Our pipeline applies wear 2x faster than manual painting. The microfacet model (Cook-Torrance) and Schlick approximation for Fresnel are used to ensure energy conservation and proper reflections.
Texturing Clothing and Armor
A character rarely consists of a single material. We use ID Map — a texture where each material is colored. In Substance Painter this allows assigning Fill Layers with ID masking. For fabric, Roughness range is important: wool 0.85–0.9, silk 0.3–0.45, denim 0.75–0.8. Without ID Map, the artist works with manual masks — slow and error-prone.
Working with Hair
Hair uses alpha-clipped planes (hair cards) with Anisotropic Specular. In Unity HDRP — Hair Shader with Azimuthal Roughness and Longitudinal Roughness parameters. In Unreal — Hair Shader with Backlit. Texture: Albedo with alpha, Normal Map, Root-to-Tip Gradient. Alpha in a separate channel, 16-bit for smoothness.
Our Work Includes
We provide a full character texturing cycle turnkey:
- UV layout and texel density analysis
- Baking Normal/AO/Curvature/ID Map
- Material creation (skin, fabric, metal, hair)
- Subsurface Scattering and Anisotropy setup
- Final check in Unity HDRP or Unreal Engine 5
- Texture export preparation (formats, compression)
- Material documentation
Cost is calculated individually, starting from $500 for simple NPCs (saving $150) and $2000 for heroes (saving $600), with budget savings up to 30% due to pipeline optimization. Contact us for a consultation.
Process
- Analysis: mesh assessment, UV, requirements (1 day)
- Design: material selection, ID Map preparation (1-2 days)
- Implementation: zone-by-zone texturing (3-15 days)
- Test: check under different lighting (1-2 days)
- Deployment: export, engine integration (1 day)
| Task Scale | Approximate Timeframe |
|---|---|
| NPC / background character | 4–8 days |
| Main character without face | 8–15 days |
| Hero character with facial setup | 15–25 days |
| Creature / monster | 10–20 days |
| Typical Roughness Values for Materials | Roughness |
|---|---|
| Wool | 0.85–0.9 |
| Silk | 0.3–0.45 |
| Denim | 0.75–0.8 |
| Human skin | 0.55–0.75 |
| Metal (iron) | 0.2–0.4 |
Our team: 10+ years in game dev, more than 50 characters implemented. We guarantee quality meeting PBR standards. All work follows a linear workflow with sRGB gamma and OCIO color management for consistent results.
What's Included in Our Service
- UV analysis and layout optimization with proper texel density
- High-resolution texture maps: Albedo, Normal, Roughness, Metallic, AO, Subsurface, Anisotropy
- Engine-specific material setup for Unity HDRP (Lit Shader, Hair Shader) and Unreal Engine (Subsurface Profile, Hair Shader)
- Technical documentation: texture parameters, shader settings, material instances
- Export preparation: texture compression (BC5, BC7), atlasing, LOD support
- Post-delivery support: troubleshooting, adjustments, and optional training sessions
For Unity HDRP texturing, we ensure correct Subsurface Mask and Profile values. Unreal Engine textures are created with the appropriate shader models and material instances.
Material verification is a mandatory step before delivery. The character is run through HDR lighting, overcast outdoor, hard side light, night scene. A material that looks good only under one lighting is not ready.
Order character texturing — get a consultation on your project.
Unity HDRP Lit Shader documentation
More about Subsurface Scattering in Unity HDRP
In Unity HDRP, SSS parameters are set via Subsurface Mask and Subsurface Profile. Recommended values: Scatter Radius 0.5-1.0 mm for skin.





