Skip to content

StrangeToolkit v2.0.0

Choose a tag to compare

@github-actions github-actions released this 30 Jan 19:43

Added

  • StrangeCleanup - UdonSharp component for resetting pickupable objects
    • Multiple cleanup groups - Create separate reset buttons for different object sets
    • Each cleanup group manages its own tracked objects independently
    • Captures original positions/rotations on world load
    • Reset button returns all tracked objects to their starting positions
    • Automatically drops held pickups before reset
    • Resets Rigidbody velocities
    • Audio feedback support
    • Custom inspector with tracked objects management, collider controls, and UI button creation
    • Auto Respawn - Automatically reset objects after configurable idle time (1-60 minutes)
      • Timer starts when object is dropped (not when it stops moving)
      • Objects respawn even if still in motion
      • Interval-based checking (0.5s) for performance optimization
      • Cached pickup references to avoid per-check GetComponent calls
  • Object Auto-Cleanup Section (World Tab)
    • Lists all cleanup groups in scene with object counts
    • Shows Global Sync status indicator per group
    • Create new cleanup groups with one click
  • Linked Cleanup Groups (StrangeHub Inspector)
    • Shows all cleanup groups in scene alongside Smart Toggles
    • Displays object count and sync status per group
    • Clickable names to select cleanup buttons
  • Global Sync for StrangeToggle and StrangeCleanup
    • Toggle state syncs to all players including late joiners
    • Reset action syncs to all players
    • Mutually exclusive with persistence (per-player) mode
    • Manual sync mode with ownership transfer
    • Automatic VRCObjectSync component management on tracked cleanup objects
  • UI Button/Toggle Creation
    • "Add UI Toggle" button creates world-space VRChat UI with checkmark
    • "Add UI Button" for cleanup reset buttons
    • "Remove UI Toggle/Button" to clean up created UI
    • Automatic VRCUiShape and TextMeshPro integration
    • Checkmark auto-added to toggle objects array
  • Lighting Workflow (Visuals Tab)
    • Streamlined 3-step workflow: Setup → Scene Volumes → Baking
    • PC/Quest mode detection based on build target
    • "Apply Recommended PC Settings" - ProgressiveGPU, Shadowmask, Directional, 20 texels
    • "Apply Recommended Quest Settings" - ProgressiveGPU, Subtractive, Non-Directional, 12 texels
    • "Apply Bakery PC Settings" - Shadowmask, Dominant, 5 bounces, 16 samples
    • "Apply Bakery Quest Settings" - Subtractive, 2 bounces, 8 samples
    • Lighting Presets system - Save/Load complete lighting configurations
    • Auto-Generate Scene Volumes with configurable max size
  • GPU Instancing Overhaul (Visuals Tab)
    • Hierarchical grouping: Ready for Instancing vs Material Consolidation Candidates
    • Per-object selection within instance groups
    • Material thumbnail previews in consolidation view
    • Master material selection for consolidation workflow
    • Static batching integration with mutual exclusivity toggle
    • "Switch to Instancing" / "Switch to Static" buttons for quick conversion
    • Minimum instance count threshold (default 5+ objects)
  • Material Manager Improvements
    • Material thumbnail preview (32x32) in list
    • "Sel" button to select material in Project window
  • External Tools Status (World Tab)
    • Bakery GPU Lightmapper detection with Asset Store link
    • RedSim Light Volumes detection with VPM listing link
  • Interactables Tab Improvements
    • Reorganized Smart Toggle expanded settings into 4 sections (Action, Feedback, Brain, Trigger)
    • Add/Remove UI Toggle buttons
    • Prefab instance handling with "Unpack Prefab" option
  • Static Batching Tooltips (Auditor Tab)
    • Tooltip warning when switching from static to dynamic about baked lighting implications

Changed

  • Major Editor Reorganization - Complete restructure into subfolders:
    • Editor/Auditors/ - All auditor partial classes (Audio, Particles, Physics, etc.)
    • Editor/Converters/ - Quest conversion utilities
    • Editor/Inspectors/ - Custom inspectors (StrangeHub, StrangeToggle, StrangeCleanup)
    • Editor/Resources/ - Editor resources (logo)
    • Editor/Tabs/ - Tab partial classes (World, Visuals, Interactables, Auditor, Quest, Expansions)
    • Editor/Utilities/ - Helper classes (Logger, BuildDataReader, TextureVRAMCalculator, LightingPreset)
  • Visuals Tab Overhaul
    • Lighting Workflow section with PC/Quest mode indicator
    • GPU Instancing Tools section
    • Material Manager section
    • Removed Auditor redirect (consolidated into Auditor Tab)
  • Expansions Tab
    • Auto-scan on tab draw and project changes
    • Improved package root detection (finds Expansions folder first, then package.json)
  • Release Workflow
    • Added .gitkeep exclusion for VPM zip (keeps folder structure without placeholder files)

Fixed

  • Toggle deletion on prefab instances (properly removes backing UdonBehaviour)
  • UI Toggle text alignment in CreateUIToggleVisuals
  • Expansions folder detection when Editor files reorganized into subfolders
  • Obsolete Lightmapping API calls for Unity 2022+ compatibility
  • LightingSettings null reference exceptions
  • Bakery window integration improvements
  • Quest Converter transform synchronization for objects with duplicate names (Queue-based matching)
  • Duplicate method definitions in StrangeToolkitWindow
  • Potential null reference in StrangeCleanup.InitializeAutoRespawn()
  • Missing Undo support for post-processing removal in Quest Converter
  • Deprecated FindObjectsOfType calls updated to FindObjectsByType
  • Exception logging added for material blacklist loading failures
  • Reflection caching in PhysBones auditor (performance optimization)
  • Magic numbers replaced with named constants in PhysBones auditor (thresholds, UI sizing)
  • Magic numbers replaced with named constants in Quest Converter
  • Empty catch blocks now explicitly catch System.Exception
  • Removed unused imports in Quest Converter