• Hi Guest!

    We are extremely excited to announce the release of our first Beta1.1 and the first release of our Public AddonKit!
    To participate in the Beta, a subscription to the Entertainer or Creator Tier is required. For access to the Public AddonKit you must be a Creator tier member. Once subscribed, download instructions can be found here.

    Click here for information and guides regarding the VaM2 beta. Join our Discord server for more announcements and community discussion about VaM2.
  • Hi Guest!

    VaM2 Resource Categories have now been added to the Hub! For information on posting VaM2 resources and details about VaM2 related changes to our Community Forums, please see our official announcement here.
Posesaver

Plugins + Scripts Posesaver

Download [<1 MB]
PoseSaver Update - Camera System Overhaul

New Features

1. Camera-Specific Dialogs (Like BodyLanguage)
- Each camera angle can now have its own speech bubbles/dialogs
- Dialogs play automatically when switching to that camera
- Supports "Play on Enter" vs "Play on Exit" timing
- Full dialog editor: text, person, delay, lifetime, thinking vs speaking

2. Camera-Specific Poses
- Each camera can store its own character pose
- "Capture Pose" button saves current character position to that camera
- "Apply pose on camera load" toggle controls automatic application
- Pose includes controllers and hand morphs

3. Camera Triggers
- "On Enter Trigger" - fires when switching TO this camera
- "On Exit Trigger" - fires when switching FROM this camera
- Access VaM's full trigger system for each camera angle

4. Improved Camera Tab UI (VR-Friendly)
- Replaced long list of cameras with dropdown selector
- "Select Camera" dropdown shows all cameras with active marker (►)
- Only selected camera's controls displayed below
- Much more compact and easier to navigate in VR

5. Automatic First Camera
- New poses automatically include "Camera 1" with current view
- Users no longer need to manually add the first camera
- Reduces confusion for new users

6. Camera Checkpoint Playback
- Added "▶ Play Checkpoints" button to start camera animation
- Added "■ Stop Checkpoints" button to stop playback
- Loop toggle now works properly with play/stop controls

7. First Camera Auto-Load
- When a pose loads, camera 0 automatically activates
- Triggers camera 0's pose, dialogs, and triggers
- Clicking thumbnails to cycle cameras works correctly
Bug Fixes

Critical: Fixed "Nothing Works" Bug
- Fixed silent failures when applying poses - the plugin now properly reports errors instead of doing nothing
- Added null checks for PoseSaver.singleton throughout PoseData.cs to prevent silent failures in:
- ApplyPose() - pose loading
- ApplyCamera() - camera application
- Trigger save/load operations

Fixed UI Crashes (NullReferenceExceptions)
- Fixed syntax error (duplicate closing brace) in CreateFilterUI
- Added null checks on all UI element creation to prevent crashes when VaM fails to create UI elements
- Fixed methods: CreateAdvancedOptionsSection, CreateFilterUI, CreatePoseGrid, CreatePoseCreationSection,
CreateMorphBaselineSection, CreateTransitionSettingsSection, CreateFlowNavigationSection,
CreatePresetManagementSection

UI Improvements

Camera Buttons Repositioned
- Camera angle buttons now appear BELOW the thumbnail instead of on top
- Cleaner look, easier to see the pose thumbnail (as requested by users)

Notes

What is saved in each pose:
- Body pose (controllers, bones)
- Hand/finger morphs (enabled by default)
- Pose morphs from Custom/Atom/Person/Morphs
- Camera positions (optional)
- Plugin states (DISABLED by default - enable in pose edit to save plugin states like HJ/BJ/Kiss)

Triggers Tab: For executing VaM actions when entering/exiting poses - use this for dynamic control (start/stop
animations, fire triggers) when you need actions that can't be saved as state.

PoseSaver v1.9- Maintenance & Logging Cleanup Update + save/load fix.​


This update focuses on code cleanup and better diagnostics, with no behavioral changes to core features.


✅ Fixes & Improvements​


1) Reduced Verbose Debug Logging (PoseSaver.cs)


  • Removed 8 “PoseSaver Flow:” debug spam messages that cluttered the console
  • Kept only essential error output
  • Result: cleaner console output during normal use (less noise while navigating the UI/flow)

2) Removed Dead / Disabled “Smart Pose Analyzer” Code (PoseData.cs)


  • Deleted ~100 lines of commented-out code marked “TEMPORARILY DISABLED FOR DEBUGGING”
  • Included removal of:
    • commented field declarations (e.g., poseCategory, affectedRegions)
    • the fully commented AnalyzePoseData() method
    • commented save/load fragments inside Store() / Load()
    • references to a non-existent BodyPartHelper
  • Result: cleaner codebase and smaller file size (no more abandoned stubs)

3) Improved Error Messages & Diagnostics


  • Made the “no atom data” error in ApplyPose() more helpful
  • Added clearer diagnostic logging for scene load failures
  • Improved preset file loading messages so users can better understand what happened



✅ No Changes Needed (Confirmed Solid)​


  • Good error handling overall
  • Proper texture cleanup (destroyed after use)
  • Proper Destroy() cleanup patterns
  • No obvious memory leaks or duplicate code patterns
  • Good coroutine usage for async operations
  • Trigger system still initialized correctly
  • After cleanup, logging is user-friendly without debug spam



📊 File Size / Stats​


Before


  • PoseData.cs: 2,825 lines
  • PoseSaver.cs: 1,236 lines
  • Total: 8,008 lines

After


  • PoseData.cs: 2,730 lines (-95)
  • PoseSaver.cs: 1,229 lines (-7)
  • Total: 7,906 lines (-102 lines cleaned)
PoseSaver 1.8- Critical Bug Fix

Issue Fixed

Poses losing data after scene reload - Users reported that after creating poses and saving the scene, poses would appear in the list with thumbnails but wouldn't load when clicked, showing "no data" error.

Root Cause

PoseSaver was saving only metadata (name, category, thumbnail) to the scene file, while saving full pose data (atom positions, morphs, controllers) to external preset files. If preset files were missing, moved, or the scene was opened on a different computer, poses had no atom data and couldn't be applied.

The Fix

Single line change in PoseSaver.cs line 1024:

Before:
scenePosesArray.Add(pose.Store(false)); // Metadata only

After:
scenePosesArray.Add(pose.Store(true)); // Full data including atomData

Result

- ✅ Poses now save full data directly in scene files
- ✅ Poses load and apply correctly after scene restart
- ✅ No dependency on external preset files for scene-saved poses
- ✅ Preset system still works for sharing/importing pose collections

Compatibility

- Existing scenes with metadata-only poses: Will need poses recreated or re-saved
- New scenes: Full data saved automatically
- Preset files: Continue to work as before

Huge thank you too Islomania for pointing it out! 🍺🫡

⭐ PoseSaver 1.7 — UI Overhaul Update​


This update is focused on one thing: a cleaner, faster, more professional UI.


PoseSaver has grown into a full system (poses, categories, triggers, cameras, hands, dialogs, flow), and the old layout started to feel cluttered. This redesign fixes that without removing any power features.


✅ What’s new​


🔥Better UI design


  • Clean two-column workflow: Actions/Filters on the left + Pose library on the right
  • Much stronger visual hierarchy (important actions are obvious)
  • Consistent spacing, cleaner section styling
  • Removed “ugly” info-style TextFields that made the UI feel noisy

🧠 Better tab flow


  • Tabs behave correctly and feel smoother to navigate
  • Pose list is now shown only in the Pose tab (no more clutter in other tabs)

✋ Hands tab cleanup


  • Hands editing is now organized so you view Left or Right hand at a time
  • Less visual overload, faster editing

⚙ Advanced options stay powerful, but cleaner


  • Advanced tools are still there (baseline, snapshots, transitions, presets, etc.)
  • They no longer dominate the UI when you just want to save/load poses quickly
1766005831450.png
1766005867136.png
1766005894267.png
1766005920431.png
1766005948524.png
1766005970964.png

⭐ PoseSaver 1.6 — Organization, Speed & Variants​


PoseSaver 1.6 is a major quality-of-life update focused on organization, fast navigation, and pose variants — especially for users with large pose libraries or VR workflows.


🎯 1. Categories & Organization​


You can now properly organize your pose library.


New in Pose Data


  • Added Category field
    (Uncategorized, Standing, Sitting, Lying, Kneeling, Custom)
  • Added Tags list for flexible labeling
  • Full JSON save/load support — no breaking changes

UI


  • Category selector in the pose edit view
  • Category filter in the main view
  • Categories displayed alongside pose names



🔍 2. Smart Filtering & Navigation​


Finding poses is now instant.


Pose Selector Dropdown


  • Select any pose directly from a dropdown
  • Replaces the old Next / Previous navigation
  • Auto-updates when poses are added or removed

Search Box


  • Real-time text filtering by pose name
  • Supports partial matches
  • Works together with category filtering

Example


  • Filter “Sitting”
  • Search “sofa”
  • Only relevant poses remain

Perfect for large libraries and VR use.




📋 3. Pose Variants: Duplicate & Mirror​


Create variations in one click.


Duplicate Pose


  • Creates an exact copy with “(Copy)” suffix
  • Copies everything:
    • Pose data
    • Triggers
    • Cameras
    • Dialogs
  • Preserves category and tags

Mirror Pose


  • Automatically creates a left/right mirrored version
  • Swaps all L/R controllers:
    • Arms, legs, hands
    • Shoulders, elbows, hips, knees
    • All finger joints (thumb → pinky)
  • Ideal for symmetrical poses and quick variations



🎨 4. UI Improvements​


Cleaner Main View


  • Pose selector placed at the top
  • Category + search filters clearly grouped
  • Removed the confusing “Follow Story Flow” button
  • Single pose display with full thumbnail focus

Improved Edit View


  • Category selector added to the POSE tab
  • Duplicate & Mirror buttons with clear visual distinction
  • All existing tabs remain:
    • POSE
    • TRIGGERS
    • CAMERA
    • HANDS
    • DIALOGS
    • FLOW



🎮 Workflow Comparison​


Before


  1. Click Next / Next / Next to find a pose
  2. No real organization
  3. Manual re-posing for variations

Now


  1. Select poses instantly via dropdown or filters
  2. Organize with categories and search
  3. Duplicate or mirror poses in one click
  4. Faster, cleaner, VR-friendly workflow



💡 Best Use Cases​


  • Categories → Organize large pose libraries
  • Search → Find poses like “kiss” or “hug” instantly
  • Duplicate → Create small variations quickly
  • Mirror → Instantly generate left/right versions

Everything works together seamlessly:
Filter → Search → Select → Load → Edit → Duplicate or Mirror.

⭐ PoseSaver — Major Update (Rebuild for Stability, UI, & Transitions)


This is one of the biggest PoseSaver updates ever released.
Almost every system has been rebuilt, optimized, or redesigned for stability, clarity, and ease of use.


Here’s what’s new:




🔧 1. Completely Rebuilt Transition System


Transitions are now smoother, safer, and much more predictable.


  • Full physics-safe lerping for all controllers
  • Main controller skipped to avoid accidental atom movement
  • Exact final values applied at the end of transitions
  • Instant transitions when duration ≤ 0.001
  • Controller rigidbodies zeroed before transitions to prevent “explosions”

This eliminates the unstable behavior seen in older versions.




🖼️ 2. New On-Screen Thumbnail Canvas


The thumbnail system has been rebuilt from scratch:


  • Perfect alignment with no drift or overlap
  • Vertical stacked layout with camera-angle buttons
  • Pagination for large pose libraries
  • Native VaM-style button materials
  • Auto-hide when thumbnails are disabled

Cleaner, clearer, and far more reliable.




🎨 3. Fully Redesigned UI / UX


PoseSaver now has a modern and professional interface:


  • New header design and section dividers
  • Improved VR workflow
  • Collapsible Advanced Options section
  • Cleaner tab-based editing experience
  • Redesigned button states (hover, pressed, disabled)

The UI now feels native to VaM while remaining polished and intuitive.




💬 4. Dialog & Story Improvements


Dialog creation and editing is now easier and safer:


  • Streamlined editing flow
  • Cleaner handling of pose-linked dialog chains
  • More robust JSON handling and error checking

Perfect for story-driven scenes.




🧩 5. Modernized Trigger Engine


The trigger system has been refreshed and stabilized.


  • Automatic UI generation for all trigger types
  • Clear separation between create / duplicate / remove
  • Safer asset loading
  • Improved error messages

Includes proper attribution for components inspired by MacGruber’s Utils.




📸 6. Improved Screenshot → Thumbnail Pipeline


Thumbnail creation is now far more reliable:


  • Rewritten PNG rendering pipeline
  • Safe camera-state restoration
  • More consistent rendering
  • Faster thumbnail loading in large libraries



👣 7. Safer Morph Baseline System


  • Atomic baseline capture for reliability
  • Clearing baseline no longer affects unrelated storables
  • Transition system fully respects baseline behavior



🔍 8. Internal Cleanup & Future-Proofing


Large parts of the codebase were refactored for stability:


  • Unified naming conventions
  • Removed unused code paths
  • Strong null-safety around all UI calls
  • Fully separated modules (UI, Canvas, Dialogs, Triggers, Transitions)

This update prepares PoseSaver for future expansions.




📜 License Update


PoseSaver is now released under CC BY-SA, ensuring compatibility with VaM Hub licensing and allowing future community-driven improvements while maintaining proper credit.




🙏 Credits


Special thanks to MacGruber for the trigger system inspirations and utilities that helped guide the improved implementation.




⭐ Conclusion


This update makes PoseSaver more stable, clearer, safer, and easier to use than ever before.
Thank you to everyone who provided feedback, your input shaped this update.

🔄 PoseSaver Update Text (Hub “Updates” section)(no new text-just a quickfix)​


PoseSaver v1.5.x – Multi-Camera UI fix


  • Fixed a layout issue with the Multi-Camera System on higher resolutions.
  • On 2560×1440 and 2560×1600 (and some UI scale combinations), the camera buttons could overlap the pose thumbnailsor appear misaligned.
    • Fully resolution-independent and UI-scale-independent
    • Used as the parent for all camera buttons,

This should fix the misaligned/overlapping for users on 1440p / 1600p or other non-1080p setups, while behaving exactly the same as before on 1080p.

If there still are issues please give me feedback.

🔄 PoseSaver Update1.5.4​


PoseSaver v1.5.x – Multi-Camera UI fix


  • Fixed a layout issue with the Multi-Camera System on higher resolutions.
  • On 2560×1440 and 2560×1600 (and some UI scale combinations), the camera buttons could overlap the pose thumbnailsor appear misaligned.
    • Fully resolution-independent and UI-scale-independent
    • Used as the parent for all camera buttons,

This should fix the misaligned/overlapping for users on 1440p / 1600p or other non-1080p setups, while behaving exactly the same as before on 1080p.

If there still are issues please give me feedback.
PoseSaver v1.5.3 - Update Notes

UI FIX: On-Screen Thumbnail Layout & Camera Button Alignment

PROBLEM FIXED:
Previous version had UI layout issues when displaying pose thumbnails on screen, particularly at different
resolutions (1080p, 1440p). Camera selection buttons were misaligned with thumbnails, and pagination controls
were partially cut off on 1080p displays.
Back
Top Bottom