When a stone material changes after import, check coordinates, image interpretation and shader inputs before adjusting the light. A glossy black slab, a rough pale granite and a veined marble surface expose different errors, but the order of investigation can stay the same.
This checklist validates one material on a flat panel and a beveled block in Blender, Unity and Unreal Engine. It does not aim for pixel-identical images across renderers. Different lighting systems, tone mapping and shader implementations can produce legitimate visual differences even when the source data is assigned correctly.
If the project has no working imported model yet, begin with the Unity model-to-material workflow. For an existing object whose textures are completely absent, use the missing-texture troubleshooting guide before comparing subtle stone response.
Inventory the source and the destination shader
Write down the supplied image files, their intended channels, the selected texture preset and the destination shader. Inspect the package documentation and individual channels when filenames are ambiguous. Do not infer channel packing from a preview render or from another product by the same creator.
For a concrete test collection, the 24 Granite, Marble & Stone 4K PBR Materials Bundle supplies 4K textures with Metallic-Roughness, Unity and Unreal presets. Those are texture presets, not ready-configured engine projects. Check the actual files and shader requirements before deciding which preset to import or whether repacking is necessary.
The free Deep Black Textured Basalt material provides a smaller starting exercise with 2K textures in the Metallic-Roughness preset. Its dark, visibly textured surface is useful for separating reflection shape from small surface detail; configure any engine-specific channel layout as part of this validation.
Record the Unity render pipeline or Unreal material you are using. “Unity material” is not a complete specification: Built-in, URP, HDRP and custom shaders can expect different inputs. Also record the software version so the next person can reproduce the importer settings rather than following an inspector screenshot from an unrelated setup.
Establish a small reference scene
Use one flat panel to expose scale and repeat patterns, plus one beveled block to expose reflection changes near edges. Keep their dimensions and UVs consistent across applications. Add a plain reference material beside the stone so you can see whether a broad brightness difference affects the whole scene.
The Blender material test-scene guide provides a reusable starting point. Save the mesh and a reference render before exporting. Note the camera, lighting, exposure and view transform; this creates a record of the comparison conditions rather than a promise of matched color across engines.
Choose one recognizable vein or grain cluster and identify its position on the panel. That feature becomes a simple coordinate check. If it moves after import, investigate UV selection, tiling or offsets before inspecting roughness. A shading adjustment cannot repair a texture that is mapped onto a different part of the object.
Confirm scale and orientation before shading
Compare the object’s dimensions, the direction of the pattern and the number of repeats. A counter that was scaled during export may have the right silhouette relative to its neighbors while still using inconsistent texture coverage. Check measured dimensions as well as appearance.
For a slab with visible edges, the Blender countertop exercise gives you a useful reference for vein continuity. Inspect that same corner in the destination engine. A discontinuity that already exists in Blender is a modeling or mapping task; one that appears only after import suggests a changed UV channel, transform or mesh interpretation.
Use these initial checks with a simple shader. Keep decorative layering, vertex-color variation and additional detail normals disabled until the base material behaves predictably. Reintroduce them one at a time and preserve the last working version.
Separate color images from numerical data
Base color and numerical channels serve different purposes. A typical color image needs its intended color interpretation, while roughness, metallic and packed masks must be read as data rather than display colors. Normal images also require the application’s appropriate normal-map treatment.
Unity documents the sRGB import control: choose the texture type for its purpose and disable sRGB sampling when the image should be interpreted without that color conversion. Inspect the setting on the actual imported image, not just the material using it.
In Blender, check the image’s color-space setting and the node path separately. A correctly labeled roughness image can still be connected to the wrong input. A normal image needs the appropriate normal conversion node, not a direct color connection into a shader normal socket. The PBR map setup guide covers that foundation.
Verify roughness, smoothness and packed channels
Roughness and smoothness describe opposite ends of the surface response. For a direct conversion between matching normalized maps, smoothness is 1 - roughness. Apply that conversion only when it is actually needed: a supplied smoothness channel should not be inverted again merely because the original material was authored with roughness.
Unity’s URP Lit shader reference identifies a selectable smoothness source, including the alpha channel of the metallic or albedo texture. Check that selection and the smoothness multiplier. This URP example is not a universal packing layout for every Unity pipeline.
In Unreal, inspect the material graph and connect the channel that actually contains roughness. Do not assume that a packed image follows an ORM layout unless the preset documentation confirms it. A color preview of a packed texture combines several unrelated signals, so inspect the individual channel you intend to use.
If a different layout is required, use the PBR Channel Packer to assign sources explicitly and preserve an untouched copy. Start from the provided engine preset when it fits your shader; unnecessary conversion adds another place for an inversion or channel mismatch to occur.
Diagnose normal detail without guessing
Use a directional light and rotate it while watching an identifiable groove or grain feature. If relief looks reversed, inspect the source normal convention, image import type and mesh tangents before changing the intensity. A convention mismatch and a seam in the mesh can look similar from one angle.
Unreal’s Texture Asset Editor reference documents a Flip Green Channel control for relevant normal-map cases. Treat it as a deliberate correction, not a default setting for every imported map. If you already converted the source image, flipping it again can undo that correction.
Follow the OpenGL and DirectX normal-map troubleshooting guide when a controlled test indicates a convention mismatch. Inspect both the flat panel and the beveled block afterward. If the artifact stays attached to one mesh edge while the material changes, investigate the geometry and tangent basis rather than repeatedly editing the texture.
Add channels one at a time
Start with the color image and a constant, moderately rough nonmetal material. For example, roughness 0.4 is a diagnostic setting, not a recommended finish for every stone. Then enable the intended roughness or smoothness signal, followed by normal detail. Keep height-based effects disabled until those simpler stages pass.
| Symptom | First isolated check | Avoid changing yet |
|---|---|---|
| Veins move or change size | UV channel, tiling and object scale | Lighting intensity |
| Polished stone becomes uniformly dull | Channel source, inversion and multiplier | Base-color brightness |
| Rough stone becomes mirror-like | Roughness data and color-space interpretation | Extra roughness noise |
| Small relief appears reversed | Normal convention and import type | Displacement strength |
| Only the final build looks softer | Platform resolution, compression and streaming | The source UV layout |
Use a before-and-after capture for each stage. If the error appears when one signal is enabled, you have narrowed the investigation to that signal’s image, import settings or shader path. Keep the rest of the scene fixed while resolving it.
Review delivery settings and record the handoff
Once the material passes close inspection, evaluate it at the real camera distance and target output size. Check the destination build as well as the editor. Use the texture memory calculator to estimate candidate budgets, then confirm actual platform behavior in the engine. A 4K source does not require every object to ship at its maximum size.
Finish with a short handoff note: source material, selected preset, software and shader, map-to-input assignments, UV scale, any conversions, and approved reference views. Keep exported derivatives separate from the original files. This record makes a later import change explainable and lets you reuse a validated stone material without repeating the entire investigation.

