Severe Cursor Jitter on World UI Elements When "Forced Camera Near Distance" Is Enabled at Long Distances from World Origin
available in future release
GHOST_OP
Affected Versions: Live and Open Beta (All Worlds)
Platforms: Occurs in both Desktop and VR modes
Summary:
Cursor movement becomes unstable and jittery when interacting with UI elements in worlds located far from the Unity world origin (0,0,0), specifically when “Forced Camera Near Distance” is set to either
Dynamic
or Forced
. The issue persists even after a full VRChat reinstallation and clearing of all local data.Description:
When “Forced Camera Near Distance” is active, UI interaction (via raycast) experiences significant jitter proportional to the player's distance from the world origin. At approximately 500m from (0,0,0), the jitter becomes noticeable, and by 1000m+ it becomes severe enough to make UI interaction nearly impossible.
Additionally, mild cursor snapping occurs on some VRChat system menu interfaces (less critical, but possibly related).
Steps to Reproduce:
- Load or create a world containing a UI canvas (using vrc_ui_shape) positioned at least 800m from the (0,0,0) coordinate.
- Teleport the player to the UI location.
- In the VRChat settings, set "Forced Camera Near Distance" to either "Dynamic" or "Forced".
- Attempt to interact with the UI — observe severe cursor jitter on new raycast/movement.
Observed Behavior:
- Cursor jitters heavily on UI elements.
- The effect intensifies with increased distance from the world origin.
- Example: At position (0,0,2000), jitter is extremely pronounced (see attached video).
Expected Behavior:
Cursor should remain stable and accurately track raycast movement regardless of distance from the world origin or camera near-distance settings.
Workaround:
Setting "Forced Camera Near Distance" to "None" eliminates the jitter almost entirely.
Log In
This post was marked as
available in future release
hdorriker
This is caused by the Forced Near Clip setting reducing the available floating point precision in the world. This setting is known to wreak absolute havoc on worlds with long sight lines such as Flight Worlds, Driving Worlds, Exploration Worlds, Anything with Outdoor Scenery or worlds that must use skybox geometry for shader reasons (RE: The Unity 2022 Skybox Clearing Issue). UI elements becoming jittery much closer to origin than expected is one of many countless symptoms of this issue (others include simply not seeing geometry at all, or a visual "cut off" to the skybox that appears directly ahead of a player's line of sight, objects only being visible when looked at from the side, among other things). In practice, this issue does not show up in worlds with short sight-lines so it can go easily unnoticed, but when enabled, the Forced Near Clip setting will cause UI at 2000 meters from origin to experience the jitter that would normally occur at 5000 (or more) meters from origin (numbers based on experiments and feedback, because I hear about this exact issue on a weekly, sometimes daily basis).
There is currently not a clear way for worlds to automatically override this setting while a player is in them, even though it is possible for larger worlds to define upper and lower bounds for avatar size/scale to ensure menu accessibility for all players, making Forced Near Clip completely unnecessary while in the world.
StormRel
marked this post as
tracked