Expose StaticEditorTexture and DynamicEditorTexture to BP

Basically, allow us to change the default in-editor icon for any blueprint without the need to add a billboard.

This code was taken from the skylight. (\Engine\Source\Runtime\Engine\Private\Components\SkyLightComponent.cpp)



USkyLightComponent::USkyLightComponent(const FObjectInitializer& ObjectInitializer) 
     : Super(ObjectInitializer) { #if WITH_EDITORONLY_DATA     if (!IsRunningCommandlet())     {         static ConstructorHelpers::FObjectFinder<UTexture2D> StaticTexture(TEXT("/Engine/EditorResources/LightIcons/SkyLight"));         StaticEditorTexture = StaticTexture.Object;         StaticEditorTextureScale = 1.0f;         DynamicEditorTexture = StaticTexture.Object;         DynamicEditorTextureScale = 1.0f;     } #endif 

Following the chain, the variables are set within the LightComponentBase.h (\Engine\Source\Runtime\Engine\Classes\Components\LightComponentBase.h)


 #if WITH_EDITORONLY_DATA     /** Sprite for static light in the editor. */     UPROPERTY(transient)     UTexture2D* StaticEditorTexture;      /** Sprite scaling for static light in the editor. */     UPROPERTY(transient)     float StaticEditorTextureScale;      /** Sprite for dynamic light in the editor. */     UPROPERTY(transient)     UTexture2D* DynamicEditorTexture;      /** Sprite scaling for dynamic light in the editor. */     UPROPERTY(transient)     float DynamicEditorTextureScale; #endif 

Following up on that, the icon for it seems currently implemented for a USceneComponent object, however I do not see a way to actually change this in BP for a custom blueprint of type Scene-component.

While I can probably reverse-engineer this for my custom C++ classes, I would love the ability to just be able to set it up on a per actor basis, so that Actor, Pawns, and Scene Components added to the level can have the ability to display a custom icon in editor out of the box without the need for a Billboard to be setup.