Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.

Question ArgumentNullException: Value cannot be null. Parameter name: particles

Discussion in 'Documentation' started by Benj1_, Apr 8, 2021.

  1. Benj1_

    Benj1_

    Joined:
    Aug 26, 2020
    Posts:
    1
    So I've been trying to solve this issue for a few hours.

    I'm doing a project in which we use multiple liquids, so of course I'm using the particle system
    The code works with liquid A but when attempting the same with liquid B i get the error:

    ArgumentNullException: Value cannot be null.
    Parameter name: particles
    UnityEngine.ParticleSystem.GetParticles (UnityEngine.ParticleSystem+Particle[] particles, System.Int32 size) (at <7597b2c734e642889083819df22da57c>:0)
    UnityEngine.ParticleSystem.GetParticles (UnityEngine.ParticleSystem+Particle[] particles) (at <7597b2c734e642889083819df22da57c>:0)
    testing.Update () (at Assets/Scripts/testing.cs:66)

    The declarations:
    Code (CSharp):
    1.     public class liquidHandler : MonoBehaviour
    2. {
    3.     public ParticleSystem H2O;
    4.     public ParticleSystem Acid;
    5.  
    6.     private ParticleSystem.Particle[] H2OParticles;
    7.     private ParticleSystem.Particle[] AcidParticles;
    The erroring code:
    Code (CSharp):
    1. //Checks for H2O in flask
    2.             int numH2OPart = H2O.GetParticles(H2OParticles);
    3.             for (int i = 0; i < numH2OPart; i++)
    4.             {
    5.                 if ((RbPos - H2OParticles[i].position).x < toll &&
    6.                  (RbPos - H2OParticles[i].position).y < toll && (RbPos
    7.                   - H2OParticles[i].position).z < toll)
    8.                 {
    9.                     H2oInFlask = true;
    10.                     Debug.Log(H2oInFlask);
    11.                 }
    12.             }
    13.             //Checks for acid in flask
    14.             int numAcidPart = H2O.GetParticles(AcidParticles); //Error here
    15.             for (int i = 0; i < numAcidPart; i++)
    16.             {
    17.                 if ((RbPos - AcidParticles[i].position).x < toll &&
    18.                 (RbPos - AcidParticles[i].position).y < toll && (RbPos
    19.                  - AcidParticles[i].position).z < toll)
    20.                 {
    21.                     AcidInFlask = true;
    22.                     Debug.Log(AcidInFlask);
    23.                 }
    Both liquids are in place in the inspector, any help is appreciated :)
     
  2. TaskerSama

    TaskerSama

    Joined:
    Jan 15, 2023
    Posts:
    2
    Had this problem too...