Skip to content

Fix to remove a per-frame allocation causing garbage collects - #35

Merged
ryzngard merged 1 commit into
apple:mainfrom
HypGamesOrlando:polling_alloc_fix
Nov 10, 2025
Merged

ryzngard merged 1 commit into
apple:mainfrom
HypGamesOrlando:polling_alloc_fix

Conversation

@Andrew-Grabish-HypGames

Copy link
Copy Markdown
Contributor

A bit nit-picky. But this was causing us frame hitches due to garbage collection. (We run alloc free during main gameplay and right up to the edge of performance on lower spec devices.)

JimmyLord pushed a commit to JimmyLord/unityplugins that referenced this pull request Jul 26, 2024
* Adding support for Apple Unity Plug-Ins which don't require native libraries and may or may not define a custom build step.
* Version bump
@ryzngard

Copy link
Copy Markdown
Collaborator

Thanks @Andrew-Grabish-HypGames ! Sorry for the delay in getting this but we appreciate the contribution

@ryzngard
ryzngard merged commit 27dc298 into apple:main Nov 10, 2025
ryzngard added a commit that referenced this pull request Sep 16, 2026
Audit each plug-in against its last release tag and, for everything that
landed since, bump the version and write a CHANGELOG entry. Point every
dependent at Apple.Core 3.3.0.

| Plug-in           | Old -> New      |
|-------------------|-----------------|
| Accessibility     | 1.1.5 -> 1.2.0  |
| BackgroundAssets  | 1.0.0           |
| Core              | 3.3.0           |
| CoreHaptics       | 1.3.2           |
| GameController    | 1.2.4 -> 1.2.5  |
| GameKit           | 4.0.1 -> 4.1.0  |
| PHASE             | 1.2.8           |
| SpatialController | 1.0.6           |
| StoreKit          | 1.0.0           |

Accessibility goes to 1.2.0 rather than the 1.1.5 set by #113, since the
Audio Descriptions API is a new feature.

Gaps this fills beyond the version bumps:

- Apple.StoreKit and Apple.BackgroundAssets shipped in the 27.0 beta
  without a CHANGELOG.md. Both now have one, each a single initial
  release entry. StoreKit stays at 1.0.0: the API added in #112 and the
  Transaction.BeginRefundRequest fix in #111 both landed between the beta
  and now, so they are part of the initial release rather than a delta
  on top of it.
- "Prepare for Xcode 27" raised the native deployment targets to iOS and
  tvOS 15.0 and macOS 12.0 and went undocumented. Now called out in every
  affected plug-in. This matches the floor the README already documented,
  so it is not a change in supported OS versions.
- Every Native/*.xcconfig CURRENT_PROJECT_VERSION had drifted from its
  package.json, some by several releases (CoreHaptics read 1.2.4 against
  a 1.3.1 package). That value feeds MARKETING_VERSION and the generated
  Info.plist, so the binaries would have shipped mislabeled. All are now
  synced.
- SpatialController 1.0.5 listed only stylus support, but also carried a
  native memory leak fix and the PolySpatial/Visual Scripting dependency
  removal. 1.0.5 was never tagged publicly, so the entry is filled out.
- Newly documented: the GKLocalPlayer_RegisterLocalPlayerListener removal
  (IL2CPP link failure against the iOS 27 SDK), Apple.Core's native
  library warning-to-error escalation and dead shell-command removal, and
  the PHASEWrapper update.

External contributions credited in the changelogs:
- CoreHaptics AssetPickerDrawer null fix - @ilterbilguven (#47)
- GameController GCController allocation fix - @HypGamesOrlando (#35)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
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