Integration Guides
Unity Integration Guide
Premium PBR Textures for Real-Time Engines
Installation
Import the GrainStack Unity Package into your project in under two minutes. The package is compatible with Unity 2021.3 LTS through 2023.3 and supports Standard, URP, and HDRP render pipelines out of the box.
Download the GrainStack-PBR-Unity-2.4.1.unitypackage file from your account dashboard. Open your Unity project, navigate to Assets > Import Package > Custom Package, and select the file. The import will add 340 high-resolution texture sets across 12 material categories, each organized into folders by surface type: Concrete, Wood, Fabric, Metal, Stone, Ceramic, Leather, Glass, Plaster, Fabric-Woven, Fabric-Knit, and Composite.
After import, verify the package integrity by checking the GrainStack/Textures folder. Each texture set contains four 4096×4096 PNG maps: Albedo (sRGB), Normal (Linear), Roughness (Linear), and Metallic (Linear). All maps are tiled at 2m×2m real-world scale and include embedded metadata for automatic tiling in Unity's Material Inspector.
Unity 2021.3 LTS
Minimum supported version. Requires URP 12.1.8+ or HDRP 12.1.7+. Standard Pipeline fully supported. Addressable Assets integration available.
Unity 2022.3 LTS
Recommended for production. Full GPU instancing support, Texture Streaming optimization, and native BC7/ASTC compression pipelines. Best performance on mobile and console targets.
Unity 2023.3
Latest stable release. Supports URP 14.x with improved PBR workflow, HDRP 14.x with physically-based roughness, and the new Shader Graph 14.1 node library for custom texture blending.
Material Setup
GrainStack textures are pre-configured for immediate use with Unity's Standard, URP Lit, and HDRP Lit materials. Each texture set ships with ready-to-apply material presets that match the correct pipeline.
Navigate to GrainStack/Materials and drag any preset onto your mesh. The material will automatically connect the Albedo, Normal, Roughness, and Metallic maps to the correct shader slots. All materials use a Tile Size of (1, 1) and Offset of (0, 0) by default, corresponding to a 2m×2m real-world UV layout. Adjust the Tile Size to match your scene's scale — for example, a 4m×4m floor plane should use a Tile Size of (2, 2) to maintain correct surface detail density.
Standard Pipeline: Use materials from the GrainStack/Materials/Standard folder. These use the built-in Standard shader with Metallic Workflow. Ensure your project's Color Space is set to Linear (Edit > Project Settings > Player > Color Space) for accurate PBR rendering.
Universal Render Pipeline (URP): Materials in GrainStack/Materials/URP use the URP Lit shader. Set your material's Surface Type to Opaque and Clear Coat to 0 for standard surfaces. For glossy finishes like polished concrete or lacquered wood, enable Clear Coat and set Clear Coat Smoothness to 0.8–0.95 using the included Clear Coat mask textures found in the GrainStack/Textures/ClearCoat folder.
High Definition Render Pipeline (HDRP): Materials in GrainStack/Materials/HDRP use the HDRP Lit shader with Physically-Based roughness mode. HDRP materials include additional IOR (Index of Refraction) values calibrated for each surface type — concrete at 1.52, wood at 1.58, metal at 2.3, and glass at 1.50. Enable Subsurface Scattering on fabric and leather materials using the included SSS thickness maps for realistic light penetration.
Standard Shader
Built-in Standard shader with Metallic/Glossiness workflow. Best for projects targeting older hardware or cross-platform builds without a render pipeline upgrade. 120 material presets included.
URP Lit Shader
Universal Render Pipeline with forward+ rendering path. Supports real-time GI, baked lighting, and hybrid rendering. 110 material presets with Clear Coat and Sheen variants for specialty surfaces.
HDRP Lit Shader
High Definition Render Pipeline with physically-based roughness, IOR calibration, and Subsurface Scattering. 110 material presets including advanced variants for translucent materials and anisotropic metals.
Shader Graph Integration
Extend GrainStack textures with Unity's Shader Graph for custom blending, procedural variation, and runtime texture switching. The package includes five pre-built Shader Graph assets that demonstrate common production workflows.
Open GrainStack/ShaderGraphs to access the included graph assets. Each graph is authored for URP 14.x and HDRP 14.x with matching node layouts. The five included graphs are: GS_BlendTwoTextures (alpha-masked blending between two GrainStack sets), GS_WearAndTear (grunge-based detail layering for battle-damaged surfaces), GS_ColorVariation (runtime hue and saturation controls for material theming), GS_TilingSeamless (UV rotation and offset to eliminate repetitive tiling on large surfaces), and GS_ParallaxOcclusion (height-map-driven parallax for enhanced surface depth on close-up geometry).
To create your own Shader Graph with GrainStack textures, start with a URP Lit or HDRP Lit master node. Add a Texture2D node for each map (Albedo, Normal, Roughness, Metallic) and connect them to the corresponding material output slots. For Normal maps, use a Normal node between the Texture2D and the Normal output to convert tangent-space normals correctly. Set the Texture2D node's Wrap Mode to Repeat and Filter Mode to Aniso 16 for crisp detail at oblique viewing angles.
For runtime texture switching, expose the Texture2D nodes as Properties by dragging them into the Property section of the graph. This allows you to swap GrainStack texture sets from a script using material.SetTexture("_AlbedoMap", newTexture) without recompiling the shader. This technique is used in the GS_ColorVariation graph to let designers swap between 12 concrete variants in a single material slot, reducing draw calls and material count in complex architectural scenes.