HK FullPersonControl

Plugins + Scripts HK FullPersonControl

Download [<1 MB]

✨ New Feature — Automatic Intensity for Male Characters​


Male characters now respond to genital contact automatically, just like female characters have always done. The plugin detects when the penis base, shaft, or tip makes physical contact during a scene and uses that to drive moaning, breathing speed, and arousal intensity in real time.

Previously this was listed as "not yet available" for male characters — it is now fully live.

What this means in practice
  • Moaning and breathing naturally accelerate during contact and slow down when contact breaks
  • Arousal intensity builds up from genital contact and feeds into the climax system
  • The closer the approach to climax, the more intense the reaction — this now works for both male and female characters
  • No extra configuration is needed; the plugin sets everything up automatically when the character loads



✨ New Feature — Group Eye Targeting​


Eyes can now aim at whole zones of a body instead of only single fixed points. Add a target as usual, then choose Group instead of Single and the gaze will wander naturally across the whole area — chest, hips, thighs and more — rather than fixing on one spot.

How to use it
  • Go to Eye Control → Add Target, pick an atom and click Begin Add
  • On the refinement screen, set Target Kind to Group
  • For a Person, tick which zones can be targeted — Group kind unlocks extra regions like Mouth, Neck, Breasts, Arms, Abdomen, Hips and Thighs alongside the usual ones
  • For any other atom, walk its transform hierarchy to mark the zone's boundary, then click Finish Add

How it works
  • A Group target is built from the atom's own colliders rather than one fixed point, so the eyes shift naturally within it instead of locking on
  • Which regions are available depends on the character's gender and whether it's targeting itself (a character never targets its own face or torso)



✨ New Feature — Expression Templates​


Facial expression sets are now saved and loaded as named templates instead of a single built-in default. Under Actor → Expressions → Templates you'll find every built-in and your own saved expression sets for the character's gender — click one to apply it instantly.

What this means in practice
  • A fresh Female character still loads a built-in Default expression set automatically — no change there
  • Your own saved templates can be deleted from the same list; built-in ones can't
  • Shared templates can be used but cannot be created in this version
  • Male characters, which previously had nothing to do on this screen, can now browse and apply expression templates too — there's just no built-in default for them yet



🛠 Fix — Late-Loading Targets No Longer Error​


Strap-on/dildo eye targets that hadn't finished loading yet (their atom still spawning when the scene opened) could occasionally fail to register. They're now retried automatically until ready, so nothing needs to be re-added by hand.



🛠 Fix — Strap-On Stays Correct After a Reload​


Reloading a scene that already had a strap-on attached could leave it invisible or colliding incorrectly. It now re-applies its collision settings correctly every time, whether it's freshly created or being reused from a save.



🛠 Fix — Fewer Startup Errors with VAMMoan​


Occasional errors right after a scene loaded — caused by VAMMoan's own audio bank still warming up — are now avoided by waiting briefly before the plugin talks to it.



🔧 Under the Hood — Save Data Now Uses a Companion File​


Plugin data is now also written to a small companion file saved alongside your scene, instead of relying solely on the data embedded in the scene file itself. It's around 80% smaller than the old embedded data for the same settings — a fully-configured feature's saved data, for example, now takes about a fifth of the space it used to — and needs more than 15× less memory to build and read than the old JSON path, so saving stays light even on a busy scene. It's also built so future plugin updates are far less likely to break an older save. Existing scenes upgrade automatically the first time you save them — there's nothing to configure and nothing you need to do.

This same save format is what powers the new Expression Templates above — a template is just this kind of save, given a name so you can re-apply it later.



✨ Improvement — Confirmation Before Deleting or Overwriting​


Buttons that permanently remove or overwrite something now ask you to confirm first — a stray tap no longer instantly destroys data. Click OK to proceed or Cancel to back out with nothing changed.

Covered by this
  • Data Store → Load from Clipboard
  • Eye Control → Active Targets → Remove Target
  • Eye Control → Add Target → Remove Custom Target
  • Actor → Expressions → Templates → Delete "Name"
  • Animation → Manage Animations → Remove



✨ New Feature — External API for Triggers & Other Plugins​


The plugin now always publishes a small set of hidden actions and value params usable from VaM triggers — no menu needed. Strap-on, expression template loading, climax intensity/allow/force/reset, eye-contact toggles and pupil light-sensitivity settings are all exposed this way. See External API in the full reference above for the complete list. A read-only HK Integration Version param is also published, for plugin authors who want to detect this plugin is present.



✨ New Feature — Recover Your Saved Data On Demand​


Two new buttons in Data Store let you pull your saved settings back in without reloading the whole scene:
  • Restore Scene Save — reloads this scene's own saved data from disk and re-applies it to this character. Handy after re-adding the plugin mid-session (for example, after an update, or swapping between a debugger build and the release build), since the automatic restore only happens on a scene load.
  • Load from Scene Save — opens a file browser so you can pick any saved scene and pull its plugin data in, even a scene other than the one currently loaded. If there's more than one match (for example, several saved presets on the same character), you'll get a button for each to choose from.
Both ask you to confirm before overwriting your current settings.



🔧 Change — Data Store Menu Simplified​


Copy to Clipboard and Load from Clipboard have been removed — use the new Restore Scene Save and Load from Scene Save buttons above instead. Save All Data now only appears once you've saved the scene at least once; before that a note reminds you to save the scene first.

✨ New Feature — Eye Light Sensitivity​


Control how your character's pupils react to scene lighting. Some scenes may be too bright for the default sensitivity, causing the pupils to stay overly constricted and blinking to occur frequently.
You can now enable or disable light sensitivity entirely, and fine-tune the threshold to match your scene's lighting.

How to use it
  • Go to Eye Control → Pupil
  • Toggle Light Sensitivity on or off
  • When enabled, adjust the Light Sensitivity Threshold slider to control at what light level the pupils begin to constrict and blinking increases
  • Lower values make the eyes more sensitive (react to dimmer light); higher values require brighter light before the pupils respond

How it works
  • When enabled, the plugin measures nearby light intensity and adjusts pupil dilation in real time
  • Bright light causes pupils to constrict and increases blink rate
  • Dim light causes pupils to dilate naturally
  • When disabled, pupils remain at their default size with no automatic adjustment



🔧 Refinement — More Realistic Eye Movement​


Eye rotation speeds have been refined to better match how real eyes move:
  • Saccades (quick glances) now scale with distance to the target, producing fast snappy movements for nearby objects and appropriately swift rotations for distant ones
  • Smooth pursuit (tracking a moving object) follows the target's angular velocity naturally
  • Vestibulo-ocular reflex (stabilising gaze during head movement) matches head rotation speed for steady vision



🛠 Cleanup — Improved Plugin Unload Behaviour​


When FullPersonControl is removed from a scene, all eye settings are now properly restored to their original values. This includes look-at targets, eye rotation limits, and look mode — so removing the plugin no longer leaves the character's eyes in an unexpected state.



✨ Improvement — Auto Expressions and Auto Blinking Now Handled Automatically​


Previously, FullPersonControl required you to manually disable Auto Expressions and Auto Blinking on your character before the plugin's eye and expression systems would work correctly. This step is now performed automatically when the plugin loads — you no longer need to adjust any character settings yourself.



🛠 Fix — Strap-On Stability​


Fixed an issue where removing the plugin or changing scenes while the strap-on was in the process of being set up could cause errors. The attachment process is now safely cancelled if the plugin is unloaded mid-setup, preventing unexpected behaviour during scene transitions.



🐛 Fix — Squinting Now Actually Works​


Characters will now correctly narrow their eyelids in response to bright light. A calculation error meant the squint system had no visible effect regardless of light levels — eyes would never partially close even in very bright scenes. This is now fixed, and squinting behaves as intended.



🐛 Fix — Blinking While Squinting Looks Natural​


When a character's eyes are already partially closed due to squinting, blinks now move the eyelid the correct distance and at a realistic speed. Previously, the eyelid would attempt to close the full range regardless of how squinted the eye already was, resulting in abrupt or visually incorrect blink motion. The eyelid now travels only the remaining distance from its squinted position, keeping the movement smooth and organic.



🐛 Fix — Eyes No Longer Freeze During Blinks​


Eye tracking and position updates now continue to run correctly throughout blink animations. Previously, eye movement could stall or stutter mid-blink.
Back
Top Bottom