Skip to content

VRChat UdonSharp decoder implementation #67

Open

Description

@TapGhoul

This is a limited implementation and has a few differences to the spec to improve decode performance, due to the incredibly tight performance constraints in VRChat's Udon runtime, but I have posted a sample decoder at https://gist.github.com/TapGhoul/bc7f0d9095aebbc2ef6f766ee1a56586
The changes have been documented in a bullet list in the README.md in the gist.

While this is a bit of an insane implementation, I think it'd be cool to show off purely for the sake of demoing the performance of the codec under constrained environments.

This is a ground-up rewrite to C#. A proper C# impl would want to use different primitives in some areas, but concessions had to be made to get realtime decode performance.

As this deviates a little from the standard format, I'm not sure if it should be listed, but it is a decently well documented and fairly easy to read implementation of the decoder side of the codec.

The decoder can be seen in action in the gist, but here's a video of it in use:

2025-07-05.15-54-33-faststart.mp4

Activity

  1. changed the title [-]VRChat UdonSharp Implementation[/-] [+]VRChat UdonSharp decoder implementation[/+] on Jul 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions