Post

Replies

Boosts

Views

Activity

Reply to GKLocalPlayer.isUnderAge always returns true on mac with an intel chips
I believe I know what this issue is. The issue is that the C# bindings to the native methods need the following attribute added above, so this would include isUnderage: [return MarshalAs(UnmanagedType.I1)] The reason why you're seeing what you're seeing, is that bool is a 32-bit type in C#, while in C++ it's an 8-bit type. So the C# wrapper is reading another 24-bits of junk, which on the balance of probabilities, with return a true overall since there'll likely be a stray bit in the registers. This is a bug in the Apple Unity Plugins that impact any method that returns bool. It specifically only manifests on Intel chips.
Feb ’26
Reply to GKLocalPlayer.isUnderAge always returns true on mac with an intel chips
I believe I know what this issue is. The issue is that the C# bindings to the native methods need the following attribute added above, so this would include isUnderage: [return MarshalAs(UnmanagedType.I1)] The reason why you're seeing what you're seeing, is that bool is a 32-bit type in C#, while in C++ it's an 8-bit type. So the C# wrapper is reading another 24-bits of junk, which on the balance of probabilities, with return a true overall since there'll likely be a stray bit in the registers. This is a bug in the Apple Unity Plugins that impact any method that returns bool. It specifically only manifests on Intel chips.
Replies
Boosts
Views
Activity
Feb ’26