VRCSDK 3.10.3-beta.1 added a new VRCRaycast component.
However, all fields on the component are private, even fields visible in the inspector, which makes it difficult to configure or read the configuration from scripts.
Please make fields visible in the inspector public or provide public properties to access them, so that we can read and write the configuration from scripts without needing to use reflection or SerializedObject (which is also reflection-like).
There are some use cases that requires reading of the configuration fields.
For example, my Avatar Optimizer requires read access to the raycast configuration to determine which parts of the avatar are safe to optimize and which should be left unchanged.
I don't know why the fields are private currently, but if you're concerned about future breaking changes, it's common practice in C# to expose fields through public properties with private backing fields.
Properties allow you to control access and add logic in the future without breaking existing code.
If a fields' type or name needs to change, you can cast the value to the new type or redirect it to a new field while keeping the property's name and type the same for backward compatibility.