{"id":13415229,"url":"https://github.com/xamarin/urho","last_synced_at":"2026-01-14T03:49:06.438Z","repository":{"id":33241081,"uuid":"36885416","full_name":"xamarin/urho","owner":"xamarin","description":"Code to integrate with the Urho3D engine","archived":true,"fork":false,"pushed_at":"2022-06-22T15:58:24.000Z","size":65852,"stargazers_count":466,"open_issues_count":156,"forks_count":121,"subscribers_count":89,"default_branch":"master","last_synced_at":"2025-12-24T12:35:30.949Z","etag":null,"topics":["android","dotnet","game-engine","hololens","ios","mono","urho3d","urhosharp","uwp","xamarin-studio"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xamarin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-06-04T17:30:23.000Z","updated_at":"2025-12-11T02:32:40.000Z","dependencies_parsed_at":"2022-08-07T20:17:11.190Z","dependency_job_id":null,"html_url":"https://github.com/xamarin/urho","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/xamarin/urho","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xamarin%2Furho","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xamarin%2Furho/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xamarin%2Furho/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xamarin%2Furho/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xamarin","download_url":"https://codeload.github.com/xamarin/urho/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xamarin%2Furho/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","dotnet","game-engine","hololens","ios","mono","urho3d","urhosharp","uwp","xamarin-studio"],"created_at":"2024-07-30T21:00:45.552Z","updated_at":"2026-01-14T03:49:06.415Z","avatar_url":"https://github.com/xamarin.png","language":"C#","funding_links":[],"categories":["Game","游戏","Game Engine"],"sub_categories":[],"readme":"﻿# ![](http://developer.xamarin.com/guides/cross-platform/urho/introduction/Images/UrhoSharp_icon.png) UrhoSharp\n\n[![Join the chat at https://gitter.im/xamarin/urho](https://badges.gitter.im/xamarin/urho.svg)](https://gitter.im/xamarin/urho?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\nUrhoSharp is a lightweight Game Engine suitable for using with C# and\nF# to create games and 3D applications. The game engine is available \nas a **NETStandard 2.0** library, allowing your game code to be written \nonce and shared across all platforms. UrhoSharp is powered by [Urho3D](http://urho3d.github.io/),\na game engine that has been under development for more than a decade.\nMore information can be found in the [UrhoSharp\ndocumentation](http://developer.xamarin.com/guides/cross-platform/urho/introduction/).\nThe bindings for Urho3D are licensed under the MIT license, as found\non the LICENSE file.\n\n**Key advantages:**\n- Lightweight - ~10mb per platform including basic assets\n- Embeddable - can be embedded into any app as a subview (UIView, NSView, Panel, etc).\n- Open-source - C# bindings and the underlying C++ engine Urho3D are licensed under the MIT License\n- Powerful 3rd parties - Bullet, Box2D, Recast/Detour, kNet, FreeType\n- Advanced graphics using physically based rendering (PBR), Skeletal animation, Inverse Kinematics etc\n- Simple code-first approach (however, it still supports native Urho3D editor)\n\n**Supported platforms:**\n- Windows, WPF, WinForms (net45)\n- iOS (xamarin.ios10)\n- macOS \n- Android (monodroid81)\n- UWP (uap10.0.16299)\n- **AR: HoloLens, ARKit, ARCore**\n- Mixed Reality\n- Xamarin.Forms (iOS, Android, UWP)\n- Ubuntu\n  \n  \n  \n![Sample](Screenshots/Android.gif) ![Sample](Screenshots/SamplyGame.gif)\n\n![Sample](Screenshots/ARKit.gif)\n\nSamples\n=======\n\nSample code lives in https://github.com/xamarin/urho-samples and\nrepository has them as a git submodule. Samples use UrhoSharp via nuget.\n\n# Setup\n\nAvailable on NuGet: \n* [UrhoSharp](http://www.nuget.org/packages/UrhoSharp) - the main package,\ncontains implementations for all platforms including native binaries and basic assets\n* [UrhoSharp.Tools](http://www.nuget.org/packages/UrhoSharp.Tools) - contains compiled binaries for AssetImporter and PackageTool for Windows and macOS\n* [UrhoSharp.WinForms](http://www.nuget.org/packages/UrhoSharp.WinForms) - WinForms control\n* [UrhoSharp.WPF](http://www.nuget.org/packages/UrhoSharp.WPF) - WPF control\n* [UrhoSharp.Cocoa](http://www.nuget.org/packages/UrhoSharp.Cocoa) - Cocoa control (macOS)\n* [UrhoSharp.Forms](http://www.nuget.org/packages/UrhoSharp.Forms) - Xamarin.Forms support for iOS, Android and UWP\n* [UrhoSharp.SharpReality](http://www.nuget.org/packages/UrhoSharp.SharpReality) - HoloLens and Mixed Reality platforms\n* [UrhoSharp.HoloLens](http://www.nuget.org/packages/UrhoSharp.HoloLens) - deprecated. Was renamed to UrhoSharp.SharpReality\n\nQuick start\n===========\n\nTo help developers get up and running quickly with UrhoSharp we are\nproviding a [solution\ntemplate](https://visualstudiogallery.msdn.microsoft.com/0851993e-16e9-417e-92f2-6bdb39308ed2)\nfor Visual Studio (you can find it in \"Online templates\" tab).  This\ntemplate consists of PCL+Android+iOS+Mac/Windows with a simple scene\nand some assets (Xamarin Studio templates will be available soon):\n\n![VS](https://habrastorage.org/files/f22/b49/ded/f22b49dedc264396a47015784bd9b35f.gif)\n\nHow to build bindings\n=====================\n\nThis is currently a little messy, so YMMV.\n\nIn order to compile binaries for all platforms you will need both\nWindows and OS X environment.  Please follow these steps:\n\n## Compile UrhoSharp on macOS\n\nYou will need:\n- XCode\n- Visual Studio for Mac\n- Homebrew (`/usr/bin/ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)`)\n- CMake (`brew install cmake`)\n- Command Line tools (`xcode-select --install`)\n- Android NDK + ANDROID_NDK_HOME environment variable\n\nNOTE: `UrhoSharp.csproj` and `UrhoSharp.Forms.csproj` are SDK-style NETStandard2.0 projects with multi-targeting, \nunfortunately Visual Studio for Mac currently doesn't fully support such projects so you have to compile\nthem using `msbuild` CLI, e.g. `cd Bindings/Forms \u0026\u0026 msbuild /restore UrhoSharp.Forms.csproj /p:Configuration=Release /p:Platform=AnyCpu`\n\nIf you have an error message `tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance` during compilation try to switch developer directory like this `sudo xcode-select -s /Applications/Xcode.app/Contents/Developer`\n\n**1. Clone the repository including submodules**\n\n```\ngit clone git@github.com:xamarin/urho.git --recursive\n```\n\n**2. Compile Urho.pch, SharpieBinder and generate bindigs**\n\nThe following command will download Clang 3.7.0 if you do not have it\ninstalled, and use this to scan the Urho header files, then compile the sources\nto PCH, parse it via SharpieBinder and generate C# bindings. Additionally \nthere is a perl script to generate bindings to Urho3D events.\n\n```\nmake Generated\n```\n\n**3. Compile UrhoSharp for Mac (fat dylib)**\n```\nmake Mac\n```\nit usually takes 5-10 minutes.\n\n**4. Compile UrhoSharp for iOS (fat dylib: i386, x86_64, armv7, arm64)**\n```\nmake iOS SDK_VER=12.1\n```\n\n**5. Compile UrhoSharp for Android (armeabi, armeabi-v7a, arm64, x86, x86_64)** \n```\nmake -j5 Android\n```\n-j5 means a job per ABI. Make sure you have installed Android SDK and NDK (see MakeAndroid file)\nThis target can also be executed on Windows.\n\n## Compile UrhoSharp on Windows\n\nObviously you can't do it on OS X so you have to switch to Windows\nenvironment. Make sure you have installed:\n\nYou will need:\n- Visual Studio 2017\n- [CMake 3.10](https://cmake.org/download)\n\nOpen \"Command Prompt for Visual Studio\" (or regular CMD with msbuild.exe added to the PATH)\nGo to the project root directory and execute\n```\nMakeWindows.bat x64 Release 2017 OpenGL\n```\nAll compiled binaries could be found in the Bin/{platform} folder.\nYou can also change the parameters, for example the following command:\n```\nMakeWindows.bat x86 Debug 2017 DirectX\n```\nCompiles debug version of mono-urho.dll with DirectX as a backend.\n\n## Compile UrhoSharp on Linux*\n\nSpecial thanks to [@aktowns](https://gist.github.com/aktowns)\nPrerequisites for Ubuntu 16.06\n```\nsudo apt-get install cmake clang-3.7 avr-libc libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev libgl1-mesa-dev libx11-dev\n```\nThen just execute:\n```\nmake Linux\n```\n*Tested on Ubuntu 16.06, Fedora 25 and WSL\n\nUpdating Documentation\n======================\n\nOnce you have a build, run the `refresh-docs` target, like this:\n\n```\nmake refresh-docs\n```\n\nThis will update the documentation based on the API changes.  Then you\ncan use a tool like DocWriter [1] on the Mac to edit the contents, or\njust edit the ECMA XML documentation by hand with an XML editor.\n\n[1] http://github.com/xamarin/DocWriter\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxamarin%2Furho","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxamarin%2Furho","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxamarin%2Furho/lists"}