Native Swift interop bindings for Apple RoomPlan
Install
| Product | Versions |
|---|---|
| .NET |
README
SwiftBindings.Apple.RoomPlan
Native .NET bindings for Apple's RoomPlan framework — LiDAR-based 3D room capture and structured-floorplan reconstruction. These are not Objective-C proxy wrappers; they use .NET 10's native Swift interop for direct, high-performance calls into Swift APIs from C#.
📖 Full usage guide → — Swift→C# naming, the capture/build/result workflow, inspecting a CapturedRoom, and USDZ export.
Installation
dotnet add package SwiftBindings.Apple.RoomPlan
Requirements
- .NET 10.0+
- iOS 26.2+
- macOS host for development
- LiDAR-equipped iPhone or iPad Pro for capture
- Camera + ARKit usage description in
Info.plist
Usage
using RoomPlan;
var options = new RoomBuilder.ConfigurationOptions();
// Capture errors expose Swift's localised description
var description = RoomCaptureSessionCaptureErrorExtensions.GetErrorDescription(
RoomCaptureSession.CaptureError.ExceedSceneSizeLimit);
// Inspect a captured room — surfaces, objects, and sections
// CapturedRoom, CapturedRoom.Surface, CapturedRoom.Object, CapturedRoom.Section,
// and CapturedRoom.USDExportOptions are all bound for export and analysis flows.
RoomCaptureSession, RoomCaptureView, RoomBuilder, CapturedRoom, and the structured-room result types are all bound; refer to Apple's RoomPlan documentation for the full session/delegate lifecycle.
Documentation
- Usage guide (wiki) — full C# walkthrough of the binding surface
- Apple RoomPlan framework
How It Works
These bindings are auto-generated by Swift Dotnet Bindings using .NET 10's native Swift interop via the SwiftBindings SDK.
License
The bindings are MIT licensed. RoomPlan is part of the Apple SDK; refer to Apple's licensing for the underlying framework.
Changes from Previous Version
Adoption Assessment
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.