Skip to content

fix: support plain custom NPCs on f6 beta - #311

Merged
ifBars merged 1 commit into
betafrom
fix/beta-f6-consume-product-event
Sep 23, 2026
Merged

ifBars merged 1 commit into
betafrom
fix/beta-f6-consume-product-event

Conversation

@ifBars

@ifBars ifBars commented Sep 23, 2026

Copy link
Copy Markdown
Owner

What changed

  • Detect the legacy ConsumeProductBehaviour.onConsumeDone member before initializing it.
  • On 0.4.7f6, where the game removed that member, skip the old initialization so plain NPC construction can continue.

Closes #309 after this reaches a beta release. The published 3.2.1-beta.3 still fails on f6; see the issue update.

Reproduction and validation

Used isolated 0.4.7f6 installs: Steam build 25439857 (Mono) and 25439817 (IL2CPP). The released beta.3 package fails both legacy constructor and ConfigurePrefab contacts after loading a save, with missing onConsumeDone member errors. With this patch, the same live smoke reports PASS|legacy=issue309_legacy|modern=issue309_modern|scene=Main on both runtimes.

  • MonoMelon restore/build: pass; contract tests: 723 passed.
  • Il2CppMelon restore/build: pass; contract tests: 709 passed.
  • Live f6 Mono and IL2CPP smoke: both contact paths pass after save load.

Compatibility

No public or protected S1API symbols, durable IDs, save data, or network formats change. Older game builds retain initialization of the legacy UnityEvent. The f6 build skips it because the native member is absent. The old-build branch was not rerun in-game for this follow-up; beta.3 had passed f5 Mono and IL2CPP smoke before this change.

@coderabbitai

coderabbitai Bot commented Sep 23, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Advanced

Run ID: 54da365c-a1b2-4a6e-8e63-f9928b523e23

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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