Skip to content

Fix IL2CPP OpenXR hook trampoline#10

Draft
andybak wants to merge 1 commit into
mikeskydev:mainfrom
icosa-mirror:fix-il2cpp-openxr-hook-trampoline
Draft

Fix IL2CPP OpenXR hook trampoline#10
andybak wants to merge 1 commit into
mikeskydev:mainfrom
icosa-mirror:fix-il2cpp-openxr-hook-trampoline

Conversation

@andybak

@andybak andybak commented Jun 30, 2026

Copy link
Copy Markdown

Fixes an Android IL2CPP launch failure in Unity OpenXR Extensions.

On Quest, Open Brush was hanging during launch because OpenXR initialization threw NotSupportedException when IL2CPP
tried to marshal FeatureBase.Intercepted_xrGetInstanceProcAddr. Although the method had MonoPInvokeCallback, it
lived inside a generic class, so the closed generic feature types still failed at runtime.

This moves the xrGetInstanceProcAddr trampoline into a non-generic helper with a single MonoPInvokeCallback entry
point, while keeping per-feature handlers registered from FeatureBase. That lets multiple OpenXR extension features
hook function lookup without requiring IL2CPP to marshal a generic-class callback.

@andybak andybak marked this pull request as draft June 30, 2026 15:38
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