Skip to content

Custom Avatar Parameters, bug fixes, ui improvements#54

Merged
LucHeart merged 10 commits into
developfrom
feature/avatar-parameters
May 26, 2026
Merged

Custom Avatar Parameters, bug fixes, ui improvements#54
LucHeart merged 10 commits into
developfrom
feature/avatar-parameters

Conversation

@LucHeart
Copy link
Copy Markdown
Member

Summary

  • Fix per-group cooldown override: OscHandler.SendParams() was hardcoded to use the global cooldown time, ignoring group-level OverrideCooldownTime/CooldownTime overrides — the _Cooldown, _CooldownPercentage, and _Intensity feedback parameters sent to VRChat were wrong for any group with a custom cooldown
  • Avatar Parameter Actions: New system for mapping arbitrary avatar parameters to shocker actions, configurable per-avatar from a new UI tab. Supports one-shot triggers (OnTrue, OnFalse, Threshold, OnChange) and live continuous control driven by parameter value with configurable input range
  • Game connection indicator: Debug tab shows a color-coded chip with connection status and whether it's via OSCQuery or manual config
  • Replace Task.Delay loops with CancellationToken + PeriodicTimer: Background loops (ReceiverLoop, SenderLoop, CheckLoop) now shut down deterministically via cancellation instead of a 1-second sleep hack
  • UI improvements: Timing settings (cooldown, hold time) converted from raw text fields to sliders with numeric input for custom values; check loop interval exposed as an advanced setting; group cooldown override label now shows "(ms)" unit

Test plan

  • Set a per-group cooldown override, verify the _Cooldown and _CooldownPercentage avatar parameters in VRChat match the group's cooldown, not the global one
  • Configure an avatar parameter action with each trigger kind (OnTrue, OnFalse, Threshold, OnChange) and verify they fire correctly
  • Configure a live control action, verify continuous intensity tracks the parameter value and stops when it reaches 0
  • Test live control with non-standard ranges (e.g. -1 to 1 radial, 0-7 int) and verify correct intensity mapping
  • Verify the connection chip in the Debug tab updates on connect/disconnect
  • Change the check loop interval in Advanced settings, reconnect, and verify responsiveness changes
  • Verify the cooldown/hold time sliders work and that typing a value beyond the slider range is accepted

@LucHeart LucHeart changed the title Feature/avatar parameters Custom Avatar Parameters, bug fixes, ui improvements May 26, 2026
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4fd718777a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread ShockOsc/Services/ShockOsc.cs Outdated
Comment thread ShockOsc/Ui/Pages/Dash/Tabs/DebugTab.razor Outdated
@LucHeart LucHeart merged commit 64875c7 into develop May 26, 2026
2 of 3 checks passed
@LucHeart LucHeart deleted the feature/avatar-parameters branch May 26, 2026 21:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant