Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by plob2017 · Dec 08, 2018 at 07:20 PM · nullreferenceexceptionparticlesystemparticle systemreferencing

Passing particle system in script, getting null reference exception error.

Ok, so my general goal is to activate and de-activate certain particle systems that correspond to spell effects when the player pushes certain buttons. The structure is that each spell has a set of children who each contain a particle system corresponding to the desired effect. To make my code look nicer, I created a class called "SpellStats.cs", and it looks like this:


"public class SpellStats {

 private ParticleSystem normalModePS;
 private ParticleSystem hGPS;
 private ParticleSystem cTPS;"

..... }" (with the appropriate get/set functions)


The 3 particle systems correspond to the 3 possible states of each spell. Now, each spell has attached to it a script which creates a variable of type "SpellStats" and fills in the appropriate values and I intend it to pass this object to another script (called "Spell.cs"). One example of these is as follows:


public class FireballManager : MonoBehaviour
{

 private SpellStats stats;    
 public ParticleSystem normalMode;  
 public ParticleSystem handGrip;
 public ParticleSystem chargedTrigger;  

`` private void Awake() {

    stats.NormalModePS = normalMode;
     stats.HGPS = handGrip;
     stats.CTPS = chargedTrigger;
     gameObject.GetComponent<Spell>().SpellStat = stats;}

....}


You can see in here that there are three public particle system variables created. I link up the appropriate particle systems to this script in the unity gui. So these 3 public variables are referring to something. However, unity is telling me that the statement "stats.NormalModePS = normalMode;" is causing a null reference exception. I assume this means that the left hand side of the equation is a null reference. Can someone explain how I fix this issue? Is it possible to do what I am trying to do?

Thanks in advance for taking the time to help!

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by hexagonius · Dec 08, 2018 at 07:58 PM

you're right, it's null. unlike serializable fields (SerializedFieldAttribute or public), regular fields are initialized the C# default way. In case of reference types to null. this is how to initialize it:

 private SpellStats stats = new SpellStats();
Comment
Add comment · Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image plob2017 · Dec 08, 2018 at 08:52 PM 0
Share

Ahh it was so simple. Thank you, sir.

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

105 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Particle emission on particle collision 2 Answers

Can you trigger a particle system on a child (not a sub-emitter) separately from a particle system in the parent? 0 Answers

Particle system MinMaxCurve problem 1 Answer

Particle system not outputting what it's supposed to. 0 Answers

ParticleSystem Rate over Distance doesn't work until poked 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges