I can’t find any better way other than making a native component subclass for your RedCube and overriding virtual function OnAttachmentChanged.
However, this may be partially justified - afaik the engine doesn’t attach/detach components on its own, meaning every time an attachment changes, it is done from your code. If that assumption is right, you could easily create your own event dispatcher, and replace your attachment calls with a wrapper function that does the attachment AND triggers the dispatcher.