Mac Samples

A simple 'HelloWorld' GUI created purely from code.

A simple 'HelloWorld' GUI created with Urho.Gui framework.

Animating 3D scene example.

Shows how to create a 3D scene using a custom component to animate the objects, controlling scene ambiance with Zone components and attaching lights to a Node (the camera).

Billboard example.

Populates a 3D scene with boolboard sets and several shadow casting spotlights and shows rendering performance with large object and light counts.

Chat example

Starting up a network server or connecting to it; Implementing simple chat functionality with network messages.

Console input example.

Console input example.

CrowdNavigation example.

Crow navigation example using a dynamic navigation mesh with obstacles and agents navigating the space .

Decals example.

Performs a raycast to the Octree and adds decals to hit location, shows large objects being used as occluders.

GUI test example.

Urho's Gui framework sample.


HelloWorld written in Urho.

Huge object count example.

Huge object count example.

Light animation example.

Light animation example.

Material animation example.

Material animation example.

Moving character example.

Controlling a humanoid character through physics; Driving animations using the AnimationController component; Manual control of a bone scene node; Implementing 1st and 3rd person cameras, using raycasts to avoid the 3rd person camera clipping into scenery; Defining attributes of a custom component so that it can be saved and loaded; Using touch inputs/gyroscope for iOS/Android (implemented through an external file).

Moving sprites example.

Shows how to add Sprite elements to the UI, storing custom data on UI Elements and handling frame update events when sprites move.

Multiple viewports example.

Shows how to setup two viewports with two separate cameras as well as adding post-processing effects to a viewport render path.

Navigation example.

Generating a navigation mesh into the scene; Performing path queries to the navigation mesh; Rebuilding the navigation mesh partially when adding or removing objects; Raycasting drawable components; Making a node follow the Detour path.

Physics example.

Creating both static and moving physics objects to a scene; Displaying physics debug geometry; Using the Skybox component for setting up an unmoving sky; Saving a scene to a file and loading it to restore a previous state.

Physics stress test example.

Physics stress test example.

Ragdoll example

Shows how to detect physics collisions, moving the AnimatedModel bones with physics and connecting them with constraints and using rolling friction to stop rolling objects from moving infinitely.

Render to texture example

Creates two 3D scenes and renders one into a texture that is rendered into the other one. Shows creating rendertarget textures and materials programatically.

Scene & UI load example.

Scene load example.

Signed distance field text example.

Creating a 3D scene with static content and 3D Text using an SDF Font..

Skeletal animation example.

Shows how to populate a 3D scene with skeletarlly animated AnimatedModel components as well as shadow maps for directional lights and using the debug geometry tool.

Sound effects example

Playing sound effects and music; Controlling sound and music master volume.

Sound synthesis example.

Sound synthesis example.

Static 3D scene example.

Shows creating a 3D scene with static content and how to handle keyboard and mouse input to implement a freelook camera.

Urho2D constraints sample.

Urho2D physics constraints sample.

Urho2D particle example.

Creating a 2D scene with particle; Displaying the scene using the Renderer subsystem; Handling mouse move to move particle

Urho2D physics rope sample.

Urho2D physics rope sample with revolute and roop constraints.

Urho2D physics sample.

Urho2D physics sample.

Urho2D sprite example.

Urho2D sprite example and the use of the Renderer subsystem.

Urho2D sprite example.

Urho2D sprite animation example.

Urho2D tile map example.

Urho2D tile map example.

Vehicle example.

Creating a heightmap terrain with collision; Constructing a physical vehicle with rigid bodies for the hull and the wheels, joined with constraints.

Water example.

Water example using large planes to represent water for rendering and the use of a second camera to render reflections on the water surface.

A simple game

SamplyGame is a homage to the ShootySkies games and a showcase of how you can structure a game using UrhoSharp.


Shows the Actions framework in action, how you can attach actions to nodes


This sample shows how to build a simple 2D game for iOS and OSX using SpriteKit.

AgentsCatalog Sample

This sample explores the different goals used by the new Agents system in GameplayKit.


Demonstrates the use of custom property animations for `CALayers` in the `CoreAnimation` Layers API.


Demonstrates how to use `CoreAnimation` to animate views.


Demonstrates how to use Azure Data in a Xamarin.Mac application.


This sample shows how to build a basic game using Scene Kit.

Blurs, translucency and vibrancy on OS X

Demonstrates how to use the options of NSVisualEffectView to do blurs, translucency and vibrancy.


This is a button sample for mac.


Demonstrates use of the `CoreAnimation` and `QuartzComposition`.


CFNetwork Xamarin.Mac sample.

CocosSharp BouncingGame Project for iOS and Android

This is a small, complete game using CocosSharp for iOS and Android. It is the result of working through the the entire Introduction


This sample shows how to use UI constraints in Xamarin.Mac apps.


Demonstrates how to use CoreAnimation with Xamarin.


Demonstrates how to use `CoreText` to draw text along an arc in a Xamarin.Mac application.


An example application which utilizes the `CoreWLAN` Framework.

Custom Fonts

Demonstrates how to use Custom Fonts embedded in a Xamarin.Mac application.


Demonstrates the use of the `NSDatePicker` control with Xamarin.Mac.


Demonstrates the use of the `NSDockTile`.


Demonstrates how to create a Document-based application.

Drag and Drop Example

Demonstrates how to use Drag an Drop in a Xamarin.Mac application.


DrawerMadness Xamarin.Mac sample.

Drawing Models in MonoGame

This is a small demo game using MonoGame for iOS and Android, using a shared code project. It is the result of working through the the

Drawing with Vertices in MonoGame

This is a small demo game using MonoGame for iOS and Android, using a shared code project. It is the result of working through the the

Drawing with Vertices in MonoGame

This is a small demo game using MonoGame for iOS and Android, using a shared code project. It is the result of working through the the

Dynamic geometry example.

Cloning a Model resource; Modifying the vertex buffer data of the cloned models at runtime to efficiently animate them; Creating a Model resource and its buffer data from scratch.


Demonstrates how to use a "private" persistent store coordinator.


Demonstrates how to use app extensions in Xamarin.Mac.


Demonstrates the use of `NSPageController`.


Fire sample for Xamarin.Mac.

FSEvent Watcher

Directory monitoring sample app using [FSEvents from CoreServices].


Demonstrates `OpenGL` drawing to the entire screen.


Demonstrates the use of the `CoreAnimation` Layers API and KVO bindings.


Simple GLSL shader harness program that does nothing more than draw a line on the screen.

GUIUnit Example

This is a quick example showing how to package up a nunit test that requires Xamarin.Mac into a bundle and invoke it using guiunit.


Demonstrates discovering, connecting and retrieving data from Bluetooth LE heart rate monitors.

Hello, Mac

Demonstrates how to build your first Xamarin.Mac application.


Shows how to use both the .NET and Objective-C web-requests.

ImageKit Demo

Demonstrates IKImageBrowserView, IKImageBrowserDataSource, IKImageBrowserItem, and more.


Demonstrates how to use ImageProtocol with Xamarin.Mac.


Demonstrates how to use Data Binding and Collection Views in a Xamarin.Mac application.


Demonstrates how to use Standard AppKit Controls in you Xamarin.Mac Application.


Demonstrates how to use Cut, Copy & Paste in a Xamarin.Mac application.


Demonstrates how to create a custom UI element in a Xamarin.Mac application.


Demonstrates how to use SQLite Databases in a Xamarin.Mac application.

MacDatabinding Storyboard

Demonstrates how to use Data Binding in a Xamarin.Mac application using .storyboard files.

MacDatabinding XIBs

Demonstrates how to use Data Binding in a Xamarin.Mac application with .xib files.


Demonstrates how to use Dialogs in a Xamarin.Mac application.


Demonstrates how to use Images and Icons in you Xamarin.Mac Application.


Shows how to work with an Inspector Panel in a Xamarin.Mac app.


Demonstrates how to use Menus in a Xamarin.Mac application.


An introduction to using OpenTK in a Xamarin.Mac application.


Demonstrates how to use Outlines in a Xamarin.Mac application.


Demonstrates how to use Source Lists in a Xamarin.Mac application.


Demonstrates how to use Tables in a Xamarin.Mac application.


Demonstrates how to use Toolbars in a Xamarin.Mac application.


Demonstrates how to use Windows in a Xamarin.Mac application.


Demonstrates how to define UI in C# code for a Xamarin.Mac application.


This Mac sample is quite useful for authoring and viewing __Markdown__ files.

MonoGame WalkingGame Project for iOS and Android

This is a small demo game using MonoGame for iOS and Android, using a shared code project. It is the result of working through the the


MonoGame sample for mac.


Demonstrates how to using mouse tracking in a Xamarin.Mac app.


`NSAlert` sample for mac.


Demonstrates how to provide completion hints.


Demonstrates the creation of two custom `NSView`s, which each paint themself via different mechanisms.

NSImageName Sample

A simple sample application demoing the `NSImageName` enum for `NSImage.ImageNamed`.


This is an example showing use of NSMessagePort and CFMessagePort to send information cross process, between applications.


Demonstrates how to use Standard NSScrollView in your Xamarin.Mac Application.

NSTableView / NSOutlineView

Demonstrates the programmatic creation of and use of `NSTableView`/`NSOutlineView`.


Demonstrates how to use Cocoa Bindings with a `NSTableView`.


Demonstrates how to perform custom cell sizing and rendering.


OpenGLLayer sample for Mac.


This directory contains ports of the NeHe OpenGL tutorials from: [Nehe Gamedev].


OpenGLView sample for Mac.


Demonstrates how to populate an OutlineView using an NSViewOutlineDataSource


Demonstrates how to use the bindings to manage the contents of `NSPopupButton`.


Demonstrates how to use the `NSPredicateEditor`.


Demonstrates how to use Timer and Progress Bar in a Xamarin.Mac application.


Demonstrates how to use various QuickTime features.


Demonstrates how use ReactiveUI in C# code for a Xamarin.Mac application.

RoundedDisplayWindow Sample

Demonstrates how to create windows with custom shapes, no title bar, and transparent content.


Demonstrates many of the interactions between an `NSRulerView` and its client view.

Scene Kit Session WWDC 2013

Demonstrates rendering a 3D environment and presenting a series of slides with Scene Kit objects.

Scene Kit Session WWDC 2014

Demonstrates rendering a 3D environment and presenting a series of slides with Scene Kit objects.

SceneKit State of the Union Demo

This application render a 3D environment and presents a series of slides with SceneKit objects.


This is a Xamarin.Mac version of Apple's simple SceneKitViewer.


SCNetworkReachability sample for Mac.


Demonstrates how to use a special text control called `NSSearchField`.


Skinnable App sample for Mac.


The SourceWriter is a full app example that includes many of the features a user would expect to find in a typical Mac app.


Demonstrates how to capture live video from the system camera.


This sample illustrates how to work with touch in iOS. Specifically, it shows how to handle touch events, use pre-defined gesture


This sample shows you how to use msbuild to copy arbitrary files into your bundle.


User notification example for Mac.


Villain tracker for Mac.

WCF Walkthrough

This is a small demo project that shows how to connect to a WCF services using IIS express. It relates to the walkthrough,


Demonstrates the use of the CoreLocation API.


This is a quick example, showing how to use bindings project to create a binding for Xamarin.Mac.


Demonstrates how to use localization in Xamarin.Mac application.