Search Issue Tracker
By Design
By Design in 6000.4.X
Votes
0
Found in
6000.0.61f1
6000.2.11f1
6000.3.0b9
6000.4.0a4
Issue ID
UUM-126011
Regression
No
Custom Inspector throws a NullReferenceException error even when using #if UNITY_EDITOR preprocessor directive
How to reproduce:
1. Open the attached “IN-122461.zip“ project
2. Enter Play Mode
3. Select the “Inspector” GameObject
4. Observe the Console
Expected result: No error is thrown
Actual result: NullReferenceException Error is thrown
Reproducible with: 2023.1.0a1, 6000.0.61f1, 6000.2.11f1, 6000.3.0b9, 6000.4.0a4
Reproducible on: Windows 11 Pro (24H2)
Not reproducible on: No other environments tested
Workarounds:
- Have no .asmdef files in your Assets/ directory
- Create a .asmdef file in Assets/Editor that is only applied to “Editor”
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
- Assets are created in the Package folders when creating assets via custom buttons in the Inspector window or other windows
- “Select” windows are named differently on Windows and macOS
- [Windows] No minimum “Select” window size
- Enabling “Editor Extension Authoring” in UI Builder doesn’t dirty the document and saving with shortcut doesn’t persist the state
- WebRequest.Create() function fails with "URI prefix is not recognized" errors when the project is built for Linux Standalone or Windows Dedicated Server
Resolution Note:
Serialized asset reference aren't designed to work when set on inspector scripts. The recommended way to get access to the visual tree from the CreateInspectorGUI() call would be to use the asset database:
var visualTree = AssetDatabase.LoadAssetAtPath<VisualTreeAsset>("Assets/VisualTree.uxml");
Resolution Note (6000.4.X):
Serialized asset reference aren't designed to work when set on inspector scripts. The recommended way to get access to the visual tree from the CreateInspectorGUI() call would be to use the asset database:
var visualTree = AssetDatabase.LoadAssetAtPath<VisualTreeAsset>("Assets/VisualTree.uxml");