Releases: crazytuzi/UnrealCSharp
Releases · crazytuzi/UnrealCSharp
v0.6.0
Added
- 新增支持删除Proxy目录
- 新增UObject,UUserWidget,UActorComponent和AActor模板文件
- 新增捕获SynchronizationContextTick异常
- 新增GetTransientPackage
- 新增类绑定时,调用C#的.cctor函数
- 新增动态类资源显示
- UHT生成静态绑定代码新增TSet和TMap支持
- 新增SourceCodeGenerator子模块
- NoWarn新增CS0109
- 新增正在编译弹窗。
Fixed
- 修复OverrideFunction编译警告
- 修复赋值null
- 修复FName忽略大小写导致绑定失败
- 修复GetModuleName
- 修复判断NativeFunction规则
- 修复5.5编译错误和警告
- 修复没有赋值FObjectPropertyBase::PropertyClass导致的崩溃
- 修复打包过程中FInterfaceProperty触发check
Changed
- 提前ArchetypeObject绑定时机
Removed
- 删除SourceCodeGenerator模块
- 删除5.5上C++类绑定BlueprintNativeEvent函数
v0.5.0
Added
- 新增自定义程序集名,脚本目录和发布目录
- 新增AssemblyLoader,支持自定义程序集加载规则
- 新增Game.csproj.props,支持引用第三方库
- 新增AssemblyLoader
- UHT代码生成新增支持UClass,TSubclassOf和TScriptInterface
- 新增[[maybe_unused]]
- 新增自定义程序集
- 新增FMonoDomainScope
- 新增动态类,动态结构体和动态枚举类名和文件名检查
- 新增GetMutableDefaultSafe
- 新增支持调用被覆盖函数
- 新增反射函数注释转换为Doxygen风格
- 新增自动添加发布目录到DirectoriesToAlwaysStageAsUFS
- 新增导出BlueprintEvent函数
- 新增动态类依赖图,支持更多组合方式
- 新增Mac输出C#堆栈后恢复默认Signal
- 新增生成过滤LiveCoding类
- 新增跳过资源类型生成
- 新增选择带有命名空间的静态导出类或枚举名称截断方式
Fixed
- 修复BlueprintableAttribute,ClassGroup和Category
- 修复Delegate绑定静态函数和匿名函数
- 修复蓝图RPC函数编译报错
- 修复Mac打包产物崩溃
- 修复退出编辑器时C#编译未完成的崩溃
Changed
- 使用栈分配内存重构,避免params和装拆箱
- 使用TIsProjectClass替换TIsEngineClass
- 区分UClass和TSubclassOf
- 重构FPropertyDescriptor
Removed
v0.4.0
Added
- 新增TDefaultArgumentBuilder
- 拓展FActorSpawnParameters
- 补充FVector系列静态导出
- 补充覆盖类模板代码
- 新增代码分析单文件
- EFunctionInteract新增Virtual
- 新增macOS_arm64支持
- 新增通过UHT生成静态绑定代码
Fixed
- 修复alloca导致的内联失败
- 修复商店引擎coreclr.dll路径错误
- 修复EqualsTo
- 修复IsOverrideMethod
- 修复SanitizeFloat
- 修复CallCSharp调用静态函数
- 修复关闭UE时的崩溃
- 修复UE退出时有概率卡住的问题
- 修复返回值和引用参数内存复用,改为拷贝
Changed
- 将TValue改名为TValueWrapper
- 将Generator模块重命名为ScriptCodeGenerator。
- 重构CallDelegate
Removed
- 删除FCSharpDelegateDescriptor中的BufferAllocator
v0.3.0
Added
- 新增编辑器命令
- 支持静态导出反射函数和反射属性
- 支持静态绑定函数默认值
- 支持FOptionalProperty
- 新增一键覆盖蓝图,快速打开蓝图对应覆盖类
- 新增Mono子模块,支持.NET 8
Fixed
- 将静态导出公共部分单独放在.h中,解决链接错误
- 修复AudioWidgets模块中存在重复属性导致的编译错误
- 修复macOS编译错误
Changed
- 将AssemblyUtil的功能在c++中使用mono的反射api实现
- 静态绑定采用懒加载
- 优化调用C++反射函数性能
- 使用UCSharpFunction取代字节码方案
- CallCSharp缓存MonoMethod,优化调用C#函数性能
Removed
- 删除Mono,将实现移到Mono