Archived project to wrap the Urho3D engine for C#, allowing it to be used on any .net core (NetStandard 2.0+ ie .net6/7/8) runtime and is fully mobile supported.

EgorBo edeb9bedc8 Fix nuspec hace 10 años
Nuget 4d26851165 Remove EmbeddedFrameworkTestApp. Remove libmono-urho.dylib from .targets hace 10 años
ProjectTemplates 5d5b7575ab update VS project template hace 10 años
Samples @ 2e89a2e966 9d37721ac5 update samples hace 10 años
Screenshots 7dc9275edb undo "recursive assets", add a warning if assets are empty for Android hace 10 años
SharpieBinder 2d9428ecd6 Apply Bait and Switch approach. hace 10 años
Urho3D 2d9428ecd6 Apply Bait and Switch approach. hace 10 años
bindings edeb9bedc8 Fix nuspec hace 10 años
docs 4aae854d41 Update docs hace 10 años
.gitignore a612cdfc89 Fix nuget.config after moving samples to FeatureSamples dir hace 10 años
.gitmodules fc1c376cef Move Urho3D to xamarin/Urho3D hace 10 años
ClassHierarchy.md f1fdc5561c Update ClassHierarchy.md hace 10 años
LICENSE 7d8915c901 Update license hace 10 años
MakeAndroid 2d9428ecd6 Apply Bait and Switch approach. hace 10 años
MakeMac 2d9428ecd6 Apply Bait and Switch approach. hace 10 años
MakeWindows 704a0f641b Fix build error hace 10 años
Makefile 1b2eee03db Fix Urho.iOS build hace 10 años
MakeiOS 4caa3593f5 Add Urho.framework.zip reference hace 10 años
MaketvOS 053130b7b6 Remove SharpComponent hace 10 años
Namespaces.md b38dae7c04 Add some ideas on renamespacing hace 10 años
README.md 0222f64f27 Update README.md hace 10 años
TODO.md 74f3bb9ec6 Update TODO, add RenderPath.Clone hace 10 años
Urho.nuspec edeb9bedc8 Fix nuspec hace 10 años
Urho.sln 2d9428ecd6 Apply Bait and Switch approach. hace 10 años
UrhoSharp.png 74c4007c00 New icon for the project templates and the Nuget hace 10 años
nuget.config a612cdfc89 Fix nuget.config after moving samples to FeatureSamples dir hace 10 años

README.md

UrhoSharp

C# Bindings to the Urho3D engine.

The bindings/ for UrhoSharp are licensed under the MIT license, as found on the LICENSE file.

Sample

Sample code lives in https://github.com/xamarin/urho-samples and repository has them as a git submodule. Samples use Urho via nuget.

Very simple sample

Some screencasts:

How to build

This is currently a little messy, so YMMV.

In order to compile binaries for all platforms you will need both Windows and OS X environment. Please follow these steps:

1. Install:

  • XCode
  • Xamarin Studio
  • CMake (i.e. "brew install cmake")
  • Mono 64 bit (i.e. "brew install mono")
  • Command Line tools ("xcode-select --install")
  • Android NDK (and ANDROID_NDK variable)

2. Clone the repository including submodules

git clone [email protected]:xamarin/urho.git --recursive

3. Compile Urho.pch

The following command will download Clang 3.7.0 if you do not have it installed, and use this to scan the Urho header files:

make PchMac

4. Generate C# bindings from Urho.pch

Open SharpieBinder/SharpieBinder.sln via Xamarin Studio and change .NET runtime to 64 bit mono (installed from homebrew is usually located in "/usr/local/Cellar/4.x.x.x"). Run SharpieBinder project and make sure it generated *.cs files in /bindings/generated dir.

Alternatively, you can do make SharpieBinder.

Then execute:

make ParseEventsMac

it should generate bindings/generated/events.cpp file

5. Compile UrhoSharp for Mac (fat dylib)

make Mac

it takes 5-10 minutes.

6. Compile UrhoSharp for iOS (fat dylib: i386, armv7, arm64)

make iOS

Note: Make sure you have an iOS 9.0 simulator target or modify SDKVER to target another simulator.

7. Compile UrhoSharp for Android (armeabi, armeabi-v7a, x86)

make -j3 Android

-j3 means a job per ABI. Make sure you have installed Android SDK and NDK (see MakeAndroid file)

8. Compile UrhoSharp for Windows (64 bit)

Obviously you can't do it on OS X so you have to switch to Windows environment. Make sure you have installed:

  • Visual Studio 2015
  • CMake
  • Cygwin or Mingw for "make"

SharpieBinder doesn't work on Windows yet so you will have to copy bindings/generated folder from OS X environment to Windows.

Execute:

make Windows

(you can also compile Android on Windows via "make Android") Then, open Urho.sln and compile MonoUrho.Windows project in Release configuration.

All compiled binaries could be found in the Bin/{platform} folder.