How to disable arrow in Widget Interaction Component for VR preview

I found severals tips in answers hub archive but all of them doesn’t work anymore, seems that debug arrow is hardcoded when using it with editor VR preview.

I disabled “show debug” and “Visible” options and still big arrow is visible for widget interaction component attached to VR hand (cause very difficult to debug close interactions)

221644-przechwytywanie.jpg

I checked current UE source (WidgetInteractionComponent.cpp) and seems that ArrorComponent is always visible. Any workaround except recompiling and patching UE?

#if WITH_EDITORONLY_DATA
	ArrowComponent = ObjectInitializer.CreateEditorOnlyDefaultSubobject<UArrowComponent>(this, TEXT("ArrowComponent0"));

	if ( ArrowComponent && !IsTemplate() )
	{
		ArrowComponent->ArrowColor = DebugColor.ToFColor(true);
		ArrowComponent->AttachToComponent(this, FAttachmentTransformRules(EAttachmentRule::KeepRelative, false));
	}
#endif
}

And of course it’s still not fixed 7 years later, I’m still looking at peering through giant arrows to look at my controller meshes and adjust them.

Based on a few other replies in various posts, I now do this, in my constructor, at the end:

#if WITH_EDITORONLY_DATA
	UActorComponent* StupidUnwantedArrow = Cast<UActorComponent>(WidgetInteractionComponent->GetDefaultSubobjectByName("ArrowComponent0"));
	if (IsValid(StupidUnwantedArrow ))
	{
		RemoveOwnedComponent(StupidUnwantedArrow );
		StupidUnwantedArrow ->DestroyComponent();
	}
#endif

This basically goes and finds the stupid arrow, and kills it.
Perhaps it is not ideal, but it works for me.

The arrow is only added by the WidgetInteractionComponent in WITH_EDITORONLY_DATA code, which is why I only try to destroy it in the same situation.