Skip to content

Upgrade for current VRChat SDK on alpha#42

Open
esnya wants to merge 45 commits into
alphafrom
codex/alpha-update-20260409
Open

Upgrade for current VRChat SDK on alpha#42
esnya wants to merge 45 commits into
alphafrom
codex/alpha-update-20260409

Conversation

@esnya

@esnya esnya commented Apr 9, 2026

Copy link
Copy Markdown
Owner

This PR carries the alpha-targeted migration/update work after resetting alpha directly to the default branch baseline.

Please review the update branch against alpha.

semantic-release-bot and others added 30 commits September 4, 2023 16:17
# [v7.0.1-alpha.1](v7.0.0...v7.0.1-alpha.1) (2023-09-04)

## 🐛 Bug Fixes
- [`483c3f7`](483c3f7)  fix: Fix SFEXT_AdvancedPropellerThrust
- [`3edbce7`](3edbce7)  feat: ConstantSpeedPropeller
Fixed rudder break issue.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…opilot/upgrade-to-latest-environment

# Conflicts:
#	Packages/com.nekometer.esnya.esnya-sf-addons/Scripts/DFUNC/DFUNC_Slider.cs

Co-authored-by: esnya <2088693+esnya@users.noreply.github.com>
… up package-lock.json

Agent-Logs-Url: https://github.com/esnya/EsnyaSFAddons/sessions/03af5ca1-db59-45e4-96be-943f3c071aeb

Co-authored-by: esnya <2088693+esnya@users.noreply.github.com>
… for new editor scripts

Agent-Logs-Url: https://github.com/esnya/EsnyaSFAddons/sessions/39740e34-59bf-45f5-b80d-860fa18e471a

Co-authored-by: esnya <2088693+esnya@users.noreply.github.com>
Agent-Logs-Url: https://github.com/esnya/EsnyaSFAddons/sessions/9fef2102-8c6f-4a9e-821f-6a779e624ac9

Co-authored-by: esnya <2088693+esnya@users.noreply.github.com>
@esnya

esnya commented Apr 9, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@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: 1328c8eaef

ℹ️ 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 thread .releaserc.yml
@esnya

esnya commented Apr 9, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@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: e6752ebee7

ℹ️ 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".

@esnya

esnya commented Apr 9, 2026

Copy link
Copy Markdown
Owner Author

@codex review

1 similar comment
@esnya

esnya commented Apr 9, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Breezy!

ℹ️ 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".

@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: b0d35de5c9

ℹ️ 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".

@esnya

esnya commented Apr 9, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep it up!

ℹ️ 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".

@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: 2e03928a69

ℹ️ 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".

@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: a64dd8595c

ℹ️ 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".

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@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: 9344f77015

ℹ️ 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".

public void SFEXT_G_Explode()
{
if (!EntityControl.LastAttacker || !EntityControl.LastAttacker.Using || Time.time - airVehicle.LastHitTime >= 5) return;
if (!EntityControl.LastAttacker || !EntityControl.LastAttacker.Using || Time.time - EntityControl.PilotExitTime >= 5) return;

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 Restore recent-hit window check for kill rewards

SFEXT_G_Explode() now gates reward payout on Time.time - EntityControl.PilotExitTime < 5, but PilotExitTime tracks seat exit, not when damage was dealt; after a vehicle has been occupied for more than ~5 seconds, this early return suppresses onKilled payouts even for legitimate kills. This is a behavior regression from the previous recent-hit guard and will cause attackers to miss kill rewards in normal combat sessions.

Useful? React with 👍 / 👎.

JSON.parse(fs.readFileSync(file, "utf8"));
}

const editorGuardPattern = /#if\s+(?:!COMPILER_UDONSHARP\s*&&\s*)?UNITY_EDITOR|#if\s+UNITY_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 Broaden editor guard detection in static checks

The static check only recognizes #if UNITY_EDITOR (optionally with !COMPILER_UDONSHARP) as a valid guard, so runtime files using combined guards like #if ESNYA_SFADDONS_EDITOR_TOOLS && UNITY_EDITOR are falsely flagged and the script exits non-zero. Since check.yml runs this script, this regex causes CI to fail on the current tree even though the editor namespace imports are guarded.

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: d441f51772

ℹ️ 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".


var time = Time.time;
if (!(airVehicle.Occupied || (time - airVehicle.LastHitTime < 5 && ((time - EntityControl.PilotExitTime) < 5)))) return;
if (!(airVehicle.Occupied || (time - EntityControl.PilotExitTime) < 5)) return;

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 Restore recent-hit check before applying kill penalty

SFEXT_G_Explode() now applies penalties based only on occupancy / recent pilot exit and no longer checks whether the kill was from a recent hit. Because LastAttacker can remain set long after combat, a stale attacker can be penalized when a vehicle later explodes for unrelated reasons (for example, crash/despawn shortly after pilot exit). This is a behavior regression from the previous condition that also required a recent damage timestamp.

Useful? React with 👍 / 👎.

@@ -0,0 +1,104 @@
#if ESNYA_SFADDONS_EDITOR_TOOLS && UNITY_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 Remove undefined editor-tools gate from scene setup hooks

This file now wraps all ESFASceneSetup editor automation (Awake, SetupAll, and build callback) behind ESNYA_SFADDONS_EDITOR_TOOLS, but that symbol is not defined by the package asmdefs in this commit. In default installs this compiles out the setup hooks entirely, so extension injection/world setup no longer runs automatically in editor/build flows.

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: 542c8c5657

ℹ️ 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".


namespace EsnyaSFAddons
{
public partial class ESFASceneSetup

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 Define scene-setup editor hooks on the real component type

ESFASceneSetup was split with partial across Scripts/ and Editor/, but those files are compiled by different asmdefs (EsnyaSFAddons.Runtime vs EsnyaSFAddons.Editor). Partial types cannot be composed across assemblies, so this declaration creates a separate editor-side ESFASceneSetup type instead of extending the runtime MonoBehaviour; the moved methods then no longer attach to the actual component (and can fail to compile due missing members like gameObject/injectExtentions on the editor-side type). This breaks the scene setup/build hook path introduced in this commit.

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: 7e9bff688a

ℹ️ 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 +91 to +98
public class ESFASceneSetupBuildCallback : IVRCSDKBuildRequestedCallback
{
public int callbackOrder => 11;

public bool OnBuildRequested(VRCSDKRequestedBuildType requestedBuildType)
{
ESFASceneSetupEditorUtility.SetupAll();
return true;

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 scene setup hook

After moving setup logic out of ESFASceneSetup, the only remaining entry point is the build callback, so entering Play Mode no longer runs SetupAll(). In editor testing sessions this skips extension injection and scene wiring (kills board, wind changer links, air-vehicle world settings) unless the scene was preprocessed manually, which regresses behavior compared with the previous Awake-based setup path.

Useful? React with 👍 / 👎.


if (distance > maxHazardRange) return striked;

var hazardRange = Mathf.Lerp(minHazardRange, maxHazardRange, normalizedRpm);

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 Clamp normalized RPM before hazard-range lerp

hazardRange is computed with an unclamped normalizedRpm, so when RPM normalization exceeds 1.0 (for example during overspeed or very low reference normalization values) the effective hazard radius becomes larger than maxHazardRange. That makes strike checks and force application trigger outside the configured maximum range, which contradicts the exposed min/max range settings.

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.

4 participants