Skip to content

FreshYoshio/UnrealSharp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

USharp

USharp, Unreal Engine (4.23) için C# ile programlama imkanı sağlayan bir eklentidir.

Bu proje, çeşitli mono-ue kısımlarını adapte eder ve genel olarak benzerdir ancak Mono, .NET Framework ve .NET Core desteğine sahiptir. Kullanılan C kodu genellikle PInvoke yöntemleridir ve eşdeğer mono-ue arka uç kodu çoğunlukla C# olarak yazılmıştır.

Bu proje şu anda çoğu kullanım senaryosu için kullanılabilir değil. Birçok hata ve eksik özellik bulunmaktadır. Güncellemeler için yakında tekrar kontrol edin!

Hızlı yardım / tartışma için gitter sohbet odasına katılın: USharp Gitter Chat Room

  • Serhat Çiftçi ve İlhami Erk Çelik'in katkılarıyla düzenlenmiş ve Türkçeleştirilmiştir. ❤️

Özellikler

  • 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

Eklenti Kurulumu

Eklentiyi nasıl kuracağınıza dair wiki'ye bakın

Sorunlar / sakıncalar

  • Bu proje, potansiyel olarak farklı C derleyicilerinde farklı davranabilecek birçok PInvoke işlevine bağlıdır. Bu proje bazı hedef platformlarda çalışmayabilir.
  • Mono-ue gibi bu proje, çok miktarda üretilen kod ve IL dokuma bağımlılığına sahiptir. Performans için muhtemelen en iyisi değil ve her yerde büyük miktarda üretilmiş kod bulunmaktadır.
  • Halihazırda dokunan IL'nin düzenle-ve-devam et hata ayıklamayı bozduğu görünmektedir (cecil ile ilgili bir sorun?)
  • Şu anda yapılan aşırı derecede çok miktarda veri taşıma (struct'lar, koleksiyonlar (liste, harita, küme)) mevcuttur. Veri taşımanın, C# / native kod arasındaki önemsiz çağrılarda tüm koleksiyonların / struct'ların kopyalarını önlemek için yeniden tasarlanması gerekmektedir. Ayrıca delegelerin taşınması da yeniden tasarlanmalıdır (delegenin bir kopyası olarak referanslanması gibi çeşitli sorunlar bulunmaktadır).

Bu proje neden var? Bunun yerine neden bunlar mono-ue'ye katkı yapılmıyor? Başlangıçta bu proje sadece C# ile UObject sistemine erişim sağlamak için bir yol olarak düşünülmüş ve sonunda neredeyse mono-ue'nin bir kopyası olmuştur. Mono-ue'nin derleme süreleri / hata ayıklama süreci, Unreal hakkında çok az bilgiye sahip olarak katkıda bulunmayı zorlaştırdı.

About

C# plugin for Unreal Engine 4

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 88.1%
  • C 9.3%
  • C 2.6%