Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
MaterialX
Information
Type Open standard
Industry Computer graphics
Developer Lucasfilm Advanced Development Group and Industrial Light & Magic, with Autodesk; hosted by the Academy Software Foundation since 2021
Written In C++ (C++17), with Python and JavaScript bindings
Operating System Windows, macOS, Linux (pre-built binaries); iOS builds supported since v1.38.8
License Apache License 2.0
Release Date July 11, 2017 (first open-source release); v1.39.5, May 22, 2026 (latest as of October 2026)
Website https://materialx.org/


MaterialX is an open standard and open-source software library for describing materials and look-development content in computer graphics, so that the same material can be exchanged between applications and renderers. It was started at Industrial Light & Magic (ILM) in 2012, released as open source by Lucasfilm and ILM in July 2017, and became the seventh hosted project of the Academy Software Foundation (ASWF) in 2021.[1][2] A MaterialX document describes shading networks, patterns and texturing, nested materials and the assignment of materials to geometry, and the library includes code generators that turn those descriptions into shader source for real-time and offline renderers.[1][3]

MaterialX matters to VR and AR mainly through Apple's spatial computing platform. When Apple introduced visionOS in 2023, it made MaterialX the basis of ShaderGraphMaterial, which Apple described as "the exclusive way of creating custom materials" on the platform, and it added a MaterialX-based Shader Graph editor to Reality Composer Pro.[4] Unity's PolySpatial tooling for Apple Vision Pro converts Unity Shader Graph materials to MaterialX for display on the device.[5] MaterialX is also supported in OpenUSD, Unreal Engine, NVIDIA Omniverse, Autodesk VRED and many film and design tools.[6]

Reviewed 13 October 2026. History, release dates, specification, shader generation, OpenPBR and Apple, Unity and Unreal support claims checked against the cited project, ASWF, ILM, Apple, Unity, Epic and press sources. About review dates.

History

Origins at ILM and Lucasfilm

According to an ASWF history of the project based on interviews with its developers, ILM CG supervisor Doug Smythe first ran into the problem in late 2007 while working on Iron Man, when he had to write a script to decode ILM's texture assignments so that another visual effects vendor could match ILM's work on shared models. In early 2012 he reviewed a GraphML-based proposal for portable shading graphs by Jack Greasley of Foundry, found that it lacked texturing and geometry assignments, and on April 19, 2012 drafted the first proposal for a network-based shader "look", which he named MaterialX and presented at a meeting during SIGGRAPH that year.[7]

The idea was picked up in 2013 by Lucasfilm's Unified Assets Initiative, an effort of its Advanced Development Group to set common standards for assets used across Star Wars projects. Jonathan Stone, a lead rendering engineer in that group, said Lucasfilm already had Alembic for geometry, OpenColorIO for color spaces and OpenEXR for textures, "but there was no equivalent for material graphs." Smythe did the first conceptual design, and Stone oversaw the coding of the library.[7] The first internal production test was Star Wars: The Force Awakens (2015), where artists painted assets with material presets captured as MaterialX files.[7] ILM's 2017 release announcement listed The Force Awakens, Rogue One: A Star Wars Story and the real-time immersive experience Trials on Tatooine among the projects that had used MaterialX.[2] Trials on Tatooine was a room-scale HTC Vive experience made by ILMxLAB, which Road to VR described as the experimental arm of ILM.[8] fxguide reported in 2017 that some shots of the droid K-2SO in Rogue One were rendered in a customized ILM version of Unreal Engine 4 and also used MaterialX.[9] The MaterialX project site also names the theme park attraction Millennium Falcon: Smugglers Run as a real-time use.[1]

Merger with Autodesk's work and open-source release

Autodesk had been pursuing the same goal through its Abstract Material Graph project, led by principal engineer Niklas Harrysson. Around 2016 Lucasfilm and Autodesk began collaborating and merged their approaches. Autodesk contributed a code-generation layer that builds shaders from blocks of nodes and outputs OSL or GLSL code, and in 2019 that code was merged into the main MaterialX repository on GitHub.[7]

Smythe and Stone presented MaterialX at Birds of a Feather sessions at SIGGRAPH 2016 and SIGGRAPH 2017, both titled "MaterialX: An Open Standard for Network-Based CG Object Looks".[10][11] The ASWF history says the open specification was announced at the 2016 session and the full codebase was open sourced at SIGGRAPH 2017.[7] Lucasfilm and ILM announced the first open-source release of the MaterialX library on July 11, 2017, under what the announcement called a modified Apache license, with statements of support from Autodesk and Foundry.[2][12] The library is now released under the Apache License 2.0.[1]

USD integration and the Academy Software Foundation

Pixar began internal discussions about adopting MaterialX in late 2018, and the first step was adding MaterialX pattern graphs inside Universal Scene Description. In early 2021, USD gained an option to build the MaterialX code base inside the USD distribution.[7] MaterialX was accepted into the Academy Software Foundation as a Foundation-hosted project in July 2021; the project site announced the acceptance on July 14, 2021.[1] The ASWF says the project, which entered in incubation with its own Technical Steering Committee, has since met the technical milestones to be certified as a hosted project. Autodesk and Lucasfilm remain key participants, and the ASWF names SideFX, Isotropix, the Khronos Group, Epic Games and NVIDIA as other collaborators, with SideFX, NVIDIA, Autodesk and Apple contributing new features in recent years.[7] Contributors named on the project site include Sony Pictures Imageworks, Pixar, Autodesk, Adobe and SideFX.[1]

Apple adoption (2023 onward)

At WWDC in June 2023, Apple announced MaterialX support for its upcoming headset operating system (then shown as "xrOS"), saying it would support MaterialX "first on xrOS with RealityKit". In the same session Apple said it had added Metal shader code generation to the MaterialX project, available in release 1.38.7.[13] The MaterialX release notes list Metal Shading Language support in shader generation and rendering as part of v1.38.7 (April 21, 2023), and iOS builds as new in v1.38.8 (September 8, 2023).[1] At WWDC 2024 Apple brought MaterialX shaders in RealityKit to iOS, iPadOS and macOS as well as visionOS, and added MaterialX support to the Storm renderer in macOS Preview.[14] In a WWDC 2026 session, Apple said it is a member of the Academy Software Foundation, that it contributes to MaterialX through the Foundation, and that it had updated OpenUSD, MaterialX and OpenVDB across its platforms that year.[15]

Release history

The MaterialX project publishes library releases on GitHub. Recent versions, with highlights as listed in the project's announcements:[1][16]

Version Date Highlights
1.38.2 October 7, 2021 Shader translation graph from Autodesk Standard Surface to UsdPreviewSurface; initial ESSL shader generator
1.38.3 December 14, 2021 Refactored BSDF handling for vertical layering; optimized GLSL for GGX specular
1.38.4 April 6, 2022 Web Viewer based on MaterialX JavaScript; graph for the glTF PBR shading model
1.38.5 July 9, 2022 Vulkan GLSL generation; improved real-time refraction
1.38.6 November 4, 2022 Unified Noise and Color Correct nodes
1.38.7 April 21, 2023 MaterialX Graph Editor; Metal Shading Language support
1.38.8 September 8, 2023 New pattern nodes; first release supporting iOS builds; Python distribution through PyPI
1.38.9 February 26, 2024 GPU environment prefiltering; first non-photorealistic rendering node library
1.38.10 April 12, 2024 Patch build for USD integrations
1.39.0 July 5, 2024 Specification updated to 1.39; OpenPBR Surface shading model
1.39.1 September 3, 2024 Translation graphs between Standard Surface and OpenPBR Surface
1.39.2 January 20, 2025 Chiang hair BSDF; Disney Principled shading model
1.39.3 March 7, 2025 Closer alignment with OpenUSD; OSL 1.14 and MDL 1.10 support
1.39.4 September 15, 2025 WebGPU Shading Language support; animated materials
1.39.5 May 22, 2026 Slang shader generation; flake nodes; retro-reflective BSDFs

Specification and file format

The core specification, written by Doug Smythe of ILM and Jonathan Stone of the Lucasfilm Advanced Development Group, is titled "MaterialX: An Open Standard for Network-Based CG Object Looks"; version 1.39 is dated March 15, 2025. It identifies four related kinds of data needed to describe the complete look of a CG object: image processing networks, geometry-specific information such as texture file names, associations between data streams and shader inputs (materials), and associations between materials and geometry (looks).[17]

MaterialX defines a material content schema and an XML-based file format with the extension ".mtlx". Materials are built from nodes connected into node graphs. The standard ships a library of standard nodes, and custom nodes can be declared with node definitions and implemented either in a target shading language or as a node graph built from other nodes. Companion documents cover the standard nodes, physically based shading nodes, non-photorealistic shading nodes and geometry extensions.[17] Documents can state the color space of colors and images; the current specification uses color space names from the ASWF Color Interop Forum recommendation, such as ACEScg, and the code generators can optionally use OpenColorIO for additional color spaces.[17]

Shader generation and tools

MaterialX descriptions do not contain device-specific code. Instead, the library's shader generation framework (MaterialXGenShader plus one module per language) produces shader source code for a particular renderer, which the renderer's own compiler then compiles.[3] The repository contains generator modules for GLSL, OSL, MDL, the Metal Shading Language and Slang.[18] The release notes also list shader generation for ESSL, Vulkan GLSL and the WebGPU Shading Language.[1] Support for NVIDIA's Material Definition Language was a joint effort of Autodesk and NVIDIA, which lets renderers using MDL and renderers using OSL read the same MaterialX content.[7]

The project also distributes example applications: the MaterialX Viewer, which renders generated GLSL shaders in an OpenGL viewport and was developed by the Lucasfilm Advanced Development Group; the MaterialX Graph Editor, a visual node editor first released in v1.38.7; and a browser-based Web Viewer built on the JavaScript bindings.[1][7] The core library requires C++17 and has Python bindings.[18]

OpenPBR

OpenPBR (Open Physically-Based Rendering) is a subproject of MaterialX developed by Autodesk and Adobe as the successor to Autodesk Standard Surface and Adobe Standard Material. It is an "über-shader" meant to model most materials found in professional visual effects and animation work. The ASWF announced OpenPBR 1.0 on June 4, 2024; that release added a reference implementation inside MaterialX, so tools in the MaterialX and OpenUSD ecosystem gain OpenPBR support without building their own.[19] CG Channel reported that the first public release, OpenPBR 0.2, appeared in November 2023 and that the specification and reference code are under the Apache 2.0 license.[20] MaterialX 1.39.0 added the OpenPBR Surface shading model to the library.[1] At WWDC 2026, Apple said that the RealityKit, Storm and new ray-tracing renderers in macOS Preview all support OpenPBR materials.[15]

Use in VR and AR

Apple visionOS and RealityKit

In visionOS, custom materials for RealityKit content are written as ShaderGraphMaterial, which Apple says is "based on an open standard called MaterialX." Apple's 2023 materials session described two shader types: a "Physically Based" shader configured with constant values or images, and "Custom" shaders that can animate, modify an object's geometry or create surface effects. On iOS and iPadOS, RealityKit's earlier CustomMaterial used hand-written Metal shaders, but in visionOS ShaderGraphMaterial is the only way to create custom materials.[4] Apple's documentation describes ShaderGraphMaterial as "a material that comes from a shader graph in a Reality Composer Pro project, or a MaterialX shader"; it is available in visionOS 1.0 and later, iOS and iPadOS 18, macOS 15 and tvOS 26.[21]

Shader Graph, the node-based material editor in Reality Composer Pro, writes MaterialX nodes embedded in USD files.[13] Apple's documentation says it "uses MaterialX 1.38 conventions to improve interoperability with content creation applications that can read and author MaterialX within USD files", and that it also contains nodes unique to RealityKit. Apple publishes some of those RealityKit nodes as standard MaterialX definitions for use in other content creation tools.[22][14] Apple named the RealityKit PBR shader, the RealityKit Unlit shader and geometry modifier nodes among these platform-specific nodes.[13] Apple engineering manager Lori Smallwood said in 2024 that Apple contributes to OpenUSD, MaterialX, Blender and Maya's USD plug-in.[14]

Unity PolySpatial

Unity apps built for Apple Vision Pro with PolySpatial render through RealityKit. Apple's 2023 Unity session explained that standard Unity materials are translated to RealityKit's PhysicallyBasedMaterial, while custom materials made in Unity Shader Graph are converted to MaterialX and become ShaderGraphMaterial in RealityKit; hand-written shaders are not supported for RealityKit rendering.[23] Unity's documentation adds that some Shader Graph nodes have no MaterialX equivalent, marks them in the editor, and notes that visionOS does not allow Metal-based or other low-level shaders to run when AR passthrough is in use.[5] The MaterialX project lists this Unity Shader Graph to MaterialX path as part of Apple's adoption of MaterialX as the material representation for visionOS.[6]

Other XR-related software

Several engines and design tools used for VR and AR content read MaterialX:[6]

Software MaterialX support (per the MaterialX project, October 2026)
OpenUSD UsdMtlx library references and composes MaterialX documents in USD stages; Hydra renderers HdStorm and HdPrman generate GLSL, MSL and OSL shaders from MaterialX graphs; MaterialX 1.39 is the default from OpenUSD 25.05, and 1.39.5 is integrated in OpenUSD 26.08
Unreal Engine Import of MaterialX documents since Unreal Engine 5.1; MaterialX 1.39.4 in Unreal Engine 5.8
NVIDIA Omniverse MaterialX Libraries extension renders MaterialX through MDL generation; MaterialX 1.39.3 in Omniverse Kit 110
Autodesk VRED Import of MaterialX documents since VRED 2024; OpenPBR Surface since VRED 2026.1
Autodesk Maya Authoring and rendering of MaterialX graphs through LookdevX since Maya 2024; MaterialX 1.39.4 in Maya 2027
Autodesk 3ds Max Bundled MaterialX plug-in since 3ds Max 2024
SideFX Houdini Authoring and export through Solaris and rendering in Karma since Houdini 19
Pixar RenderMan Supported since RenderMan 24

Epic Games' documentation states that Unreal Engine 5.8 supports version 1.39.4 of the MaterialX specification (5.7 supports 1.39.3), and that glTF Surface materials and full OpenPBR Surface support require the Substrate material system (without Substrate, OpenPBR materials fall back to Standard Surface material functions).[24] CG Channel noted that MaterialX materials can also be used in Blender through AMD's USD Hydra plug-in.[20]

See also

References

  1. ↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 "MaterialX - Home". MaterialX. Academy Software Foundation. https://materialx.org/. Retrieved 2026-10-13.
  2. ↑ 2.0 2.1 2.2 ILM.com Team (2017-07-11). "MaterialX Open Sourced". Industrial Light & Magic. https://www.ilm.com/materialx-released/. Retrieved 2026-10-13.
  3. ↑ 3.0 3.1 "Shader Generation". MaterialX Developer Guide (GitHub). Academy Software Foundation. https://github.com/AcademySoftwareFoundation/MaterialX/blob/main/documents/DeveloperGuide/ShaderGeneration.md. Retrieved 2026-10-13.
  4. ↑ 4.0 4.1 "Explore materials in Reality Composer Pro (WWDC23 session 10202)". Apple Developer. Apple Inc.. 2023-06. https://developer.apple.com/videos/play/wwdc2023/10202/. Retrieved 2026-10-13.
  5. ↑ 5.0 5.1 "Shader Graph support - PolySpatial visionOS 2.0.4". Unity Documentation. Unity Technologies. https://docs.unity3d.com/Packages/[email protected]/manual/ShaderGraph.html. Retrieved 2026-10-13.
  6. ↑ 6.0 6.1 6.2 "Third-Party MaterialX Support". MaterialX. Academy Software Foundation. https://materialx.org/ThirdPartySupport.html. Retrieved 2026-10-13.
  7. ↑ 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 Academy Software Foundation (2023-04-25). "Academy Software Foundation Deep Dive: MaterialX Origin Story". Academy Software Foundation Blog. https://aswf.io/?p=4374. Retrieved 2026-10-13.
  8. ↑ Paul James (2016-03-14). "Star Wars: Trials on Tatooine for HTC Vive, Full Trailer is Here". Road to VR. https://roadtovr.com/star-wars-trials-on-tatooine-for-htc-vive-full-trailer-is-here/. Retrieved 2026-10-13.
  9. ↑ Mike Seymour (2017-07-11). "ILM Material X". fxguide. https://www.fxguide.com/?p=191377. Retrieved 2026-10-13.
  10. ↑ "MaterialX: An Open Standard for Network-Based CG Object Looks, by Smythe and Stone (SIGGRAPH 2016 Birds of a Feather)". ACM SIGGRAPH History Archives. ACM SIGGRAPH. https://history.siggraph.org/?p=153225. Retrieved 2026-10-13.
  11. ↑ "MaterialX: An Open Standard for Network-Based CG Object Looks, by Smythe and Stone (SIGGRAPH 2017 Birds of a Feather)". ACM SIGGRAPH History Archives. ACM SIGGRAPH. https://history.siggraph.org/?p=153099. Retrieved 2026-10-13.
  12. ↑ "Siggraph 2017: ILM to tout open source CG library". Broadcast. 2017-07-24. https://www.broadcastnow.co.uk/siggraph-2017-ilm-to-tout-open-source-cg-library/5120253.article. Retrieved 2026-10-13.
  13. ↑ 13.0 13.1 13.2 "Explore the USD ecosystem (WWDC23 session 10086)". Apple Developer. Apple Inc.. 2023-06. https://developer.apple.com/videos/play/wwdc2023/10086/. Retrieved 2026-10-13.
  14. ↑ 14.0 14.1 14.2 "What's new in USD and MaterialX (WWDC24 session 10106)". Apple Developer. Apple Inc.. 2024-06. https://developer.apple.com/videos/play/wwdc2024/10106/. Retrieved 2026-10-13.
  15. ↑ 15.0 15.1 "Discover USDKit and what's new in OpenUSD (WWDC26 session 285)". Apple Developer. Apple Inc.. 2026-06. https://developer.apple.com/videos/play/wwdc2026/285/. Retrieved 2026-10-13.
  16. ↑ "Releases - AcademySoftwareFoundation/MaterialX". GitHub. Academy Software Foundation. https://github.com/AcademySoftwareFoundation/MaterialX/releases. Retrieved 2026-10-13.
  17. ↑ 17.0 17.1 17.2 Doug Smythe, Jonathan Stone (2025-03-15). "MaterialX: An Open Standard for Network-Based CG Object Looks, Version 1.39". MaterialX Specification (GitHub). Academy Software Foundation. https://github.com/AcademySoftwareFoundation/MaterialX/blob/main/documents/Specification/MaterialX.Specification.md. Retrieved 2026-10-13.
  18. ↑ 18.0 18.1 "AcademySoftwareFoundation/MaterialX". GitHub. Academy Software Foundation. https://github.com/AcademySoftwareFoundation/MaterialX. Retrieved 2026-10-13.
  19. ↑ Academy Software Foundation (2024-06-04). "Academy Software Foundation Releases OpenPBR 1.0". Academy Software Foundation Blog. https://www.aswf.io/?p=4681. Retrieved 2026-10-13.
  20. ↑ 20.0 20.1 Jim Thacker (2024-06-05). "ASWF, Adobe, Autodesk launch OpenPBR 1.0". CG Channel. https://www.cgchannel.com/2024/06/aswf-adobe-autodesk-launch-openpbr. Retrieved 2026-10-13.
  21. ↑ "ShaderGraphMaterial". Apple Developer Documentation. Apple Inc.. https://developer.apple.com/documentation/realitykit/shadergraphmaterial. Retrieved 2026-10-13.
  22. ↑ "ShaderGraph". Apple Developer Documentation. Apple Inc.. https://developer.apple.com/documentation/shadergraph. Retrieved 2026-10-13.
  23. ↑ "Create immersive Unity apps (WWDC23 session 10088)". Apple Developer. Apple Inc.. 2023-06. https://developer.apple.com/videos/play/wwdc2023/10088/. Retrieved 2026-10-13.
  24. ↑ "MaterialX Support in Unreal Engine". Unreal Engine 5.8 Documentation. Epic Games. https://dev.epicgames.com/documentation/en-us/unreal-engine/materialx-support-in-unreal-engine. Retrieved 2026-10-13.