In the recent Jam SDK the vrc scripting defines were removed. In response to this the devs explained the defines are planned to be removed in the future.
I would like to arguee against this decision.
This already broke multiple world creation tools like VR World Toolkit in the jam, but intruducing this change to all SDKs could result in much worse results.
As an example for one project i am working on: The UI for poiyomi shader. The shader uses a locking system to remove keywords and improve performance significantly.
This locking is foced upon avatar upload using the vrc callback, which is sourounded using the vrc define.
If the define was now removed it would mean everyone using older version is poiyomi (which there is alot) would not have locked materials. And believe me, if locking is not forced, people will not lock. This will hurt vrc performance significantly.
Most other communcity made tools also use the scripting defines, maybe for small stuff like checking which sdk is importat, or bigger stuff.
My suggestion is: Do not remove them. It is a few lines of code to keep in the sdk. Internally all of vrchat code can move to the new package manger system, but please DO NOT BREAK MOST COMMUNITY SCRIPTS.
Lots of love,
  • Thry
PS: My constant appeal to the vrchat team: Please improve communication with the communcity.