Issue
A bug with the current SDK requires the
GameObject
which a
VRC_Station
is attached to, to be enabled on upload.
As a result,
stations are on by default if safety settings block user animations. This is BAD.
Stations may be added by creators for special purposes, such as carrying other players, or animation-tied amusement.
Having these on by default can create experiences where a player with stations receives UNWANTED interactions if animations are disabled.
This is especially true for Quest/Mobile/Android, where animations are more likely to be disabled by default.
This therefore poses a safety risk that is not mitigable by avatar creators.
Potential Resolutions
  1. Add a "Disabled by Default" dropdown to the script with the options "Never"; "Always", which would disable the
    GameObject
    the
    VRC_Station
    is attached to on enable; and "Collider Only", which would disable only the provided box collider itself on enable.
    This would account of different creator preferences.
    — Whilst VRChat officially
    recommends
    disabling the collider only, the behavior of disabling the
    GameObject
    itself may be
    highly desirable
    in some case, and some popular station add-ons use this behavior. Giving developers the ability to choose between implementations allows for greater flexibility, and prevents breaking existing animations.
  2. Allow uploading with script disabled. — If the script can be disabled on upload, it won't matter anymore, as the station will be disabled when the avatar loads, making it
    opt-in
    via animation, not
    opt-out.