Actor終了時に発生するエフェクトをActorBluePrintで最も簡単に指定する方法について

お世話になっております。

ActorBluePrintを使い方についての質問です。

現在火の玉、などのゲーム中に登場するオブジェクトに関して、デザイナさんのほうで
ActorBluePrintを作って、ParticleSystemComponentをアタッチして、そこに炎のエフェクトをアタッチする
などのことを行っています。こうすることでプログラムコストなしであらゆるオブジェクトを作成するという
ワークフローをとっています(おそらくUE4のあたりまえの使い方なのだと思いますが)

この作業の延長で、火の玉が消える際、焼失エフェクトを出したいというニーズがあった場合の、
もっとも簡単な設定方法を教えていただけないでしょうか。
・ActorBluePrintでOnDestoryイベントを拾って発生させる
・C++でOnDestory時に発生させる
などは思いつくのですが、できればComponentのアタッチの仕方などで簡単にできないかと考えています。

お忙しい中大変申し訳ありません
ご教示いただけると幸いです。

以上よろしくお願いします。

お世話になっております。
ご質問の内容はユースケースに応じて最適な回答が異なるため、構成や方法を踏まえてご検討頂く必要がございます。

まず初めに考慮すべきはEffectをComponent単位で分けるか、Actor単位で分けるかについてです。最初に使用するエフェクト(火の玉)をA、次に使用するエフェクト(焼失)をBとした場合、Component単位で分ける場合はA,B共にParticleSystemComponentを1つのActor内にアタッチします。Actor単位で分ける場合はA,BそれぞれのParticleSystemComponentを別のActorにアタッチします。Component単位で分けるか、Actor単位で分けるかについては判断については「実現出来ること」での違いは殆ど無いため、もしA⇒Bといったパーティクルを連動させる仕組みを使い回す場合にはComponent単位で分ける方法で良いと思います。

Actor単位で分けることが有利になるのは、エフェクトBの発生位置が固定でない場合です。位置が固定である場合は、Component単位で分けることで予め位置を決めておくことができますが、エフェクトBが別のActorにアタッチする必要があるなどを考慮する場合は、Actor単位で分けた方が役割を分離できるという点で良いです。

次にエフェクトBを発火させるタイミングについてですが、Component単位で分けた場合は、エフェクトAの破棄(OnParticleDeath)や終了(OnSystemFinished)をトリガにエフェクトBを発火することができます。もしエフェクトBの発火までの時間が固定であればTimerを利用する方法や、Timelineを利用することもできます。Actor単位で分ける場合も、最初に発火するActorの上記イベントを拾うか、もしくはDestoryで破棄された場合はOnDestoryをトリガにすることも可能です。

最後にエフェクトBを発火させる方法についてですが、まずComponent単位で分けた場合はParticleSystemComponentに対してActivateすることです。Actor単位で分けた場合はSpawnEmitterやSpawnActorでエフェクトBを生成します。ここで示すようにActor単位で分けた場合はエフェクトBをSpawnする必要があるため、生成の都度、破棄する必要があるということです(SpawnEmitterなどではAutoDestoryもできますが)。よってA,Bのエフェクトを破棄せずに使い回すのであればComponent単位で分ける方が良いです。

上記を踏まえた上で、最もプロジェクトに即した方法をご検討下さい。
よろしくお願いします。

お返事遅れて申し訳ありません。
さまざまな手法ご教示いただきありがとうございました。
いただいた情報をもとに検討させていただきます。