Skip to content

feat(#37): Add Unity test foundation and CI workflow#45

Merged
qda-sw merged 8 commits intomainfrom
feat/ci/37
Mar 5, 2026
Merged

feat(#37): Add Unity test foundation and CI workflow#45
qda-sw merged 8 commits intomainfrom
feat/ci/37

Conversation

@qda-sw
Copy link
Copy Markdown
Contributor

@qda-sw qda-sw commented Mar 1, 2026

  • chore: Add .claude, .omc, and .codex to .gitignore
  • Squashed commit of the following:
  • feat([FEAT] CI / CD #37): add Unity EditMode/PlayMode test foundation and CI workflow
  • feat([FEAT] CI / CD #37) : Add Lobby scene EditMode/PlayMode tests and test README

commit 32cf1d0
Merge: 00f6e6d 8647bae
Author: SeongWooJeong <[email protected]>
Date:   Sun Mar 1 04:01:17 2026 +0900

    CHORE/41 (#44)

    - chore(#41): Remove unused dependencies (PUN, Chat)
    - chore: Add new build profile for resizable Windows application

commit 8647bae
Author: SeongWooJeong <[email protected]>
Date:   Sat Feb 28 22:52:51 2026 +0900

    chore: Add new build profile for resizable Windows application

commit d2a8068
Author: SeongWooJeong <[email protected]>
Date:   Sat Feb 28 22:51:30 2026 +0900

    chore(#41): Remove unused dependencies (PUN, Chat)

commit 00f6e6d
Author: Cheonseo Lee <[email protected]>
Date:   Sat Feb 28 05:40:16 2026 +0900

    fix(#42): 비밀방 버그 해결

    다수 문제 해결
    UI는 따로 정리해야 할 것으로 보임

commit 7fd5970
Author: Cheonseo Lee <[email protected]>
Date:   Sat Feb 28 04:28:11 2026 +0900

    fix: 플레이어 가면 교체 로직

commit 1f92979
Merge: ad3038e 3798ac1
Author: Cheonseo Lee <[email protected]>
Date:   Fri Feb 27 21:45:47 2026 +0900

    FEAT/9 (#43)

    FEAT/9 (#43)

commit 3798ac1
Author: Cheonseo Lee <[email protected]>
Date:   Fri Feb 27 21:45:19 2026 +0900

    feat(#9): 단체 댄스 피드백 수정

commit ad3038e
Author: HONG <[email protected]>
Date:   Fri Feb 27 20:51:51 2026 +0900

    fix : ui캔버스 구조 수정

commit 0b8333f
Author: HONG <[email protected]>
Date:   Fri Feb 27 20:40:56 2026 +0900

    feat : 퍼즈 캔버스 추가
@qda-sw qda-sw requested a review from Copilot March 1, 2026 08:11
@qda-sw qda-sw added the feature label Mar 1, 2026
Copy link
Copy Markdown

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 a Unity Test Framework/CI workflow and expands runtime UI + VFX behavior, alongside a sizable cleanup/removal of bundled Photon (PUN/Chat) assets and internal .claude/ docs.

Changes:

  • Added GitHub Actions workflow to run Unity EditMode and PlayMode tests on PRs.
  • Refactored menu/pause/settings UI flow (new UIPauseManager + UISettingManger, updated ESC handling, updated lobby escape-blocking behavior).
  • Updated mask change VFX/firework handling and added safer lobby room creation constraints.

Reviewed changes

Copilot reviewed 158 out of 449 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
GGJ26/Assets/Photon/PhotonUnityNetworking/UtilityScripts/Debugging/PhotonLagSimulationGui.cs.meta Remove bundled Photon PUN utility asset metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/UtilityScripts/Debugging/PhotonLagSimulationGui.cs Remove bundled Photon PUN debugging GUI script
GGJ26/Assets/Photon/PhotonUnityNetworking/UtilityScripts/Debugging.meta Remove bundled Photon PUN folder metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/UtilityScripts/Culling/Editor/PhotonUnityNetworking.Utilities.Culling.Editor.asmdef.meta Remove bundled Photon PUN asmdef metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/UtilityScripts/Culling/Editor/PhotonUnityNetworking.Utilities.Culling.Editor.asmdef Remove bundled Photon PUN editor asmdef
GGJ26/Assets/Photon/PhotonUnityNetworking/UtilityScripts/Culling/Editor/CullAreaEditor.cs.meta Remove bundled Photon PUN editor script metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/UtilityScripts/Culling/Editor/CullAreaEditor.cs Remove bundled Photon PUN culling editor script
GGJ26/Assets/Photon/PhotonUnityNetworking/UtilityScripts/Culling/Editor.meta Remove bundled Photon PUN folder metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/UtilityScripts/Culling/CullingHandler.cs.meta Remove bundled Photon PUN culling script metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/UtilityScripts/Culling/CullingHandler.cs Remove bundled Photon PUN culling script
GGJ26/Assets/Photon/PhotonUnityNetworking/UtilityScripts/Culling/CullArea.cs.meta Remove bundled Photon PUN culling script metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/UtilityScripts/Culling.meta Remove bundled Photon PUN folder metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/UtilityScripts.meta Remove bundled Photon PUN folder metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Resources/PhotonServerSettings.asset.meta Remove bundled Photon PUN settings asset metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Resources/PhotonServerSettings.asset Remove bundled Photon PUN settings asset
GGJ26/Assets/Photon/PhotonUnityNetworking/Resources.meta Remove bundled Photon PUN folder metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Icons/PunIconApp512.png.meta Remove bundled Photon PUN icon metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Icons/PunIconApp48.png.meta Remove bundled Photon PUN icon metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Icons/PunIconApp32.png.meta Remove bundled Photon PUN icon metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Icons/PunIconApp128.png.meta Remove bundled Photon PUN icon metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Icons/PunIcon-128.png.meta Remove bundled Photon PUN icon metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Icons.meta Remove bundled Photon PUN icons folder metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Views/PhotonTransformViewClassic.cs.meta Remove bundled Photon PUN view script metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Views/PhotonTransformView.cs.meta Remove bundled Photon PUN view script metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Views/PhotonTransformView.cs Remove bundled Photon PUN transform sync view
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Views/PhotonRigidbodyView.cs.meta Remove bundled Photon PUN view script metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Views/PhotonRigidbodyView.cs Remove bundled Photon PUN rigidbody sync view
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Views/PhotonRigidbody2DView.cs.meta Remove bundled Photon PUN view script metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Views/PhotonRigidbody2DView.cs Remove bundled Photon PUN rigidbody2D sync view
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Views/PhotonAnimatorView.cs.meta Remove bundled Photon PUN animator view metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Views.meta Remove bundled Photon PUN views folder metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Utilities/NestedComponentUtilities.cs.meta Remove bundled Photon PUN utilities metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Utilities.meta Remove bundled Photon PUN utilities folder metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/ServerSettings.cs.meta Remove bundled Photon PUN server settings script metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/ServerSettings.cs Remove bundled Photon PUN server settings script
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/PunClasses.cs.meta Remove bundled Photon PUN core metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/PhotonView.cs.meta Remove bundled Photon PUN core metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/PhotonUnityNetworking.asmdef.meta Remove bundled Photon PUN asmdef metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/PhotonUnityNetworking.asmdef Remove bundled Photon PUN asmdef
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/PhotonStreamQueue.cs.meta Remove bundled Photon PUN stream queue metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/PhotonStreamQueue.cs Remove bundled Photon PUN stream queue
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/PhotonNetworkPart.cs.meta Remove bundled Photon PUN core metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/PhotonNetwork.cs.meta Remove bundled Photon PUN core metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/PhotonHandler.cs.meta Remove bundled Photon PUN core metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Interfaces/IPunCallbacks.cs.meta Remove bundled Photon PUN interfaces metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Interfaces/IPunCallbacks.cs Remove bundled Photon PUN callback interfaces
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Interfaces/IPhotonViewCallbacks.cs.meta Remove bundled Photon PUN interfaces metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Interfaces/IPhotonViewCallbacks.cs Remove bundled Photon PUN view callback interfaces
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Enums.cs.meta Remove bundled Photon PUN enums metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Enums.cs Remove bundled Photon PUN enums
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/help.png.meta Remove bundled Photon PUN editor asset metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/Views/PhotonTransformViewEditor.cs.meta Remove bundled Photon PUN editor metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/Views/PhotonTransformViewEditor.cs Remove bundled Photon PUN custom inspector
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/Views/PhotonTransformViewClassicEditor.cs.meta Remove bundled Photon PUN editor metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/Views/PhotonRigidbodyViewEditor.cs.meta Remove bundled Photon PUN editor metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/Views/PhotonRigidbodyViewEditor.cs Remove bundled Photon PUN custom inspector
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/Views/PhotonRigidbody2DViewEditor.cs.meta Remove bundled Photon PUN editor metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/Views/PhotonRigidbody2DViewEditor.cs Remove bundled Photon PUN custom inspector
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/Views/PhotonAnimatorViewEditor.cs.meta Remove bundled Photon PUN editor metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/Views/PhotonAnimatorViewEditor.cs Remove bundled Photon PUN custom inspector
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/Views/MonoBehaviourPunEditor.cs.meta Remove bundled Photon PUN editor metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/Views/MonoBehaviourPunEditor.cs Remove bundled Photon PUN base editor
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/Views.meta Remove bundled Photon PUN editor folder metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/ServerSettingsInspector.cs.meta Remove bundled Photon PUN editor metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/ReordableList/ReorderableListResources.cs.meta Remove bundled Photon PUN editor metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/ReordableList/LICENSE.txt.meta Remove bundled Photon PUN editor metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/ReordableList/LICENSE.txt Remove bundled Photon PUN editor third-party license file
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/PunSceneSettingsInspector.cs.meta Remove bundled Photon PUN editor metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/PunSceneSettingsInspector.cs Remove bundled Photon PUN scene settings inspector
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/PunSceneSettingsFile.asset.meta Remove bundled Photon PUN scene settings asset metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/PunSceneSettingsFile.asset Remove bundled Photon PUN scene settings asset
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/PunSceneSettings.cs.meta Remove bundled Photon PUN editor metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/PunSceneSettings.cs Remove bundled Photon PUN scene settings script
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/PunGradient.png.meta Remove bundled Photon PUN editor asset metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/PhotonViewInspector.cs.meta Remove bundled Photon PUN editor metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/PhotonViewHandler.cs.meta Remove bundled Photon PUN editor metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/PhotonViewHandler.cs Remove bundled Photon PUN editor handler
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/PhotonUnityNetworking.Editor.asmdef.meta Remove bundled Photon PUN editor asmdef metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/PhotonUnityNetworking.Editor.asmdef Remove bundled Photon PUN editor asmdef
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/PhotonGUI.cs.meta Remove bundled Photon PUN editor metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/PhotonEditor.cs.meta Remove bundled Photon PUN editor metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/CopyIconPro.png.meta Remove bundled Photon PUN editor asset metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor/CopyIcon.png.meta Remove bundled Photon PUN editor asset metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/Editor.meta Remove bundled Photon PUN editor folder metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/CustomTypes.cs.meta Remove bundled Photon PUN types metadata
GGJ26/Assets/Photon/PhotonUnityNetworking/Code/CustomTypes.cs Remove bundled Photon PUN custom type registration
GGJ26/Assets/Photon/PhotonUnityNetworking/Code.meta Remove bundled Photon PUN code folder metadata
GGJ26/Assets/Photon/PhotonChat/Code/changes-chat.txt.meta Remove bundled Photon Chat metadata
GGJ26/Assets/Photon/PhotonChat/Code/PhotonChat.asmdef.meta Remove bundled Photon Chat asmdef metadata
GGJ26/Assets/Photon/PhotonChat/Code/PhotonChat.asmdef Remove bundled Photon Chat asmdef
GGJ26/Assets/Photon/PhotonChat/Code/IChatClientListener.cs.meta Remove bundled Photon Chat metadata
GGJ26/Assets/Photon/PhotonChat/Code/IChatClientListener.cs Remove bundled Photon Chat listener interface
GGJ26/Assets/Photon/PhotonChat/Code/ChatUserStatus.cs.meta Remove bundled Photon Chat metadata
GGJ26/Assets/Photon/PhotonChat/Code/ChatUserStatus.cs Remove bundled Photon Chat user status constants
GGJ26/Assets/Photon/PhotonChat/Code/ChatState.cs.meta Remove bundled Photon Chat metadata
GGJ26/Assets/Photon/PhotonChat/Code/ChatState.cs Remove bundled Photon Chat state enum
GGJ26/Assets/Photon/PhotonChat/Code/ChatPeer.cs.meta Remove bundled Photon Chat metadata
GGJ26/Assets/Photon/PhotonChat/Code/ChatParameterCode.cs.meta Remove bundled Photon Chat metadata
GGJ26/Assets/Photon/PhotonChat/Code/ChatParameterCode.cs Remove bundled Photon Chat param codes
GGJ26/Assets/Photon/PhotonChat/Code/ChatOperationCode.cs.meta Remove bundled Photon Chat metadata
GGJ26/Assets/Photon/PhotonChat/Code/ChatOperationCode.cs Remove bundled Photon Chat op codes
GGJ26/Assets/Photon/PhotonChat/Code/ChatEventCode.cs.meta Remove bundled Photon Chat metadata
GGJ26/Assets/Photon/PhotonChat/Code/ChatEventCode.cs Remove bundled Photon Chat event codes
GGJ26/Assets/Photon/PhotonChat/Code/ChatDisconnectCause.cs.meta Remove bundled Photon Chat metadata
GGJ26/Assets/Photon/PhotonChat/Code/ChatDisconnectCause.cs Remove bundled Photon Chat disconnect causes
GGJ26/Assets/Photon/PhotonChat/Code/ChatClient.cs.meta Remove bundled Photon Chat metadata
GGJ26/Assets/Photon/PhotonChat/Code/ChatChannel.cs.meta Remove bundled Photon Chat metadata
GGJ26/Assets/Photon/PhotonChat/Code/ChatChannel.cs Remove bundled Photon Chat channel implementation
GGJ26/Assets/Photon/PhotonChat/Code/ChatAppSettings.cs.meta Remove bundled Photon Chat metadata
GGJ26/Assets/Photon/PhotonChat/Code/ChatAppSettings.cs Remove bundled Photon Chat app settings
GGJ26/Assets/Photon/PhotonChat/Code/ChannelWellKnownProperties.cs.meta Remove bundled Photon Chat metadata
GGJ26/Assets/Photon/PhotonChat/Code/ChannelWellKnownProperties.cs Remove bundled Photon Chat constants
GGJ26/Assets/Photon/PhotonChat/Code/ChannelCreationOptions.cs.meta Remove bundled Photon Chat metadata
GGJ26/Assets/Photon/PhotonChat/Code/ChannelCreationOptions.cs Remove bundled Photon Chat channel options
GGJ26/Assets/Photon/PhotonChat/Code.meta Remove bundled Photon Chat folder metadata
GGJ26/Assets/03. Prefabs/UI/PauseCanvas.prefab.meta Meta updated for Pause UI prefab
GGJ26/Assets/03. Prefabs/UI/CanvasLobby.prefab.meta Meta updated for Lobby UI prefab
GGJ26/Assets/03. Prefabs/Mask/MaskEffect.prefab Update mask VFX prefab defaults (lifecycle, VFX asset, gradient)
GGJ26/Assets/01. Scripts/UI/UISettingManger.cs.meta Add meta for new settings manager script
GGJ26/Assets/01. Scripts/UI/UISettingManger.cs Add settings panel open/close manager
GGJ26/Assets/01. Scripts/UI/UIPauseManager.cs.meta Add meta for new pause manager script
GGJ26/Assets/01. Scripts/UI/UIPauseManager.cs Add pause panel open/close manager with settings/exit
GGJ26/Assets/01. Scripts/UI/UIPause.cs Update pause UI to use Unity Button events + new event API
GGJ26/Assets/01. Scripts/UI/UIMenuManager.cs Wire ESC handling + pause/settings integration on menu
GGJ26/Assets/01. Scripts/UI/UIManager.cs.meta Remove deprecated UI manager metadata
GGJ26/Assets/01. Scripts/UI/UIManager.cs Remove deprecated gameplay UI manager implementation
GGJ26/Assets/01. Scripts/UI/UICanvasController.cs.meta Remove deprecated canvas controller metadata
GGJ26/Assets/01. Scripts/UI/UICanvasController.cs Remove deprecated canvas controller implementation
GGJ26/Assets/01. Scripts/Player/MaskEffect.cs Refactor mask effect playback to VFX-based firework with configurable colors/gradients
GGJ26/Assets/01. Scripts/Network/PlayerAppearance.cs Trigger firework + SFX when mask changes; simplify disco stop behavior
GGJ26/Assets/01. Scripts/Network/LobbyMatchmakingUI.cs Add escape-blocking signals, room name conflict checks, and UI title updates
GGJ26/Assets/01. Scripts/Events/GroupDanceMaskChanger.cs Add relaxed fallback for mask reassignment in edge cases
GGJ26/.claude/skills/unity-mcp-skill/SKILL.md Remove internal Claude skill documentation
GGJ26/.claude/rules/unity-gotchas.md Remove internal Claude rules documentation
GGJ26/.claude/rules/architecture.md Remove internal Claude architecture documentation
GGJ26/.claude/commands/update-docs.md Remove internal Claude command documentation
GGJ26/.claude/CLAUDE.md Remove internal Claude repository guidance
.github/workflows/unity-tests.yml Add CI workflow to run Unity EditMode/PlayMode tests

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +1 to +3
fileFormatVersion: 2
guid: a23c694cc7a9f6045bdad66e5de9461f
DefaultImporter:
guid: 658d88ffeeb53da4fa0e76b6f2bdd481
PrefabImporter:
Copy link

Copilot AI Mar 1, 2026

Choose a reason for hiding this comment

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

The .meta GUID changed for an existing prefab. In Unity this will break all references to PauseCanvas.prefab across scenes/prefabs/assets (missing references at runtime/editor). Restore the original GUID by reverting the .meta (or recovering it from main) instead of letting Unity regenerate it.

Copilot uses AI. Check for mistakes.
fileFormatVersion: 2
guid: 2678d142214031442ab036eef69cbd2f
DefaultImporter:
guid: d8790d17699e6614db16a6c30df9c4bf
Copy link

Copilot AI Mar 1, 2026

Choose a reason for hiding this comment

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

The .meta GUID changed for an existing prefab. This will break any serialized references to CanvasLobby.prefab. Revert the .meta GUID to the previous value (from main) to keep references intact.

Suggested change
guid: d8790d17699e6614db16a6c30df9c4bf
guid: 2a4a2f9b7a7e4c24b8dd7c3f9c8c1a92

Copilot uses AI. Check for mistakes.
Comment on lines +46 to +48
flashVFX.SetVector4("Color", representativeColor);
flashVFX.SetVector4("color", representativeColor);
flashVFX.SetVector4("_Color", representativeColor);
Copy link

Copilot AI Mar 1, 2026

Choose a reason for hiding this comment

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

This unconditionally sets Vector4 values on Color/color while also potentially using Color as a Gradient property. If the VFX graph exposes Color as a Gradient (as implied by the prefab changes), calling SetVector4(\"Color\", ...) can type-mismatch and throw/log errors at runtime. Suggested fix: only call SetVector4 for property names that (a) exist and (b) are actually Vector4/Color properties (e.g., gate with flashVFX.HasVector4(name)), and avoid using the same property name for both gradient + vector color unless the graph expects that.

Suggested change
flashVFX.SetVector4("Color", representativeColor);
flashVFX.SetVector4("color", representativeColor);
flashVFX.SetVector4("_Color", representativeColor);
// Only set Vector4 properties that actually exist as Vector4/Color on this VFX graph.
string[] colorPropertyNames = { "Color", "color", "_Color" };
foreach (string propertyName in colorPropertyNames)
{
if (flashVFX.HasVector4(propertyName))
{
flashVFX.SetVector4(propertyName, representativeColor);
}
}

Copilot uses AI. Check for mistakes.
Comment on lines +59 to +64
VFXEventAttribute eventAttribute = flashVFX.CreateVFXEventAttribute();
eventAttribute.SetVector4("Color", representativeColor);
eventAttribute.SetVector4("color", representativeColor);
eventAttribute.SetVector4("_Color", representativeColor);
flashVFX.SendEvent("OnPlay", eventAttribute);

Copy link

Copilot AI Mar 1, 2026

Choose a reason for hiding this comment

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

VFXEventAttribute allocates native resources and implements IDisposable. This code never disposes it, which can cause avoidable allocations/leaks over repeated spawns. Wrap creation/sending in a using (or explicitly call Dispose() after SendEvent). Also consider guarding SetVector4 calls with eventAttribute.HasVector4(...) equivalents if available, to avoid attribute/property mismatches.

Suggested change
VFXEventAttribute eventAttribute = flashVFX.CreateVFXEventAttribute();
eventAttribute.SetVector4("Color", representativeColor);
eventAttribute.SetVector4("color", representativeColor);
eventAttribute.SetVector4("_Color", representativeColor);
flashVFX.SendEvent("OnPlay", eventAttribute);
using (VFXEventAttribute eventAttribute = flashVFX.CreateVFXEventAttribute())
{
if (eventAttribute.HasVector4("Color"))
{
eventAttribute.SetVector4("Color", representativeColor);
}
if (eventAttribute.HasVector4("color"))
{
eventAttribute.SetVector4("color", representativeColor);
}
if (eventAttribute.HasVector4("_Color"))
{
eventAttribute.SetVector4("_Color", representativeColor);
}
flashVFX.SendEvent("OnPlay", eventAttribute);
}

Copilot uses AI. Check for mistakes.
using System;
using UnityEngine;

public class UISettingManger : MonoBehaviour
Copy link

Copilot AI Mar 1, 2026

Choose a reason for hiding this comment

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

Typo in type name: UISettingManger should likely be UISettingManager (and file name should match). This improves readability and avoids propagating the misspelling across scene/prefab references.

Suggested change
public class UISettingManger : MonoBehaviour
public class UISettingManager : MonoBehaviour

Copilot uses AI. Check for mistakes.
Comment on lines 151 to 175
if (settingManager == null)
{
settingsPanel = FindGameObjectByName("MainMenuSettingsPanel");
settingManager = FindFirstObjectByType<UISettingManger>(FindObjectsInactive.Include);
if (settingManager == null)
{
settingManager = gameObject.GetComponent<UISettingManger>();
}
if (settingManager == null)
{
settingManager = gameObject.AddComponent<UISettingManger>();
}
}

if (pauseManager == null)
{
pauseManager = FindFirstObjectByType<UIPauseManager>(FindObjectsInactive.Include);
if (pauseManager == null)
{
pauseManager = gameObject.GetComponent<UIPauseManager>();
}
if (pauseManager == null)
{
pauseManager = gameObject.AddComponent<UIPauseManager>();
}
}
Copy link

Copilot AI Mar 1, 2026

Choose a reason for hiding this comment

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

Adding UI manager components at runtime inside ResolveReferences() can silently change scene composition (and risks unexpected duplicates if multiple UIMenuManager instances run). Prefer making these explicit dependencies: require them via [RequireComponent], serialize references via inspector, or create them in a dedicated bootstrap/prefab so scene state is deterministic.

Copilot uses AI. Check for mistakes.
Comment on lines +34 to +38
uses: game-ci/unity-test-runner@v4
env:
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
Copy link

Copilot AI Mar 1, 2026

Choose a reason for hiding this comment

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

This workflow uses secrets on pull_request. For PRs coming from forks, GitHub does not expose repository secrets, so these jobs will fail consistently. Consider adding a conditional (e.g., only run when github.event.pull_request.head.repo.fork == false), or switch to a safe alternative strategy (like requiring maintainers to run via workflow_dispatch, or using pull_request_target with strict hardening).

Copilot uses AI. Check for mistakes.
@qda-sw qda-sw self-assigned this Mar 1, 2026
  - Add LobbySceneEditModeTests (43 cases): scene structure validation
  - Add LobbyFlowPlayModeTests (16 cases): runtime UI behavior tests
  - Add Tests/README.md documenting test coverage and conventions
  - Update EditMode asmdef references
qda-sw added 4 commits March 1, 2026 17:52
  - Add LogAssert.ignoreFailingMessages to suppress Fusion network errors in CI
  - Set artifact retention to 7 days
- Remove unused .NET, Android SDK, Haskell, CodeQL before Unity Docker pull
 - Share Docker image and Library cache between test modes
 - Prevent disk space and OOM issues from running separate runners
@qda-sw qda-sw marked this pull request as ready for review March 5, 2026 02:00
@qda-sw qda-sw merged commit 55c3fe0 into main Mar 5, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants