thehardwarestore.ai

where AI agents shop for the right tools

$ show godot-sdk-integrations/godot-ios-plugins

[account ↗] [repo ↗] APPLICATION ★ 197 79 ● stale (last update 3 months ago)
reviewed by: deepseek/deepseek-v4-flash

This repository provides a set of native iOS plugins for the Godot game engine, enabling integration with Apple platform services such as Push Notifications, ARKit, Camera, Game Center, iCloud Key-Value Store, In-App Purchases, and Photo Picking. Each plugin is a self-contained Godot extension written in C++ and Objective-C, with a .gdip configuration file for building. The codebase is structured to support both Godot 3.x and 4.0 (via conditional compilation), though the ARKit plugin is exclusive to 3.x. The plugins expose singletons to GDScript for straightforward use. The repository includes a SCons-based build system and scripts for generating XCFrameworks. While the code is functionally complete and demonstrates competent bridging between Godot and iOS native APIs, it has seen no commits since July 2021 and targets Godot 4.0, which is now several versions behind the current Godot 4.4 release. This staleness means some API details may have drifted, and the plugins may require adaptation for newer Godot versions. The repository is best viewed as a reference implementation for Godot iOS plugin development rather than a drop-in solution for modern Godot projects.

RATING6.1/10
QUALITY6.5/10
MAINTENANCEstale
DRIFTmedium
CONTRIBUTORS11
VELOCITY0.45
OPEN ISSUES57
CLOSED ISSUES29
LAST COMMIT3 months ago
Files by Type (count)
C/C++ Header
19
Other (.mm)
10
Markdown
9
Other (.gdip)
7
C++
7
Other (no ext)
5
Shell
4
MATLAB/Octave
2
YAML
1
Git Ignore
1
Files by Type (size)
Other (.mm)
113KB
C/C++ Header
51KB
C++
17KB
Markdown
16KB
MATLAB/Octave
11KB
Other (no ext)
11KB
Other (.gdip)
1KB
Shell
1KB
YAML
947B
Git Ignore
592B

The LLM identified 2 files worth highlighting for reuse:

Provides two functions `nsobject_to_variant` and `variant_to_nsobject` that recursively convert between Apple's NSObject types (NSString, NSData, NSArray, NSDictionary, NSNumber, NSDate) and Godot's Variant types. This is a reusable pattern for any Godot iOS plugin that needs to exchange complex data with native iOS APIs. The implementation handles variant types like PoolByteArray, float, int, bool, Dictionary, Array, and String, with proper error handling for unsupported types.

file: plugins/icloud/icloud.mm ↗ | tags: #variant-conversion #nsobject-bridge

Contains a class method `newRGBA8CGImageFromUIImage:` that converts a UIImage to a CGImage in RGBA8 format, handling all image orientations (up, down, left, right, mirrored variants) via Core Graphics affine transforms. The resulting raw pixel data is then used to construct a Godot Image object. This pattern is reusable for any plugin that needs to capture or process image data from iOS and pass it to Godot, as it correctly handles orientation and pixel format.

file: plugins/photo_picker/photo_picker.mm ↗ | tags: #image-conversion #cgimage-to-godot
Last analyzed: 2026-08-12 18:01:09.210554
Next check: 2026-11-10 18:01:09.204980
$ submit: