Search Issue Tracker
By Design
Votes
0
Found in
2019.3
2019.3.0b12
2020.1
Issue ID
1200688
Regression
No
NullReferenceException is thrown when setting ParticleSystemJobData size through IParticleSystemJob
How to reproduce:
1. Open attached project "TestUnity.zip" and scene "ParticleSystemJob_setSize"
2. Enter Play mode
3. Observe Console window
Expected result: no errors are thrown, particle size is set to Vector2.one
Actual result: "NullReferenceException: Object reference not set to an instance of an object" is thrown
Reproducible with: 2019.3.0f1, 2020.1.0a15
Could not test with: 2017.4, 2018.4, 2019.2 (IJobParticleSystem interface is not detected, errors are thrown)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- "You cannot save to an invalid folder" warning dialog box is shown when canceling Tile Palette creation
- Global Volume visual details are blurred when Tonemapping mode is set to any other than 'ACES'
- [Android] Stage information is not logged when Log Shader Compilation is enabled
- [Vulkan] The memory allocation increases rapidly when there are multiple (three or more) Real-Time Reflection Probes in the Scene
- [macOS] Library folder of the opened project can be deleted which leads to the crash
Resolution Note:
With the supplied particle system, the size is uniform, therefore we only store a single value per-particle (it would be a waste of memory to store the y and z values).
Therefore, your script should only set the sizes.x property.
To set a different value for each axis of the particle system (non-uniform) enable the 3D Start Size checkbox in the main particle system settings.
public void Execute(ParticleSystemJobData jobData)
{
var sizes = jobData.sizes.x;
for (int i = 0; i < jobData.count; i++)
{
sizes[i] = 1.0f;
}
}