繁体   English   中英

如何在Unity项目之间共享c#源代码?

[英]How to share c# source between Unity projects?

我们正在进行两个项目,并希望在它们之间共享一些类。 共享源必须位于单个位置,因此当Project1上的程序员更新代码时,会立即在Project2中看到这些更改。

重要的是我们不想维护相同代码的多个副本。 我想我们会同意这样做的坏习惯。

唯一的选择似乎是将代码放在类库中,并将其作为插件加载到每个项目中。 但是,当引用像GameObject或转换这样的Unity类型时,我认为这不起作用。

在C / C ++领域,我们可以将源代码放在一个目录中并将其包含在我们想要的任何解决方案中 - 在Unity-land中似乎并不那么容易。 他们是在团结项目之间共享代码的更好方法吗?

编辑:所有项目,包括共享代码,都已受源代码管理。 这不是源控制问题,它是一个框架问题。 (显然我需要写更好的问题!)

让我们说目录结构看起来像这样......

C:\\ Project1 \\ Assets \\ CodeForProject1 \\ StandardAssets \\ Library \\

C:\\ Project2 \\ Assets \\ CodeForProject2 \\ Resources \\ Library \\

D:\\ UsefulCode \\ PlayerClass \\ WeaponsClass \\ DataAccessClass \\

Unity可以参考其他项目的代码吗? Unity可以在其自己的Assets文件夹之外引用代码吗? 如果是这样,怎么样?

我完全理解你所面对的是什么,我们前一段时间遇到了同样的问题。

我们共享代码的想法是成为一种中间件,因此它将自然而然地发展。 我们的解决方案是为共享代码创建一个git模块。 我知道你说这不是一个源代码控制问题,但至少在我公司这里,创建一个dll不是一个好的解决方案,因为我们不断改变共享代码(我们也尝试过软链接,但是它非常痛苦)维护所有机器)。

在这里,我们创建了两个项目:一个用于中间件,另一个用于测试。 最后一个只有中间件的gitmodule和一堆单元测试。 我们这样做是为了确保不依赖于其他项目。 两者都在源代码控制中。 因此,当有人想要在中间件中实现一个新功能时,他/她会在测试项目中进行实现,并且当它完成时会提交给两个项目。

哦! 可以用Unity类型制作一个dll并正常使用它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM