Hi guys, I am in professional game development more than 3 years and more than 2 in mobile one. During all this time I was wondering why raycast target check box is enabled by default, there were huge number of times when the text was above the interactable element and it totally broke it. Unchecking is not a big deal as a single action, but in long terms, it is hours of monotonous work.
Especially if you are using TextMeshPro plugin because you can find this toggle only here:
It is a tap-scroll-tap for each component.
This became even more annoying after mentioning this as performance important thing in unity official ui performance guideline:
Problem: Optimal use of the Graphic Raycaster
Solution: Turn off the Raycast Target for static or non-interactive elements.
A few weeks ago i decided to develop a tool that allows you to easily manage raycast target properties in any size UI systems. What was expected workflow? You just select any screen/popup root object in hierarchy, right click on it and see a window with all of the raycast properties with ability to uncheck it from this window. One important thing is to not lose raycast property for any Graphic components connected to interactable elements (like an image connected to button) so i decided to make it two column to display connections. Now you can see what i got in result:
1. Select an object in hierarchy:
2. Right click and select "Manage Raycast Targets":
3. That's what you will get by default without manual editing raycast properties. Now you can easily click on "Disable All":
4. Now you just enable back object you needed, There are only 3: overlay that covers interactable items below, and two buttons related images and then click "Apply":
You can get this tool totally free at GitHub.There are source code and unity package.
Waiting for approve in unity asset store.
Also you can follow my gihub project Unity Workflow Optimization to get new tools , suggest ideas or see what i am working on just right now. There will be a big library of different small tools which will help you to optimise your workflow.