diff --git a/src/materials/MobileStandardMaterial.js b/src/materials/MobileStandardMaterial.js
index aa9e10de101be73807c0259e1eb75f222e4d974d..10657605f2818c8ddad3eb723fe1d7dc7c4babac 100644
--- a/src/materials/MobileStandardMaterial.js
+++ b/src/materials/MobileStandardMaterial.js
@@ -74,6 +74,8 @@ void main() {
 `;
 
 export default class MobileStandardMaterial extends THREE.ShaderMaterial {
+  type = "MobileStandardMaterial";
+  isMobileStandardMaterial = true;
   static fromStandardMaterial(material) {
     const parameters = {
       vertexShader: VERTEX_SHADER,
@@ -107,4 +109,7 @@ export default class MobileStandardMaterial extends THREE.ShaderMaterial {
 
     return mobileMaterial;
   }
+  clone() {
+    return MobileStandardMaterial.fromStandardMaterial(this);
+  }
 }
diff --git a/src/utils/media-utils.js b/src/utils/media-utils.js
index 7db272e7e61a07e067dd063aef29f06d71bc2ecb..a002e88681184eae87500acbf3d161eaadb96adb 100644
--- a/src/utils/media-utils.js
+++ b/src/utils/media-utils.js
@@ -142,12 +142,13 @@ export const addMedia = (src, template, contentOrigin, resolve = false, resize =
 export function injectCustomShaderChunks(obj) {
   const vertexRegex = /\bskinning_vertex\b/;
   const fragRegex = /\bgl_FragColor\b/;
+  const validMaterials = ["MeshStandardMaterial", "MeshBasicMaterial", "MobileStandardMaterial"];
 
   const materialsSeen = new Set();
   const shaderUniforms = [];
 
   obj.traverse(object => {
-    if (!object.material || !["MeshStandardMaterial", "MeshBasicMaterial"].includes(object.material.type)) {
+    if (!object.material || !validMaterials.includes(object.material.type)) {
       return;
     }
     object.material = object.material.clone();