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
- Mono Windows Builds don't produce full log callstacks when generating logs
- AssetBundles fail to load when running in Built Players for Mobile Devices
- UI elements with text gets bigger and grey when Player window is moved to another screen with different resolution
- System name accepts multiline text but crops it on confirmation, duplicates input, and shrinks the field when empty
- UI element scale and position are wrong in project build when DRS is changed with HDR and Software Dynamic Resolution enabled
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"