Skip to content

VRChat UdonSharp decoder implementation #67

@TapGhoul

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

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