Enhance your Unity development workflow with Missing Reference Pinger, an essential tool for detecting and managing null or missing references across your scenes and assets. This editor extension empowers developers to quickly identify problematic fields in components, ScriptableObjects, and materials, ensuring your project runs smoothly.
Key Features:
Comprehensive Scanning: Detect null references, missing scripts, and mismatched types in scenes, assets, and custom scripts.
Customizable Filters: Choose specific components (e.g., UI, TextMeshPro, AudioSource) and fields to scan, tailoring the tool to your project's needs.
Interactive UI: Intuitive interface with foldouts, toggleable filters, and issue navigation for efficient debugging.
Ignore List: Temporarily ignore specific issues to focus on critical problems without losing track of others.
Custom Script Support: Automatically detects and includes custom MonoBehaviours and ScriptableObjects for thorough inspection.
EditorPrefs Integration: Save and load your filter settings for consistent workflows across sessions.
Performance Optimized: Includes a search limit with an option to override, ensuring fast scans even in large projects.
Whether you're a solo developer or part of a large team, Missing Reference Pinger saves time and reduces errors by pinpointing issues before they cause runtime problems. Perfect for polishing your game or application for release.
Importing the package:
In Unity editor click ("Window > Package Manager").
Choose ("My Assets") Tab.
Locate "Missing Reference Pinger" in the list of packages, or use the search tool.
Click on ("Download") and then ("Import").
Access the Tool:
In the Unity Editor, go to the menu bar and select ("Tools > Missing Reference Pinger").
This opens the Missing Reference Pinger window.
The Missing Reference Pinger window is divided into sections for selecting modes, configuring filters, and reviewing results. Below is a step-by-step guide to its features.
The tool operates in two modes for searching, and two tabs for accessing additional features.
Search Modes:
Scene Mode: Scans all Game Objects in the currently open scene for issues.
Assets Mode: Scans Scriptable Objects and Prefabs in your project’s Assets folder.
Both: You can combine search using both modes.
Tabs:
More Options: Allows you to customize which fields are included in the search for each component type.
Ignored: Manages ignored components and fields that you don’t want to include in searches.
If you're looking for issue in your Scene Hierarchy then select scene mode, if you want to look for missing fields in assets select assets mode. The options tab is helpful if search fails to find the specific field you are looking for, but this only applies to Unity built-in components.
before we proceed any further we highly recommend that you create a back up for this file.
So you have chosen case 1, located file and opened it.
You should be able to see a text like in the picture on the left, and would be right if you thought that this text looks divided into left and right side. If your familiar with Json you know that variables come as (name-value) pairs. Lets delve deeper into this.
Variable Naming - Left Side
The left side is variable names, which directly translate into variable in .cs file, because of this, any change made to variable name needs to be reflected in script file. We kept variable names straightforward, but few of them need more detailed explanation. Sadly json does not offer a convenient way of writing comments, therefore variable purpose is explained in script file. To open the file and read descriptions follow (Case 2).
Variable Values- Right Side
The Right side contains variable values and they come in different types, while each type have its own format rules:
-Boolean: Either (true, false), nothing else and no quotes!
-Enum: Any number, but in our case 0,1,2 no quotes!
-String: Line of characters surrounded by quotes.
-String[]: Multiple strings (see above) separated by comma and surrounded by brackets([ ]).
There is only one script used in this tool.
located in:
Assets/CandleLit Studio/Smart Copy Folder/Editor/Smart Copy Folder.cs
if you wish to change how the script handles folder and asset naming you should take a look inside, more specifically Settings subclass. Continues (Case 2.2)
if you look to the picture example on the left, you can see where Settings class is located inside "Smart Copy Folder.cs" file.
- Case 1 -
Class contains descriptions for variables inside .json file (Look examples above).
- Case 2 -
If you do not wish to use .json settings file then you can delete it. This tool will proceed to use this class with its default variables as template, unless control variable inside the class is set to do otherwise.