All Projects → pixeltris → Usharp

pixeltris / Usharp

Licence: mit
C# plugin for Unreal Engine 4

Programming Languages

csharp
926 projects

Projects that are alternatives of or similar to Usharp

Unreal Engine Essential Materials UE4
A selection of materials that covers most (if not all) surfaces
Stars: ✭ 33 (-88.78%)
Mutual labels:  unrealengine
ProjectCleaner
Unreal engine plugin for managing all unused assets and empty folders in project.
Stars: ✭ 53 (-81.97%)
Mutual labels:  unrealengine
UnrealPerson
[CVPR-2021] UnrealPerson: An adaptive pipeline for costless person re-identification
Stars: ✭ 64 (-78.23%)
Mutual labels:  unrealengine
Unreal-Qt-project-generator
A small command line tool which generates QtCreator (qmake) projects for Unreal Engine 4 game development.
Stars: ✭ 37 (-87.41%)
Mutual labels:  unrealengine
uesvon
3D navmesh generation and pathfinding plugin for UnrealEngine
Stars: ✭ 165 (-43.88%)
Mutual labels:  unrealengine
CrashBandicoot-Timetwister
Crash Bandicoot: Timetwister is a remaked version of Crash Bandicoot 3: Warped's Tomb Wader level on Unreal Engine 4.26
Stars: ✭ 26 (-91.16%)
Mutual labels:  unrealengine
CoopShooterUdemy
C++ Coop Horde Third-person Shooter for Unreal Engine 4 (Udemy Project)
Stars: ✭ 328 (+11.56%)
Mutual labels:  unrealengine
Unreal.js
Unreal.js: Javascript runtime built for UnrealEngine 4
Stars: ✭ 3,087 (+950%)
Mutual labels:  unrealengine
x-studio.github.io
This is the issues tracking, roadmap, docs src repo of the x-studio IDE. Copyright © 2014-2022 Simdsoft Limited
Stars: ✭ 92 (-68.71%)
Mutual labels:  unrealengine
ue5-style-guide
An attempt to make Unreal Engine 4 projects more consistent
Stars: ✭ 2,892 (+883.67%)
Mutual labels:  unrealengine
05 TestingGrounds
A Hunger-Games inspired FPS with large outdoor terrains. Advanced AI, basic networking, pickups, skeletal meshes, checkpoints and more. (ref: TG_URC) http://gdev.tv/urcgithub
Stars: ✭ 121 (-58.84%)
Mutual labels:  unrealengine
UnrealEngine
UnrealEngine 1998
Stars: ✭ 65 (-77.89%)
Mutual labels:  unrealengine
gamedevguide
Game Development & Unreal Engine Programming Guide
Stars: ✭ 314 (+6.8%)
Mutual labels:  unrealengine
bLandscapeTools
bLandscapeTools
Stars: ✭ 31 (-89.46%)
Mutual labels:  unrealengine
UE4-Plugin-OffAxis
This plugin provides a fishtank-VR via a so-called OffAxisProjection by modifying the projection matrix using a custom ULocalPlayer
Stars: ✭ 59 (-79.93%)
Mutual labels:  unrealengine
VaFogOfWar
A clear and simple solution of Fog of War for Unreal Engine 4
Stars: ✭ 136 (-53.74%)
Mutual labels:  unrealengine
UE4-BUIValidator
UE4 UI Texture Validator Plugin
Stars: ✭ 48 (-83.67%)
Mutual labels:  unrealengine
Ue4 Binary Builder
An application designed to create installed Unreal Engine builds (aka Rocket builds) from Unreal Engine GitHub source.
Stars: ✭ 292 (-0.68%)
Mutual labels:  unrealengine
Coophordeshooter
C++ Coop Horde Third-person Shooter for Unreal Engine 4 (Udemy Project)
Stars: ✭ 257 (-12.59%)
Mutual labels:  unrealengine
Unreal-Development-Guides-and-Tips
High-level concept explanations, detailed tutorials, performance considerations, shortcuts and other useful content that aims to improve your Unreal Engine 4 development journey.
Stars: ✭ 118 (-59.86%)
Mutual labels:  unrealengine

USharp

USharp is a plugin for Unreal Engine (4.23) which allows for programming in C#.

This project adapts various parts of mono-ue https://mono-ue.github.io/ and is roughly similar but has support for Mono, .NET Framework and .NET Core. The C++ code used is mostly PInvoke methods and the equivalent mono-ue backend code is mostly written in C#.

This project currently isn't usable for most use cases. There are a lot of bugs and lacking features. Check back soon for updates!

Join the gitter chat room for quick help / discussion https://gitter.im/USharp/Lobby

Features

  • Write C# using UObject exposed types (AActor, AGameMode, UActorComponent, etc). Define new UObject types and inherit existing ones. Exposed C# types can then be used in (or extended by) Blueprint.
  • Access to Unreal's reflection system (UClass, UFunction, UProperty, etc).
  • Hotreload
  • Dynamically switch between .NET Framework, .NET Core and Mono for an improved debugging / runtime experience without having to reopen the editor
  • Supports Windows, Mac and Linux

Plugin Setup

See the wiki on how to setup the plugin

Issues / caveats

  • This project depends on a lot of PInvoked functions which could potentially behave differently on different C++ compilers. This project may not work on some target platforms.
  • Like mono-ue this project depends on lots of generated code and IL weaving. It probably isn't the best for performance and there is a huge amount of generated code everywhere.
  • The weaved IL currently seems to break edit-and-continue debugging (issue with cecil?)
  • There is currently too much marshaling on structs / collections (list, map, set). Marshaling needs to be redesigned to avoid copies of entire collections / structs on trivial calls between C# / native code. Additionally marshaling of delegates needs to be redesigned (various issues such as being referenced as a copy of the delegate).

Why does this project exist? Why wasn't this instead contributions to mono-ue? Originally this project was just a way to access the UObject system from C# and ended up basically being a copy of mono-ue. The mono-ue compile times / debugging process made it hard to contribute starting with little knowledge of Unreal.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].