#unity #native #plugin-api #api-bindings #d3d11 #d3d12 #stable

unity-native-plugin

Unity Native Plugin API for Rust

8个版本 (破坏性更新)

0.7.0 2024年8月4日
0.6.0 2024年7月16日
0.5.0 2021年9月15日
0.4.1 2020年11月28日
0.1.1 2020年8月31日

#182 in 游戏开发

Download history 2/week @ 2024-04-25 101/week @ 2024-07-11 26/week @ 2024-07-18 10/week @ 2024-07-25 98/week @ 2024-08-01

235 每月下载量
用于 unity-native-plugin-vulka…

MIT 许可证

4.5MB
124K SLoC

Unity Native Plugin API for Rust

LICENSE (MIT)

注意

  • 正在进行中
  • 当前支持D3D11、D3D12、Vulkan
  • API尚不稳定。

如何使用

  • 在Cargo.toml中定义
[dependencies]
unity-native-plugin = { version = "*", features = ["d3d11"] }

# * Support features
#    * d3d11 - IUnityGraphicsD3D11
#    * d3d12 - IUnityGraphicsD3D12
#    * profiler - IUnityProfiler
#    * profiler_callbacks - IUnityProfilerCallbacks
  • 如果您使用Vulkan,请将"unity-native-plugin-vulkan"定义在依赖项中。
[dependencies]
unity-native-plugin = "*"
unity-native-plugin-vulkan = "*"
  • 在lib.rs中使用宏来定义您的入口点。如果没有此定义,则无法使用UnityInterfaces。
unity_native_plugin::unity_native_plugin_entry_point! {
    fn unity_plugin_load(interfaces: &unity_native_plugin::interface::UnityInterfaces) {
        // called UnityPluginLoad
    }
    fn unity_plugin_unload() {
        //  called UnityPluginUnload
    }
}
  • 使用UnityInterface::interface,它等同于IUnityInterfaces::GetInterface,来获取接口。
let intf = unity_native_plugin::interface::UnityInterfaces::get()
    .interface::<unity_native_plugin::d3d11::UnityGraphicsD3D11>();

示例

依赖项