# Why ZoneGraphAnnotationComponent designed as a component instead of a subsystem?

**URL:** <https://forums.unrealengine.com/t/why-zonegraphannotationcomponent-designed-as-a-component-instead-of-a-subsystem/2854310>\
**Category:** Programming & Scripting\
**Tags:** unreal-engine, crash, CPP, question\
**Created:** [November 12, 2026, 4:49am UTC](https://forums.unrealengine.com/t/why-zonegraphannotationcomponent-designed-as-a-component-instead-of-a-subsystem/2854310 "2026-11-12T04:49:51Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![hundun](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@hundun](https://forums.unrealengine.com/u/hundun)\
**Post date:** [November 12, 2026, 4:49am UTC](https://forums.unrealengine.com/t/why-zonegraphannotationcomponent-designed-as-a-component-instead-of-a-subsystem/2854310/1 "2026-11-12T04:49:51Z")

</div>

It will register tag by GetAnnotationTags(),but if there are more than two AnnotationComp in the same world,ide will tell me “Annotation at index 16 is already set to TrafficLightAnnotation.”,this maybe designed for preventing tags competition without log,but if we dont want it to keep two or more existing at the same time,why not designed as a Subsystem instead of a component?we must proactively maintain the compoent because of it maybe added into any actor;

i am wondering ,can anyone explain it?

UE.5.4.3
