diff --git a/libraries/entities-renderer/src/RenderableShapeEntityItem.cpp b/libraries/entities-renderer/src/RenderableShapeEntityItem.cpp index 222b833be2..683cc1359a 100644 --- a/libraries/entities-renderer/src/RenderableShapeEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableShapeEntityItem.cpp @@ -119,10 +119,14 @@ void ShapeEntityRenderer::doRenderUpdateAsynchronousTyped(const TypedEntityPoint materialChanged = true; } - if (materialChanged) { - auto materials = _materials.find("0"); - if (materials != _materials.end()) { + auto materials = _materials.find("0"); + if (materials != _materials.end()) { + if (materialChanged) { materials->second.setNeedsUpdate(true); + } + + if (materials->second.shouldUpdate()) { + RenderPipelines::updateMultiMaterial(materials->second); emit requestRenderUpdate(); } }