2026.906.0-beta
App
- Added title case option to clip variables
- Added ability for parameter names to be selected in the avatar tab on the run screen
- Changed the speech engine to initialise without any modules for Pulse to use
- If you're not using the speech engine, make sure to disable it
- Changed file picker dialog to hopefully resolve Windows 11 issues
- Rewrote GlobalKeyboardHook into GlobalInputHandler
- Instead of using PInvoke and XInput which is Windows-specific, this now uses SDL and SharpHook to get keyboard, mouse, and gamepad inputs and outputs
- The Enable Global Keyboard Hook setting has been renamed to Enable Global Input Handler
- Fixed PiShockRequestFactory erroring when no shared shockers are found
- Fixed AudioManager greedily initialising audio devices causing compatibility issues
- Fixed parameter sending without OSCQuery in use resulting in incorrect parameter names
- Fixed a Whisper VRAM leak
- Fixed NaN OSCQuery values breaking parameter retrieval
- Fixed GitHub outages throwing non-informative errors
- Fixed ChatBox and Node load ordering to fix profile switching breaking
- Fixed SteamVR lighthouse path detection sometimes breaking when a user has previously had SteamVR installed and OpenVR still exists
- Fixed ChatBox preview being coupled to the sending of OSC messages
- This would affect parameter sending performance in the case of UI update degradation
Pulse
- Added ability for
GlobalStore<T> to have a default value
- Added
char as a textbox type
- Added update icon to nodes that are on the graph update
- Added ability for IValueInputList to be read from a specific index
- This should only be used in cases where an index is already known, like
Multiplex, as it resolves the connection each time it's called
- Added
ValueMap node
- This can be used in a similar to way to how C# value switch cases work
- Added ability for groups to contain comments
- Added ability for presets to contain comments
- Added migration for presets
- Added
Contact Parameter Source node
- Added
Include Empty option for String Join
- Disabling this will not include empty inputs in the string join
- Added nodes related to mouse handling to reflect GlobalInputHandler addition
- Added gamepad nodes related to gamepad handling to reflect GlobalInputHandler addition
- Changed FireOnInterval to be on the continuous graph update
- Changed
RegexIsMatch to not be continuous
- Changed
StringNullConstant to generic NullConstant node
- Fixed timeout handling for HTTP nodes
- Fixed graph importing not generating a new ID resulting in linked graphs if the same graph was imported multiple times
- Fixed a graph crash if the UI is clicked before the graph UI is loaded
- Fixed nodes sometimes not triggering on various actions and value updates
- Fixed deleting nodes sometimes not triggering value updates
- Fixed node element variable size migration in cases where new elements have been added after the variably-sized element
- Fixed graph updates sometimes being blocked for specific node setups
- Various performance improvements
- Various UI improvements
Modules
- Fixed PiShock global group not being defaulted correctly when OSCQuery is not used
- Changed Media to keep the selected source if the source is no longer present to workaround some apps removing themselves when a track change occurs