
GITNUXSOFTWARE ADVICE
Art DesignTop 10 Best 3D Texturing Software of 2026
Compare top 3D Texturing Software tools in a ranking roundup for Substance 3D Painter, Substance 3D Sampler, and Quixel Mixer users.
How we ranked these tools
Core product claims cross-referenced against official documentation, changelogs, and independent technical reviews.
Analyzed video reviews and hundreds of written evaluations to capture real-world user experiences with each tool.
AI persona simulations modeled how different user types would experience each tool across common use cases and workflows.
Final rankings reviewed and approved by our editorial team with authority to override AI-generated scores based on domain expertise.
Score: Features 40% · Ease 30% · Value 30%
Gitnux may earn a commission through links on this page — this does not influence rankings. Editorial policy
Editor’s top 3 picks
Three quick recommendations before you dive into the full comparison below — each one leads on a different dimension.
Quixel Mixer
Editor pickNon-destructive layer stack with procedural mask generators for material wear and grime
Built for artists creating layered PBR materials and texture sets for real-time assets.
Related reading
Comparison Table
This comparison table evaluates three 3D texturing tools, including Substance 3D Painter, Substance 3D Sampler, and Quixel Mixer, using integration depth, data model, and automation and API surface. It also scores admin and governance controls such as RBAC, audit log coverage, and provisioning patterns, so teams can map each tool to existing pipelines. Readers can compare configuration schema, extensibility options, and expected throughput tradeoffs across authoring and material workflow stages.
Adobe Substance 3D Designer
Procedural materialsBuilds procedural materials and texture generators with node graphs and exports PBR textures for downstream painting and rendering.
Substance graph instancing for reusable procedural materials with parameter-driven variants
Adobe Substance 3D Designer stands out for its node-based material authoring workflow that builds textures from procedural graphs. It supports physically based material creation with numerous built-in filters and generators, then exports maps for games and real-time pipelines.
The software emphasizes reuse through graph instancing, allowing teams to create consistent material families with parameter tweaks. Strong integration with Substance 3D Sampler and Substance 3D Painter supports end-to-end look development from procedural creation to final texturing.
- +Node graph workflow enables procedural, parametric material variations at scale.
- +Built-in BSDF-aware PBR toolset accelerates surface detail generation and tuning.
- +Graph instancing supports consistent material families across large asset libraries.
- +Exportable texture outputs fit standard PBR map workflows for real-time engines.
- +Interoperability with Substance 3D Painter and Sampler streamlines look development.
- –Steep learning curve for efficient graph design and optimization.
- –Complex graphs can become slow to evaluate without careful structure.
- –Procedural realism sometimes needs manual tweaks to match art-direction targets.
- –UV-centric look refinement still benefits from Painter-like tools for many cases.
Best for: Teams needing procedural PBR materials with reusable graphs for asset pipelines
More related reading
Adobe Substance 3D Designer
Procedural materialsBuilds procedural materials and texture generators with node graphs and exports PBR textures for downstream painting and rendering.
Substance graph instancing for reusable procedural materials with parameter-driven variants
Adobe Substance 3D Designer stands out for its node-based material authoring workflow that builds textures from procedural graphs. It supports physically based material creation with numerous built-in filters and generators, then exports maps for games and real-time pipelines.
The software emphasizes reuse through graph instancing, allowing teams to create consistent material families with parameter tweaks. Strong integration with Substance 3D Sampler and Substance 3D Painter supports end-to-end look development from procedural creation to final texturing.
- +Node graph workflow enables procedural, parametric material variations at scale.
- +Built-in BSDF-aware PBR toolset accelerates surface detail generation and tuning.
- +Graph instancing supports consistent material families across large asset libraries.
- +Exportable texture outputs fit standard PBR map workflows for real-time engines.
- +Interoperability with Substance 3D Painter and Sampler streamlines look development.
- –Steep learning curve for efficient graph design and optimization.
- –Complex graphs can become slow to evaluate without careful structure.
- –Procedural realism sometimes needs manual tweaks to match art-direction targets.
- –UV-centric look refinement still benefits from Painter-like tools for many cases.
Best for: Teams needing procedural PBR materials with reusable graphs for asset pipelines
Quixel Mixer
Layered materialsBlends scanned and library materials with layer-based controls to produce PBR textures and export texture maps.
Non-destructive layer stack with procedural mask generators for material wear and grime
Quixel Mixer is a 3D texturing tool focused on authoring PBR materials through a layered, non-destructive workflow that targets final shader-ready surfaces. It supports texture painting plus procedural mask generation so materials like dust, edge wear, and surface grime can be iterated without rebuilding an entire graph. It also exports complete texture sets and supports common channel packing patterns used in real-time and DCC shader pipelines.
A key tradeoff is that Mixer is strongest for material and surface authoring rather than for general-purpose 3D modeling or full scene layout. This limitation shows up when projects need extensive UV rework, custom geometry processing, or rigging, which are outside the tool’s core workflow. Mixer fits well for preparing game assets and archviz materials where fast material iteration and consistent PBR output matter across many variations.
- +Non-destructive layer stack for quick iteration on complex material breakup.
- +Procedural mask generators for consistent wear and grime across surfaces.
- +Direct export of PBR texture sets suitable for common real-time shaders.
- +Intuitive masking tools that reduce time spent on manual repainting.
- +Strong support for channel packing workflows for texture efficiency.
- –Layer and mask authoring can feel limiting for highly custom shaders.
- –Advanced effects may require external tools for full production needs.
- –Less suited for sculpting and modeling tasks within the same toolset.
Real-time environment artists building modular game levels
Authoring multiple variants of the same wall and ground materials using layered masks for dirt and edge breakup
Faster production of consistent, tileable material variations that export cleanly for real-time shaders with packed texture channels.
Technical artists standardizing texture workflows across a studio
Producing channel-packed outputs that align with an existing shader and asset import pipeline
Lower rework rates during handoff because texture channel layouts and material layering are consistent across the asset library.
Show 2 more scenarios
Product visualization artists creating close-up surface details for renders
Iterating on scratch, smudges, and worn edges for high-detail product surfaces
Improved visual realism in renders through faster iteration on PBR surface breakup and edge wear without destructive edits.
Mixer allows artists to combine texture painting with procedural breakup masks so surface imperfections can be tuned while keeping the underlying material editability. This supports quick iterations when render feedback shows that highlights and micro-contrast need adjustment.
3D generalists preparing assets for DCC and engine import
Generating complete PBR texture sets from a single material workflow for assets with consistent material expectations
Quicker asset readiness because textures are produced as a coherent set that matches downstream material slots.
Mixer outputs a full texture set for common PBR pipelines, which helps generalists avoid stitching together multiple texture sources. Channel packing support also simplifies shader setup in tools that expect packed inputs.
Best for: Artists creating layered PBR materials and texture sets for real-time assets
More related reading
ArmorPaint
Open-sourcePaints PBR textures with real-time viewport feedback and exports texture maps for game and film assets.
Layer-based painting with procedural generators for direct PBR texture creation
ArmorPaint stands out as a real-time 3D painting and material authoring tool aimed at fast iteration over classic offline workflows. It provides a texture painting stack with layers, procedural generators, and PBR material inputs designed for game-ready assets.
Export options support common PBR texture maps, and the viewport workflow emphasizes immediate feedback while you paint. The tool’s focus on painting and shading can feel narrow compared with full DCC texturing suites that include broader UV, baking, and pipeline automation.
- +Real-time painting feedback while adjusting materials and layers
- +Layered workflow with procedural effects for quick iteration
- +Solid PBR texture authoring with practical export of map outputs
- +Viewport-first usability that reduces context switching during painting
- –Limited breadth versus full DCC tools for UV and baking workflows
- –Advanced pipeline automation and rigged asset integrations are not a primary focus
- –Complex materials and large texture sets can demand careful performance tuning
Best for: Artists painting PBR assets who want fast, viewport-driven texture iteration
Blender
All-in-oneUses nodes and texture painting to author PBR texture maps, including UV unwrapping and baking workflows within one tool.
Texture Paint mode with layered materials and masking inside Blender
Blender stands out because it combines full 3D creation with a dedicated texture painting workflow and shader authoring in one application. Texture painting supports brushes, masking, and multi-layer materials so detailed surface work can stay inside the same project files. Node-based materials and UV tools let texturing flow directly into look development with procedural and baked options.
- +Integrated UV editing, texture painting, and node materials in one workflow
- +Layered texture painting with masking supports complex surface detailing
- +Node-based shading and procedural texture generation reduce dependency on external tools
- +Broad export and baking options help convert textures for real-time use
- +Large ecosystem of add-ons and documented pipelines for 3D texture tasks
- –Texturing UI can feel dense compared with dedicated painting apps
- –Advanced shader networks increase setup time for simple material needs
- –Stability can vary with heavy scenes and high-resolution texture maps
Best for: Artists and studios needing an all-in-one texturing pipeline without tool switching
Mari
UDIM paintingProvides high-resolution texture painting and UDIM workflows with advanced layering and baking for complex assets.
AI-guided texture generation tightly integrated into 3D-aware painting strokes
Mari stands out with its deep paint workflow built around neural-style inspired guidance, using AI assistance to accelerate decisions during texturing. It supports 3D-aware texture projection and blending across UVs and surfaces so edits remain consistent on the model.
The tool also provides high-resolution layer painting with robust mask and filter controls for physically minded surface detail. Generative and AI-driven features are integrated into the painting loop, which speeds up iteration for materials and wear patterns.
- +3D-aware projection keeps strokes consistent across complex surfaces
- +Layered painting with masks enables controlled material detail refinement
- +AI-assisted texturing speeds up variations and wear pattern creation
- +High-resolution workflows support texture work without obvious blocking
- –Advanced controls require learning to avoid workflow dead-ends
- –Some AI outputs still need manual cleanup for production-ready results
- –Heavy texture data can make hardware demands feel substantial
- –Export and pipeline handoff can be less straightforward for mixed tools
Best for: Artists needing fast, controllable 3D texture painting with AI assistance
More related reading
Adobe Substance 3D Designer
Procedural materialsBuilds procedural materials and texture generators with node graphs and exports PBR textures for downstream painting and rendering.
Substance graph instancing for reusable procedural materials with parameter-driven variants
Adobe Substance 3D Designer stands out for its node-based material authoring workflow that builds textures from procedural graphs. It supports physically based material creation with numerous built-in filters and generators, then exports maps for games and real-time pipelines.
The software emphasizes reuse through graph instancing, allowing teams to create consistent material families with parameter tweaks. Strong integration with Substance 3D Sampler and Substance 3D Painter supports end-to-end look development from procedural creation to final texturing.
- +Node graph workflow enables procedural, parametric material variations at scale.
- +Built-in BSDF-aware PBR toolset accelerates surface detail generation and tuning.
- +Graph instancing supports consistent material families across large asset libraries.
- +Exportable texture outputs fit standard PBR map workflows for real-time engines.
- +Interoperability with Substance 3D Painter and Sampler streamlines look development.
- –Steep learning curve for efficient graph design and optimization.
- –Complex graphs can become slow to evaluate without careful structure.
- –Procedural realism sometimes needs manual tweaks to match art-direction targets.
- –UV-centric look refinement still benefits from Painter-like tools for many cases.
Best for: Teams needing procedural PBR materials with reusable graphs for asset pipelines
BodyPaint 3D
Mesh paintingPaints textures directly on 3D meshes with brush tools, layers, and UV workflows for production texturing.
Projection painting with live brush control across surfaces
BodyPaint 3D distinguishes itself with deep, integrated paint and texture workflows inside a dedicated 3D texturing environment. It supports multi-object painting, UV workflows, and projection painting for fast skin and surface detailing.
Tools for normal maps, displacement, and material setup support production-style texture authoring. The strongest day-to-day value comes from tight round-trips between texturing and rendering workflows rather than from a modular, tool-agnostic approach.
- +Integrated texture painting with UV and projection tools for rapid surface detail
- +Strong support for PBR map creation like normal and displacement workflows
- +Workflow handles multi-object painting for consistent asset texturing
- –Texture pipeline complexity can feel heavy for small, simple projects
- –Learning curve is steep for advanced brush, UV, and map management
- –Interoperability depends on external DCC conventions for best results
Best for: Studios needing production-grade 3D texture authoring with projection and UV painting
More related reading
NVIDIA Omniverse Create
USD materialsAuthors PBR materials and textures in a USD-based workflow for simulation and real-time rendering contexts.
Real-time PBR material authoring tied to USD scene interchange.
NVIDIA Omniverse Create stands out for connecting real-time 3D material authoring with a collaborative scene workflow built on USD. It supports node-based texture workflows, Physically Based Rendering materials, and round-trip editing to Omniverse and other USD-capable pipelines.
The tool emphasizes iteration speed through viewport feedback and renderer-aware material setup. Its biggest limitation as a texturing solution is that many advanced authoring tasks depend on adjacent Omniverse components and renderer configuration rather than a dedicated standalone texturing UI.
- +USD-native workflow keeps material edits consistent across connected apps
- +Node-based material authoring with PBR alignment supports production-ready assets
- +Real-time viewport feedback speeds up texture look development and iteration
- +Collaboration features support shared scene review and asset handoffs
- –Texture authoring depth can feel indirect without the right Omniverse tools
- –Renderer and pipeline setup complexity increases the learning curve
- –Best results rely on USD-centered workflows and compatible downstream tooling
Best for: Studios using USD pipelines that need fast collaborative PBR texturing.
Krita
Image paintingPaints and edits high-resolution texture images and supports brush tools and color management for texture authoring workflows.
Brush Engine with Realistic pressure input and advanced stabilization for crisp texture strokes
Krita stands out as a high-end 2D painting app with professional brush engines that can support 3D texturing workflows. It provides seamless support for texture painting via layer-based painting, masking, and non-destructive adjustments.
It also includes tools that help create texture maps like normal and height maps using filters and layer effects. Its main limitation for 3D texturing is the lack of native 3D painting, UV editing, and renderer-specific export pipelines.
- +Powerful brush engine with pressure and stabilized strokes for detailed texture work
- +Layer masks and adjustment layers enable non-destructive wear, grime, and variation
- +Tools for procedural map generation and texture refinement through filters and effects
- –No built-in 3D painting, UV unwrapping, or in-app mesh projection
- –Texture export and map packing workflows require manual setup and discipline
- –Workflow depends on external tools for baking, UVs, and model preview
Best for: Texture artists creating 2D maps that integrate with external 3D pipelines
Conclusion
After evaluating 10 art design, Adobe Substance 3D Designer stands out as our overall top pick — it scored highest across our combined criteria of features, ease of use, and value, which is why it sits at #1 in the rankings above.
Use the comparison table and detailed reviews above to validate the fit against your own requirements before committing to a tool.
How to Choose the Right 3D Texturing Software
This buyer's guide covers Substance 3D Painter, Substance 3D Sampler, Quixel Mixer, ArmorPaint, Blender, Mari, Adobe Substance 3D Designer, BodyPaint 3D, NVIDIA Omniverse Create, and Krita. The guide focuses on integration depth, data model choices, automation and API surface, and admin governance controls across these tools.
The recommendations compare texture authoring workflows like Substance graph instancing in Adobe tools, non-destructive layer stacks in Quixel Mixer, and USD-based interchange in NVIDIA Omniverse Create. Each section connects evaluation criteria to concrete mechanisms such as layer stacks, projection painting, node graphs, and supported map export patterns.
Evaluation criteria mapped to real production control points in texture pipelines
Integration depth decides whether texturing assets stay consistent across tools and handoffs, such as Designer to Painter and Sampler combinations in Adobe workflows. Data model choices decide whether changes scale across libraries through parameter-driven variants like graph instancing.
Automation and API surface determine whether texture generation can plug into provisioning and repeatable builds, and governance controls determine whether teams can audit and restrict who can author, export, and publish texture assets. In practice, these control points show up as workflow repeatability mechanisms like layer stacks, procedural masks, projection painting, and USD scene interchange.
Procedural reuse through graph instancing
Substance graph instancing enables reusable procedural materials with parameter-driven variants in Substance 3D Designer, and that same family reuse theme appears across Substance 3D Painter and Substance 3D Sampler. This reuse mechanism matters when asset libraries need consistent material families with predictable variations at scale.
Non-destructive layer stacks with procedural masks
Quixel Mixer provides a non-destructive layer stack paired with procedural mask generators for wear and grime. ArmorPaint and Blender also use layered workflows with masking to support iteration without rebuilding the entire look.
3D-aware painting with projection tools
BodyPaint 3D uses projection painting with live brush control across surfaces to speed up skin and surface detailing. Mari keeps strokes consistent across complex surfaces with 3D-aware projection, which reduces drift when painting over UV seams.
Data interchange depth via USD-native material authoring
NVIDIA Omniverse Create ties PBR material authoring to a USD scene workflow with round-trip editing to Omniverse and USD-capable pipelines. This data model choice matters for teams that need collaborative scene interchange and consistent material edits across connected apps.
Automation-ready pipeline fit for procedural-to-final workflows
Substance toolchains emphasize end-to-end look development through integration between Substance 3D Designer, Substance 3D Sampler, and Substance 3D Painter. This integration breadth reduces manual rework when generating textures from procedural sources then finishing in a dedicated painting application.
Governance controls around exports, edits, and collaboration
NVIDIA Omniverse Create includes collaboration and shared scene review features tied to USD workflows, which can support governance around who reviews changes and how assets move through connected pipelines. For tools where pipeline automation depends on adjacent DCC conventions, governance often shifts to the surrounding pipeline rather than a native admin layer inside Blender, Krita, or ArmorPaint.
Decision framework for selecting a texturing tool by workflow integration and control depth
Start by mapping the team’s core authoring style to the tool’s data model, since procedural reuse, layered painting, or USD-native interchange each changes how assets propagate. Next, align integration depth to the rest of the pipeline so texture outputs plug into downstream shader and engine workflows without re-authoring.
Then evaluate automation and API surface as a pipeline requirement, because procedural generation at scale and repeatable texture builds depend on whether the workflow can be orchestrated. Finally, confirm governance controls for auditability and role separation by checking whether collaboration is built into the data model, like USD collaboration in NVIDIA Omniverse Create, or sits outside the authoring tool.
Pick a workflow model: procedural graphs, layered painting, or USD scene authoring
Teams focused on procedural material families should evaluate Substance 3D Designer and Substance 3D Painter because graph instancing supports parameter-driven variants across asset libraries. Artists focused on fast final surface iteration should evaluate Quixel Mixer with its non-destructive layer stack and procedural mask generators. Studios already standardized on USD scene interchange should evaluate NVIDIA Omniverse Create because it authors PBR materials tied to a USD workflow.
Match integration depth to the rest of the toolchain
If procedural generation happens first, then look development happens later, Substance 3D Designer plus Substance 3D Sampler plus Substance 3D Painter supports an end-to-end flow from procedural creation to final texturing. If a single app must cover UV editing and painting, Blender combines UV tools, texture painting, and node materials inside one project file. If painting needs to stay tightly connected to rendering round-trips, BodyPaint 3D emphasizes integrated texture painting in a dedicated environment.
Decide how changes must propagate across large libraries
For library-wide consistency, prioritize Substance graph instancing in Adobe tools and parameter-driven material variants in Substance 3D Designer, Substance 3D Painter, and Substance 3D Sampler. For iteration over complex breakup like dust and edge wear, prioritize non-destructive layers and procedural masks in Quixel Mixer or layer stacks with procedural generators in ArmorPaint. For 3D-consistent brush behavior across complex surfaces, use Mari’s 3D-aware projection or BodyPaint 3D’s projection painting to prevent stroke drift.
Validate production needs for texture data scale and viewport iteration
When texture data is large and painting must remain consistent over geometry, Mari is built around 3D-aware projection and AI-assisted guidance inside the paint loop. For teams that want real-time viewport feedback during authoring, ArmorPaint emphasizes immediate viewport-first iteration while painting layers and PBR material inputs. For teams needing production-grade projection and UV painting together, BodyPaint 3D supports multi-object painting plus normal and displacement style workflows.
Assess automation and governance requirements for asset review and export
If the pipeline requires shared scene review and interchange across connected apps, NVIDIA Omniverse Create aligns with USD-native material authoring and collaboration features. If governance relies on keeping edits inside one file type and one app, Blender centralizes UV editing, painting, and node materials, but export and map packing still require disciplined setup. If the pipeline expects advanced procedural generation, Substance 3D Designer graph complexity can slow evaluation without careful structure, which affects throughput planning.
Which teams and artists fit each 3D texturing tool’s workflow constraints
Different tools dominate different parts of production because their underlying mechanisms prioritize reuse, layering, projection, or interchange formats. The best fit depends on whether the project needs procedural scalability, fast layer iteration, or 3D-aware painting consistency.
Audience fit below mirrors each tool’s stated best-for focus, including asset-library procedural reuse in Substance tools and layer-based final surface authoring in Quixel Mixer. It also covers 3D-aware projection painting for complex assets and USD collaboration needs in NVIDIA Omniverse Create.
Asset pipeline teams needing reusable procedural PBR materials
Substance 3D Designer and Substance 3D Painter fit this need because graph instancing supports reusable procedural materials with parameter-driven variants across large asset libraries. Substance 3D Sampler also aligns with this segment because it generates editable PBR materials from image and procedural sources for export-ready texture sets.
Real-time asset artists who need fast non-destructive surface authoring
Quixel Mixer fits because its non-destructive layer stack and procedural mask generators support quick iteration on wear and grime while keeping PBR output export-friendly. ArmorPaint fits parallel needs for viewport-driven iteration with layered procedural generators focused on direct PBR texture creation.
Studios that must paint with strong 3D-aware projection consistency
Mari fits when 3D-aware projection keeps strokes consistent across complex surfaces and AI guidance accelerates decisions during texturing. BodyPaint 3D fits when production-grade projection painting with live brush control across surfaces is required alongside normal and displacement workflows.
Studios standardized on USD for collaborative material and scene handoffs
NVIDIA Omniverse Create fits because USD-native material authoring keeps material edits consistent across connected apps and enables round-trip editing tied to USD scene interchange. This approach also matches collaboration and shared scene review needs for teams producing assets in a USD-centric pipeline.
Artists needing an all-in-one DCC workspace for UV, painting, and shader graphs
Blender fits when the workflow must stay inside one application with integrated UV editing, texture painting, and node-based shader materials. Blender supports layered masking during texture painting and includes export and baking options for converting textures for real-time use.
How We Selected and Ranked These Tools
We evaluated ten 3D texturing tools by comparing their reported feature coverage, ease-of-use characteristics, and value fit for real texture authoring work. Each tool received an overall rating as a weighted average where features carried the most weight at forty percent, while ease of use and value each contributed thirty percent. This scoring reflects editorial criteria-based coverage of workflow control mechanisms such as graph instancing, non-destructive layer stacks, 3D-aware projection, and USD interchange rather than lab testing or private benchmarks.
Substance 3D Painter separated itself from lower-ranked options by combining high feature coverage with strong workflow interoperability, especially its integration with Substance 3D Sampler and Substance 3D Painter for end-to-end look development. That integration depth supports the highest-throughput path from procedural material family creation to final texturing, which aligns with the features weight that drives the ranking.
Frequently Asked Questions About 3D Texturing Software
Which tool best supports reusable procedural materials for large asset pipelines?
How do Substance 3D Painter and Quixel Mixer differ for non-destructive wear and grime iteration?
Which software is better for final PBR texture sets with channel packing for real-time shaders?
What tool is most effective for 3D-aware painting directly on the model surface?
Which option fits teams that need a node-based material workflow for authored graphs, not just painting?
How does Omniverse Create’s USD workflow change the texturing workflow compared with standalone tools?
What is the most direct choice for studios that need projection plus render-ready production textures in one environment?
Which tool helps avoid visible seams when painting detailed textures across complex UVs?
What integration path best connects painting and procedural texture generation for an end-to-end workflow?
Tools reviewed
Primary sources checked during evaluation.
Referenced in the comparison table and product reviews above.
Keep exploring
Comparing two specific tools?
Software Alternatives
See head-to-head software comparisons with feature breakdowns, pricing, and our recommendation for each use case.
Explore software alternatives→In this category
Art Design alternatives
See side-by-side comparisons of art design tools and pick the right one for your stack.
Compare art design tools→FOR SOFTWARE VENDORS
Not on this list? Let’s fix that.
Our best-of pages are how many teams discover and compare tools in this space. If you think your product belongs in this lineup, we’d like to hear from you—we’ll walk you through fit and what an editorial entry looks like.
Apply for a ListingWHAT THIS INCLUDES
Where buyers compare
Readers come to these pages to shortlist software—your product shows up in that moment, not in a random sidebar.
Editorial write-up
We describe your product in our own words and check the facts before anything goes live.
On-page brand presence
You appear in the roundup the same way as other tools we cover: name, positioning, and a clear next step for readers who want to learn more.
Kept up to date
We refresh lists on a regular rhythm so the category page stays useful as products and pricing change.
