World/Udon Bugs & Feature Requests

Post about current World or Udon bugs feature requests. One item per post!
Non-constructive and off-topic posts will be moved or deleted.
Verification Pathway for Expanded World API Access
This feature request is asking for a way for established world creators to earn expanded access to networking APIs (dynamic URLs, lower rate-limit floors on VRCStringDownloader and VRCImageDownloader , and related capabilities) that are currently only available to partner organizations like Furality (and I want to say Popcorn Palace, since it seems they query way faster than every 5 seconds according to VRCX). The pathway would be based on objective criteria such as published world count, total visits, account standing, and/or a verification process. For context, attached is a video from Alofoxx at Furality, talking about how they have less-restrictive API access as a Partner. I acknowledge that the scope of Furality is very different from a small world creator. However, I believe that more dynamic web API access could unlock so many more possibilities, especially as related to cross-world functionality that was never possible before. Current state VRChat's networking restrictions exist for good reasons: VRCUrl fields must be pre-baked at world upload; dynamic URL construction isn't allowed VRCStringDownloader has a 5-second floor between requests per URL VRCImageDownloader has similar throttles These protect against IP-grabber worlds, runaway request loops, and abuse from poorly-written or malicious Udon These are sensible defaults. They prevent a lot of harm. But they also wall off entire categories of integration that would otherwise be straightforward. Anything that talks to a live external service (a content backend, music sync, a leaderboard, an event hub) runs into them quickly. The gap Partner organizations get expanded access for exactly this reason: their events depend on it. But there's no clear path for a regular creator to reach a similar tier, even if they've shipped multiple stable worlds in good standing and are building something legitimate that needs the same capabilities. The current model is effectively binary: locked down, or partner. Precedent: the pieces already exist VRChat already has multiple pieces of this in production. When joining Furality worlds, users see a permission prompt asking whether to allow that world's expanded API access, and the user confirms before anything elevated happens. On top of that, VRChat has built OAuth2 integration that Furality and others can use, letting users authenticate into external systems using their VRChat account. The consent UI exists. The backend gating exists. OAuth2 issuance and identity bridging exist. The trust model has been working at scale for major events. What doesn't exist is any public-facing version of any of it. There's no documented policy, no application process, no published criteria. As far as creators can tell, it's all private agreements case by case. It would be reasonable to assume this might eventually open up more broadly, but VRChat hasn't communicated anything about that, so creators have no way to plan around it or work toward it. Proposal Introduce a middle tier (or tiers) accessible to creators who meet objective criteria. Possible gating signals: A minimum number of published worlds in good standing (e.g., 3+ public) Cumulative visits or unique users across the creator's worlds Account age and clean community guidelines history An optional verification step (Existing ID, organization confirmation, or a simple application) Per-world or per-capability grants, rather than all-or-nothing Capabilities could be granular: a creator might earn dynamic URL access without changing rate limits, or earn lower rate limits without dynamic URLs, depending on the use case. Safeguards Expanded access is per-creator (or per-world) and revocable on TOS violations Network activity remains attributable for audit The existing user-consent prompt (already used for partner worlds) continues to apply Worlds using elevated capabilities could be flagged in metadata so users can see what they're entering The initial bar can be set conservatively and adjusted as the system proves out Why this matters A lot of the most interesting work people are trying to build in VRChat (community hubs that reflect live state, music and audio tools that integrate with external services, persistent event spaces, integrations with platforms creators already use) is currently blocked, made awkward, or restricted to the closed garden of partner orgs. Opening a path to expanded access for trusted creators would unblock a significant amount of legitimate work without removing the protections that keep new and unproven worlds safe by default.
0
·
Feature Requests
UdonSharpBehaviour throws ArgumentNullException during PrefabStage autosave when Unity pseudo-null object is serialized
Environment: Unity version: 2022.3.22f1 VRChat SDK Worlds: 3.10.3 VRChat SDK Base: 3.10.3 UdonSharp included with SDK Project uses Prefab Mode / PrefabStage with UdonSharpBehaviour components YamaPlayer package present: net.kwxxx.yama-stream 1.5.18 Observed: When opening or editing prefabs containing UdonSharpBehaviour components in Prefab Mode, Unity logs repeated ArgumentNullException errors from OdinSerializer UnitySerializationUtility. Error: ArgumentNullException: Value cannot be null. Parameter name: unityObject VRC.Udon.Serialization.OdinSerializer.UnitySerializationUtility.SerializeUnityObject(...) UdonSharp.UdonSharpBehaviour.UnityEngine.ISerializationCallbackReceiver.OnBeforeSerialize() and similarly: UnitySerializationUtility.DeserializeUnityObject(...) UdonSharp.UdonSharpBehaviour.UnityEngine.ISerializationCallbackReceiver.OnAfterDeserialize() Trigger: Open a prefab containing UdonSharpBehaviour in Prefab Mode Move a child object or let PrefabStage autosave run Errors repeat, sometimes dozens/hundreds per save Expected: PrefabStage autosave should not throw if a Unity pseudo-null UdonSharpBehaviour or serialized target is encountered. It should skip invalid objects or handle UnityEngine.Object pseudo-null safely. Additional finding: For diagnosis only, I temporarily tested a local guard around the SDK serialization path. The test indicated that the affected object was not a normal C# null reference, but behaved as null through Unity's overloaded UnityEngine.Object null comparison. With that guard in place, the exception stopped. I am not using this as a permanent workaround and do not intend to publish content with a modified SDK. This observation is included only to help identify the likely failure path. Additional observation: I have encountered this issue twice. In both cases, once the issue started occurring in the project, checking out older repository commits did not reliably make the issue disappear. This suggests that the trigger may involve Unity Library/cache/generated SDK state or some project-local serialized state, not only the currently checked out asset files.
0
·
Bug Reports
Load More