Unity 使用VisualStuido将C#脚本封装打包DLL使用

简介: 为了方便开发,不破坏写好工具的封装性,我们经常讲C#脚本打包成DLL使用,操作流程如下创建项目,注意选择Net Framework版本,过高Unity无法支持添加在脚本中使用的unity引用,在封装的脚本中我只使用了UnityEngine.

为了方便开发,不破坏写好工具的封装性,我们经常讲C#脚本打包成DLL使用,操作流程如下

创建项目,注意选择Net Framework版本,过高Unity无法支持
img_165966fa1399f537ac08acc1ba5beb69.png
img_df85e2707de447f9590c8d6d0ab6b95c.png
添加在脚本中使用的unity引用,在封装的脚本中我只使用了UnityEngine.dll,所以添加一个UnityEngine.dll就可以来了
img_ef8e6b2dac76c117bb87af237173c00a.png

img_f1ece5cf8ec51bb862a81b10f6145db0.png

img_932fa25bcdeecab78cb42132156bbd04.png
在引用里面出现新添加的引用
img_45ef310a57b8c201adad61eb4f32a669.png
然后添加我们要编译的脚本
img_b21ccbb96ea81724269e8a04368b8fd8.png

img_fa67dcb098a61ada628e4c3e8dc47f68.png
删除多余初始类
img_abea835bc3fbb48fb7fa07a2c1c0b5b9.png
右键启动项Debuger选择属性
img_14482b7322da4a035f5b213f5f2d32c8.png
选择生成里面的XML文档文件,这样打包出来的dll里面的注释也会显示,如果有自定义Conditional属性,例如:Unity Debug输出到屏幕并保存到本地中用到的编译条件[Conditional("EnableLog")],在条件编译符号里面添加对应的编译条件
img_4a70d4c9544866680259177b8621c556.png
右键解决方案选择重新生成解决方案
img_813b7f0f3843247f5ef638949ecc587a.png
右键选择在资源管理器中打开文件夹
img_fc2a5b7826518718e7399edfe50a50a8.png
在打开文件夹中的bin中的debug文件夹中会找到生成的dll和对应的XML文件
img_f2c166d61af19e48d3dce50f93dc1c02.png
然后把对应的dll和xml粘贴到Unity中的Plugins文件夹中就大功告成
img_7db7fe1a16976ee5bf0b2787b88d54ba.png

img_6f71221fb7769ac72b08755f97efda70.png
相关文章
|
11月前
|
JavaScript Shell C#
多种脚本批量下载 Docker 镜像:Shell、PowerShell、Node.js 和 C#
本项目提供多种脚本(Shell、PowerShell、Node.js 和 C#)用于批量下载 Docker 镜像。配置文件 `docker-images.txt` 列出需要下载的镜像及其标签。各脚本首先检查 Docker 是否安装,接着读取配置文件并逐行处理,跳过空行和注释行,提取镜像名称和标签,调用 `docker pull` 命令下载镜像,并输出下载结果。使用时需创建配置文件并运行相应脚本。C# 版本需安装 .NET 8 runtime。
796 3
|
11月前
|
图形学 开发者
Unity编辑器脚本(添加/删除)碰撞盒
这段代码提供了两个Unity编辑器工具,用于批量处理模型的碰撞盒。一是“一键添加所有碰撞盒”,通过选择模型的父物体,自动为其子物体添加`MeshCollider`。二是“一键清理所有Collider碰撞盒”,同样选择父物体后,递归删除子物体上的`BoxCollider`组件。两者均通过Unity的菜单项实现便捷操作,方便开发者快速调整场景中的物理属性。
|
安全 Java C#
Unreal Engine C# 脚本编写浅谈
本文介绍了在 Unreal Engine 中使用 C# 编写脚本的方法,涵盖环境搭建、基础概念、常见问题及代码案例。从安装插件到处理输入事件和加载蓝图,详细讲解了如何在 Unreal Engine 中高效利用 C# 进行开发。
478 3
|
安全 C#
C# 面向对象编程的三大支柱:封装、继承与多态
【9月更文挑战第17天】在C#中,面向对象编程的三大支柱——封装、继承与多态,对于编写安全、可维护、可复用的代码至关重要。封装通过访问修饰符和属性保护数据;继承允许子类继承父类的属性和方法,实现代码复用和多态;多态则提高了代码的灵活性和通用性。掌握这三大概念能显著提升C#编程能力,优化开发效率和代码质量。
297 3
|
设计模式 存储 人工智能
深度解析Unity游戏开发:从零构建可扩展与可维护的游戏架构,让你的游戏项目在模块化设计、脚本对象运用及状态模式处理中焕发新生,实现高效迭代与团队协作的完美平衡之路
【9月更文挑战第1天】游戏开发中的架构设计是项目成功的关键。良好的架构能提升开发效率并确保项目的长期可维护性和可扩展性。在使用Unity引擎时,合理的架构尤为重要。本文探讨了如何在Unity中实现可扩展且易维护的游戏架构,包括模块化设计、使用脚本对象管理数据、应用设计模式(如状态模式)及采用MVC/MVVM架构模式。通过这些方法,可以显著提高开发效率和游戏质量。例如,模块化设计将游戏拆分为独立模块。
964 3
Delphi可不可以制作出像c#那样的dll类库?
在Delphi中,创建DLL项目(如dll.dpr)并定义一个类TMyCls后,在另一个项目(如test.dpr)中可以引入此DLL并直接实例化和调用类的方法。然而,Delphi目前主要支持两种DLL形式:动态链接库(需显式声明exports,仅支持函数调用)和ActiveX DLL(需定义IDL接口)。这两种方式都较为繁琐。相比之下,C# 的DLL类库更为便捷,编写并编译后即可在其他项目中直接使用。
|
图形学 C# 开发者
全面掌握Unity游戏开发核心技术:C#脚本编程从入门到精通——详解生命周期方法、事件处理与面向对象设计,助你打造高效稳定的互动娱乐体验
【8月更文挑战第31天】Unity 是一款强大的游戏开发平台,支持多种编程语言,其中 C# 最为常用。本文介绍 C# 在 Unity 中的应用,涵盖脚本生命周期、常用函数、事件处理及面向对象编程等核心概念。通过具体示例,展示如何编写有效的 C# 脚本,包括 Start、Update 和 LateUpdate 等生命周期方法,以及碰撞检测和类继承等高级技巧,帮助开发者掌握 Unity 脚本编程基础,提升游戏开发效率。
733 0
|
C#
C# WPF 将第三方DLL嵌入 exe
C# WPF 将第三方DLL嵌入 exe
331 0
|
C# 图形学 数据安全/隐私保护
Unity数据加密☀️反射的用法:变量、属性、方法、重载,反射在DLL中的使用方法
Unity数据加密☀️反射的用法:变量、属性、方法、重载,反射在DLL中的使用方法
|
PHP 数据库 数据安全/隐私保护
Unity数据加密☀️ 三、加密DLL供Unity使用
Unity数据加密☀️ 三、加密DLL供Unity使用