Skip to content

Add reusable static checks and editor/runtime cleanup for alpha - #40

Open
esnya wants to merge 2 commits into
alphafrom
codex/inari-build-checks
Open

Add reusable static checks and editor/runtime cleanup for alpha#40
esnya wants to merge 2 commits into
alphafrom
codex/inari-build-checks

Conversation

@esnya

@esnya esnya commented Apr 9, 2026

Copy link
Copy Markdown
Owner

Summary\n- add reusable static checks and udonsharp-lint workflow for the package\n- split editor-only helpers and build callbacks out of runtime code\n- keep package behavior aligned with current Unity/VRChat environment\n\n## Validation\n- bash scripts/run-static-checks.sh\n- bash scripts/run-local-checks.sh\n- GitHub Actions: Check workflow (static-checks + udonsharp-lint)

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4c4e781ad5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +14 to +17
private void OnEnable()
{
Load((MultiTextLoader)target, false);
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Restore play-mode loading for all MultiTextLoader instances

Loading is now triggered only from the custom inspector's OnEnable, which runs for the currently inspected component, not for every MultiTextLoader in the scene. This removes the previous Start()-time refresh behavior in editor play mode, so entering Play/Build & Test without manually selecting each loader can leave TMP_Text content stale and make local validation inconsistent with what the build callback later applies.

Useful? React with 👍 / 👎.

Comment on lines +25 to +27
"name": "com.vrchat.udonsharp",
"expression": "1.0.0",
"define": "INARI_UDON_HAS_UDONSHARP_EDITOR"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Gate editor asmdef on worlds package instead of udonsharp

The editor assembly now depends on a symbol generated from com.vrchat.udonsharp, so in environments where only com.vrchat.worlds is installed (the package declared in this repo), INARI_UDON_HAS_UDONSHARP_EDITOR is never defined and the entire InariUdon.Editor assembly is excluded. That disables all custom inspectors and build callbacks in this package, including MultiTextLoaderBuildCallback.

Useful? React with 👍 / 👎.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 277f90037d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

}

InariUdonEditorUtility.RecordAndDirty("ScaledMultiFollower Sync Now", undoTargets, () => follower.EditorSyncNow());
InariUdonEditorUtility.RecordAndDirty("ScaledMultiFollower Sync Now", undoTargets, () => SyncNow(follower));

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Call runtime sync path from Sync Now button

The inspector now calls the local SyncNow helper instead of ScaledMultiFollower.EditorSyncNow(), which means the Sync Now button no longer executes the runtime-style Start()+_Trigger() path that handles options like copyActive, deactivateExcessiveTargets, toggleTargetColliders, and freezeTargetWhileSoruceHeld (see Transform/ScaledMultiFollower.cs). In scenes that rely on those flags, pressing Sync Now now updates only positions/rotations and leaves activation/collider state stale, so editor validation can diverge from actual runtime behavior.

Useful? React with 👍 / 👎.

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.

1 participant