Skip to content

feat: Add Simple Mirror and Object Tools#61

Merged
Limitex merged 42 commits intomainfrom
dev
Jun 10, 2025
Merged

feat: Add Simple Mirror and Object Tools#61
Limitex merged 42 commits intomainfrom
dev

Conversation

@Limitex
Copy link
Owner

@Limitex Limitex commented Jun 10, 2025

This release candidate introduces several major new features, significant enhancements to the developer experience, and important bug fixes. The primary additions are the Simple Mirror System and the ObjectButton/ObjectToggle System, which provide powerful new tools for world creators.

🚀 Features

  • New: Simple Mirror System (feat: create simple mirror #51)

    • Added a user-friendly, high-performance mirror prefab for easy integration.
    • Includes a PlayerOnlyMirrorCutoutShader that renders only player reflections.
    • Features a MirrorManager script (UdonSharp) to switch between High-Quality (HQ) and Low-Quality (LQ) modes at runtime.
  • New: ObjectButton & ObjectToggle System (feat: Implement Object Toggles and Buttons #57)

    • Introduced a flexible system for managing the active state of multiple GameObjects with network sync support.
    • ObjectButton: Triggers state changes (e.g., invert, shift) for a group of objects.
    • ObjectToggle: Binds the active state of objects to a UI Toggle's isOn property.
    • Editor Enhancements:
      • Added ObjectToggleBuildProcessor to automatically link triggers to their master component at build time, eliminating manual setup.
      • Created a ReferencedByDrawer utility in the inspector to easily see which triggers are referencing the component.

✨ Enhancements

🐛 Bug Fixes

  • UI Provider Transform Reset (fix: Reset RectTransform offsets for UI Providers on creation #50)
    • Fixed a bug where UI Providers (Dialog, Toast) instantiated from the context menu would not have their RectTransform offsets reset, causing incorrect positioning.
  • Toggle Initialization & Sync
    • Resolved several issues with the ObjectToggle system, including incorrect Udon sync modes and improper handling of initial state values, ensuring reliable behavior.

🔧 Maintenance

chore: Refine Component Editor Visibility and Instantiation Rules
…reation

fix: Reset RectTransform offsets for UI Providers on creation
@Limitex Limitex requested a review from Copilot June 10, 2025 13:00
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces new features for Mono UI including a new Simple Mirror System and ObjectButton/ObjectToggle system, along with enhancements to the developer experience and several bug fixes. Key changes include the addition of the PlayerOnlyMirrorCutoutMaterial, improvements to the UI context menus to support mirror prefab spawning with resettable offsets, and updates to editor scripts and GitHub workflows for build processing and release management.

Reviewed Changes

Copilot reviewed 56 out of 56 changed files in this pull request and generated no comments.

Show a summary per file
File Description
Runtime/Assets/Material/PlayerOnlyMirrorCutoutMaterial.mat Added new mirror material with custom shader properties
Runtime/Assets/Material.meta Added meta file for the material asset
README.md Updated sample list to include the new Simple Mirror feature
EditorOnly/Scripts/Components/*.cs Added AddComponentMenu attributes to improve component organization
Editor/Scripts/Utils/ReferencedByDrawer.cs (+ meta) Introduced utility for displaying component references in the inspector
Editor/Scripts/Inspector/ObjectToggleEditor.cs & ObjectButtonEditor.cs (+ meta) Added custom editors that leverage the ReferencedByDrawer for easier reference tracing
Editor/Scripts/ContextMenu/GameObjectContextMenu.cs Updated spawn prefab methods to reset RectTransform offsets and added support for spawning the Simple Mirror prefab
Editor/Scripts/Build/ObjectToggleBuildProcessor.cs (+ meta) Implemented build-time linking for ObjectToggle triggers
.github/workflows/* & ISSUE_TEMPLATE/* Updated workflows and issue templates to streamline CI/CD and bug/feature reporting
Comments suppressed due to low confidence (1)

Editor/Scripts/ContextMenu/GameObjectContextMenu.cs:117

  • The MenuItem label 'Simpe Mirror' is misspelled. Please correct it to 'Simple Mirror' to ensure consistency and clarity.
[MenuItem(MENU_SAMPLE + "Simpe Mirror", false, SAMPLE_PRIORITY + 5)]

@Limitex Limitex merged commit 1365efe into main Jun 10, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants