benaclejames / benaclejames/VRCFaceTracking

[FeatureRequest] Implement mapping params to multiple addresses, and/or, always send an official param in addition to whatever is found

Open
#305 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
C#
Stars
907
Forks
135
Avg merge
11h 28m
Merged PRs (30d)
7

Description

Currently BaseParam grabs the `FirstOrDefault` param that matches: https://github.com/benaclejames/VRCFaceTracking/blob/master/VRCFaceTracking.Core/OSC/DataTypes/BaseParameter.cs#L97

[In our docs](https://docs.vrcft.io/docs/tutorial-avatars/tutorial-avatars-extras/parameters) we specify that an avatar creator can use any prefix; the most popular is likely `FT`, used in Jerry's templates, but others that creators have chosen are `EchoFT`, `KIT`, or just the raw parameter names (legacy), e.g., `JawOpen`.

This means that for someone creating a Unity project that leverages face-tracking to drive behavior based on the received param names, they have to either choose the estimated most popular option, the one they personally use on their avatars, or create Unity logic to handle the options they're aware of (which is likely to be a non-exhaustive list and can complicate animator logic).

Thus it'd be nice if we:

1. Modify the code to create a mapping not just of the first param that matches, but multiple
2. And/or always send `FT` prefixed params as well as the first one that's found that matches

This would remove the burden from asset creators and maintain backwards compatibility.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with VRCFaceTracking.Core/OSC/DataTypes/BaseParameter.cs at the FirstOrDefault lookup referenced in the issue, then compare the parameter-prefix behavior described in the linked documentation. Decide how multiple matching addresses or an official FT-prefixed parameter should preserve existing behavior, and verify that the resulting mappings cover the listed prefixes without breaking backwards compatibility.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.