private void parsePBRProperties(PBRProperties property, Material material, ReadableMap materialMap) {
        String key = property.key;
        if (!materialMap.hasKey(key)) {
            return;
        }

        if (key.endsWith("Texture") || key.endsWith("texture")){
            String path = parseImagePath(materialMap, key);
            if (path == null) {
                throw new IllegalArgumentException("Error: Unable to parse environment light map resource uri!");
            }

            Uri uri = Helper.parseUri(path, mContext);
            ImageDownloader downloader = new ImageDownloader(mContext);
            downloader.setTextureFormat(Texture.Format.RGB9_E5);

            Bitmap imageBitmap = downloader.getImageSync(uri);
            if (imageBitmap != null) {
                Image nativeImage = new Image(imageBitmap, Texture.Format.RGBA8);
                boolean sRGB = property == PBRProperties.AMBIENT_OCCLUSION_TEXTURE;
                Texture texture = parseTexture(nativeImage, sRGB, false,
                        key, materialMap);

                property.setMapForMaterial(material, texture);
            } else {
                throw new IllegalArgumentException("Error: Unable to get environment light map resource!");
            }
        } else {
            float value = (float)materialMap.getDouble(key);
            property.setPropertyForMaterial(material, value);
        }
    }
This function goes through every material and reloads the material
android/viro_bridge/src/main/java/com/viromedia/bridge/module/MaterialManager.java