Decal BP has no Location and Rotation and therefore cannot Set Relative Location within it's on BP?

I made a custom Decal BP using Decal Actor as a base (Decal Component doesn’t seem to exist as a base for a blueprint class). This is what it looks like:

The decal itself is just a glowing dot that I attach to a piece of paper in my level and is then supposed to move along the surface of that paper. I got this to work before when I added a decal component to my paper actor and then moved it around using Set Relative Location.
image

What I wanted to do though is to create the Decal and it’s logic as it’s own actor, so that I can attach it using different variable values. So I tried to migrate the logic for moving the Dot by setting it’s relative location to the new Decal BP. That’s where the trouble begins.

The decal actor BP does not have a location nor a rotation in it’s own blueprint. It only gains one once it is attached to the paper, as far as I understand. Why is that btw?

So when I try to connect my functions which govern the movement of my decal, I run into the following error:

This blueprint (self) is not a SceneComponent, therefore ' Target ' must have a connection.

So the way I understand is that since the Decal BP doesn’t have a location transform unless it is spawned and attached to the paper, I cannot define the logic for setting it’s relative location within the blueprint of the Decal BP?

This is clearly an issue of me not understanding of how a fundamental principle of the Unreal Engine operates, so if anyone could enlighten me and perhaps even make this work, I’d be very thankful.

Edit: Ok so first of, it’s 2 AM so me being stupid is a given. I attached the Decal from the outliner and now it works. Figures. That still leaves me with a question though. Why does self not work?

Inside your blueprint component make sure you add a scene component.

Whatever is used as the root of a BP never gets transform settings. Just make the BP, and put the decal in afterwards :slight_smile: