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
![]()
![]()
![]()
![]()
![]()
![]()
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
- Click Next / Next / Next to find a pose
- No real organization
- Manual re-posing for variations
Now
- Select poses instantly via dropdown or filters
- Organize with categories and search
- Duplicate or mirror poses in one click
- 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.
MAJOR FIX: Look/Appearance Distortion Issue Resolved
PROBLEM FIXED:
Previous versions (1.4.3 - 1.5.1) could cause character shape distortion when switching between poses. This happened because PoseSaver was capturing morphs that belong to the Look's appearance preset, not just pose-specific morphs. When loading poses, these saved Look morphs would overwrite or conflict with the current appearance.
THE SOLUTION: Baseline Morph Snapshot System
PoseSaver now uses a smart delta-save system that only captures morphs that actually change during posing, keeping your Look/appearance intact.
HOW IT WORKS:
1. When you save your first pose, PoseSaver automatically captures a "baseline snapshot" of current morph values
2. Each subsequent pose only saves morphs that DIFFER from this baseline
3. Look morphs that were already set stay in the baseline and aren't saved in poses
4. When loading poses, only pose-specific morphs are applied - your Look stays perfect!
NEW UI CONTROLS:
• "Capture Morph Baseline" (green button) - Manually capture/update the morph baseline
• "Clear Morph Baseline" (red button) - Reset baseline (will auto-recapture on next save)
RECOMMENDED WORKFLOW:
1. Load your scene and apply your favorite Look/Appearance preset
2. Add PoseSaver plugin to the Person atom
3. (Optional) Click "Capture Morph Baseline" to lock in the current appearance
4. Start creating poses - only pose changes will be saved!
BENEFITS:
✓ No more shape distortion when switching poses
✓ Smaller pose file sizes (only actual pose morphs saved)
✓ Looks/Appearance presets remain intact
✓ Compatible with all existing poses (backward compatible)
✓ Works automatically - baseline captures on first save
TECHNICAL DETAILS:
• Baseline is stored per-atom and persists across all poses
• Uses epsilon comparison (0.0001) for float precision
• Only affects morphs in Custom/Atom/Person/Morphs/female|male directories
• Appearance/body morphs in other directories are never affected
• Clear and recapture baseline anytime if you change Looks mid-session
This update restores the reliable behavior from v1.4.2 while maintaining all the improvements from recent versions.
Hopefully fixed the Look-dependent shape distortion bug in PoseSaver
The Problem:
- PoseSaver 1.4.3+ was resetting ALL pose morphs to default if they weren't explicitly saved in the pose
- This broke Looks that store their base shape morphs in Custom/Atom/Person/Morphs/... folders
- When switching poses, these Look morphs would get reset to default, causing distortion
Hopefully this is history now. but il need you guys to test it.