diff --git a/components/resource/scenemanager.cpp b/components/resource/scenemanager.cpp index de4ce28a5..c975286ce 100644 --- a/components/resource/scenemanager.cpp +++ b/components/resource/scenemanager.cpp @@ -478,8 +478,12 @@ namespace Resource void SceneManager::notifyAttached(osg::Node *node) const { - InitWorldSpaceParticlesVisitor visitor (mParticleSystemMask); - node->accept(visitor); + // we can skip any scene graphs without update callbacks since we know that particle emitters will have an update callback set + if (node->getNumChildrenRequiringUpdateTraversal() > 0) + { + InitWorldSpaceParticlesVisitor visitor (mParticleSystemMask); + node->accept(visitor); + } } Resource::ImageManager* SceneManager::getImageManager()