How to hide the white balls in the viewport?

Is there a way to hide the white spheres/balls that are attached to all the actors in the blueprint viewport? I find they’re often in the way, especially when I’m working with small scale objects. Thanks for the help.

Open component list (on the left).
Create component that is “Scene”
Drag it over that ball on list (ie make scene component root of BP)

Ps i have no idea how to undo this so once its done it stays there.

This actually changes the hierarchy of the blueprint, though, so this solution won’t work for me. Thanks, though.

Press ‘G’ on keyboard


On a Livestream Chance once said he uses a Billboard for his root on all Blueprints and I’ve been doing the same ever since…works well…so Add a Billboard Component in your blueprint and drop it on the DefaultSceneRoot and it’ll replace it…then turn off Visible in the Rendering tab in the Details panel…
If memory serves you should be able to change the size of this billboard rendering as well without changing the size of the Blueprint actors below it so you can make it smaller rather than making it go away entirely…your call…


Tried that already. G only works in the level view, not in the blueprint viewport.

This worked for me. Thank you!

I’m new to working with UE4, and I got a laugh at how the Billboard was a dinosaur head by default. Good stuff.

Under class settings there is an Editor Billboard Scale option for all actors. Just set it to 0


Nawrots solution seems to work best for me

1 Like

In my case, the issue was the TGA icon file itself. You need to select UserInterface2D(RGBA) in Compression Settings - this will make it so that the custom billboard icon shows on top of the scene root component like it does for the default billboard icon.
On top of that, check the “is screen size scaled” to scale down along with the scene component. The result is acceptable in editor (even though the white ball is still behind the icon).

Also, out of curiosity I went looking into the CPP engine files for the skylight.

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

If you are creating your own blueprint class in C++ you can actually use this.

I’m not sure how involved it would be (not going to because I want to release what I’m making on the marketplace), but perhaps you can copy over the type of BP you need and expose those variables to BP - thus creating a custom actor that you can actually customize the in-editor icon of without accessing the code ever again.
(in fact, since it is easy, I’ll turn this into a feature request :wink: )

works a treat

The way I hide sub-components of a billboard is by running this code in the construction script, here I am doing it to a light component.

Mm, perfect solution. Thank you!

This is the actual perfect easiest answer, But it’s under “Class Defaults”.

Thanks… this troubled me for a few years…