Site Tools


Overview | Get Started | HelloRhinoMobile | Your Project | Simulators | Devices | Profiling | Notes

What is RhinoMobile?

RhinoMobile is a C# .NET library for the development of 3D, cross-platform, mobile applications. RhinoMobile - like RhinoCommon - is based on the Xamarin Mono framework, a fully-functional .NET runtime that works on Android, iOS and OS X. RhinoMobile uses openNURBS (the 3dm NURBS library) and RhinoCommon (the .NET SDK for Rhinoceros and Grasshopper) and handles file IO, gesture recognition and 3D display (OpenGL ES 2.0). It's not the entirety of RhinoCommon, but a subset.

Who should use RhinoMobile?

Anyone interested in developing, prototyping, or just experimenting with 3D mobile development. Though there are many good 3D libraries out there for mobile games, none are focused on 3D modeling and design. RhinoMobile seeks to fill that gap. If you want to develop in C# and target as many devices as possible, this is the library for you. No experience with mobile development necessary…just familiarity with C# and .NET.

Great, how do I begin?

  1. Getting Started: Tooling up.
  2. HelloRhinoMobile: Building a demo project.
  3. Setting Up Your Project: Step-by-step setting up your own project.
  4. Simulators & Emulators: Setup & test.
  5. Devices & Testing: Test on the real deal.
  6. Profiling & Performance: Tools available for analyzing, profiling, and tuning your code.
  7. Other Links, Libraries & Notes: A collection of other useful libraries, resources and notes.

Where can I get help? Visit the Rhino Forum and post your question in the Rhino Developer category or e-mail the developer directly:

Developer tools:

  • Xamarin Indie Edition or better. Using RhinoMobile requires a 30-day free trial of the Business Edition. Xamarin does have reduced academic pricing.
  • Xcode on a Mac running OS X 10.8 (Mountain Lion) or greater for building iOS apps.
  • Visual Studio 2012: Non-Express editions only (Xamarin's extensions require paid versions).
  • Intel Hardware Accelerated Execution Manager provides hardware-acceleration for Android emulators.

Required libraries and samples:


Is RhinoMobile free? Yes.

Can I sell the apps I develop with RhinoMobile? Yes.

Will apps built with RhinoMobile work on Mac and Windows computers as well as mobile devices? No, with one caveat: Though we have yet to add it to the library, we plan on supporting Windows Phone, which uses a DirectX as a display pipeline and can be run (with some limitations) as a Windows Store App (aka: Metro UI app).

Does McNeel use RhinoMobile to develop iRhino 3D? We sure do.

Wait, is this all of RhinoCommon? No. RhinoMobile uses a subset of RhinoCommon (rhino3dmio), the limits of which are defined by the symbol: MOBILE_BUILD. There's a lot there: Rhino.DocObjects, Rhino.Geometry, Rhino.FileIO…pretty much everything you'd need to read, write, and draw Rhino 3dm.

So I probably can't perform Meshing or run a Make2D command? Sorry, not yet. Given the CPU constraints of mobile platforms, you'd probably consume all your battery life doing so anyway.

developer/rhinomobile.txt · Last modified: 2015/09/21 by dan