Why is UArrowComponent with_editor only in ACharacter.h?


This is a question mostly for the Epic team; so forgive me if this is unimportant for 99% of users.

I was wondering why the decision was made to make the UArrowComponent in ACharacter.h accessible only in the editor.

It’d be nice to have this accessible, or have the ability to toggle accessibility, for packaged projects.

I didn’t find any obvious flags within the editor that explained that this was for editor visualization only and was not meant for packaged use. This caused me some headaches while I was packaging a small demo I’ve been working on.

I figure knowing your character’s facing direction is a pretty common need for many games and having to implement a second UArrowComponent which sits on top of the existing one seems like a pretty round-about way to go about it.

In essence, I’d imagine being able to either a) disable the arrow completely or b) allow the arrow to be used in production would be preferable to having it there without any options to use it for anything more than visualization within the editor.

I’m not sure whether any others have ran into this issue with the arrow as I have but it could use proper clarification that it isn’t meant for packaged use. I didn’t understand the issue until I found the reference for the UArrowComponent within the API Documentation and/or the #if with_editor tags in the ACharacter.h (I don’t remember which I stumbled upon first)

Thanks for your time,


Hello ozzadar,

UArrowComponent is only meant to be used for design purposes and isn’t meant to ever be displayed in game. This is why it is also not visible when playing in the editor and is only visible when in editor mode. If you need some sort of indicator of direction on your character, adding a Static Mesh Component, setting it to a Cone mesh and scaling it to look like an arrow would be a good alternative.