How to use OnParticleTrigger correct?

I have a Gameobject and a ParticleEffect, the ParticleEffect has activated “Collision” and “Triggers”.
“Triggers” is set to kill on Enter when the GameObject enters. Thats all working fine the particles get killed.
But how do I check for simple things like the tag of the Gameobject in script?

Hi, unfortunately OnParticleTrigger doesn’t provide any way to know which object the particle triggered. It’s on our roadmap to add in the future.

You can see an example script here: Unity - Scripting API: MonoBehaviour.OnParticleTrigger()

I know this post is a bit old, but I found a solution to detect a GameObject when the particle triggered something.
You can Instantiate a collider at the position of the particle where it hit the gameObject, then use a OnTriggerEnter or Physics.OverlapBox / OverlapSphere or all that kind of things to do what you want.

// The collider to Instantiate. You can also use Resources.Load<GameObject>(). "
 public GameObject colliderGO;

    void OnParticleTrigger()
    {
        ParticleSystem ps = GetComponent<ParticleSystem>();

        // particles
        List<ParticleSystem.Particle> enter = new List<ParticleSystem.Particle>();

        // get
        int numEnter = ps.GetTriggerParticles(ParticleSystemTriggerEventType.Enter, enter);

        // iterate
        for (int i = 0; i < numEnter; i++)
        {
            ParticleSystem.Particle p = enter*;*

// instantiate the Game Object
Instantiate(colliderGO, p.position, Quaternion.identity);
enter = p;
}

// set
ps.SetTriggerParticles(ParticleSystemTriggerEventType.Enter, enter);
}
NOTE: You have to set the SimulationSpace in the ParticleSystem to “World” to get the good p.position.
Also, maybe the ParticleSystemTriggerEventType.Enter won’t be accurate enough, and you will need to choose the ParticleSystemTriggerEventType.Inside, but be careful because it will instantiate a lot of gameObject.
And then, when your Game Object in instantiate, you do:
private void OnTriggerEnter(Collider other)
{
// what you want to do
// to avoid a stack of GameObjects
Destroy(gameObject);
}
Hope this still can help.

if you just want to know the name of the gameObject

void OnTriggerEnter(Collider collider) {
print (collider.gameObject.name);//or
print (collider.gameObject.tag);// I think

//if you want the particles to only get triggered on certain tags

void OnTriggerEnter(Collider other) {
if(other.CompareTag == ("Player")){
//DoSomethingHere
}
}