Search Issue Tracker
By Design
Votes
9
Found in
4.3.0f4
Issue ID
583896
Regression
Yes
Mono/Unity does not perform null checks properly
To reproduce:
1. Open the attached project
2. Attach the script to the Main Camera
3. Run the scene
4. Observe the logs in the console
5. Observe the script content
----
Script tries to assign a collider that does not exist to a variable then add it to List<Component> if it's not null. The variable gets added to the list but components[0] is null:
var obj = GetComponent<Collider>(); //Get a component that does not exist
components.AddNotNull(obj); //Add it if it is not null
//Check result
Debug.Log("Number of items: " + components.Count + ".");
Debug.Log("First value: " + components[0] + ".");
Explanation:
http://blogs.unity3d.com/2014/05/16/custom-operator-should-we-keep-it/
Comments (2)
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
- Property field override bar does not update transparency correctly when switching between valid and invalid GameObjects
- Project window selection is not updated when search term is changed
- Error when adding valid MonoBehaviour script to Prefab in Project window
- Editor Launch Screen will close when Enter is pressed on it
- ObjectPool's pool is destroyed when entering Play Mode without reloading Domain
JoshPeterson
Sep 16, 2014 12:22
We have determined that although this behavior is odd, it is by design at the moment. Please see the discussion in the forum here for more details:
http://forum.unity3d.com/threads/null-check-inconsistency-c.220649
User1234
Apr 26, 2014 16:44
This issue sounds very much like the cause of an NGUI problem reported at...
http://www.tasharen.com/forum/index.php?topic=7515.0
"NGUITools.FindInParents fails sometimes"