如何为实现自己的自定义资产和功能的游戏开发 mod?

How does one develop a mod for a game that implements their own custom assets and functions?

我应该澄清一下,我对 modding 和编程都很熟悉。但是,如果没有专门的工具包来实现这样的事情,我不确定如何完成我想要的东西。

假设我有一个游戏,我想在其中对自己的汽车进行编程。该游戏没有汽车的概念,但有些东西可能会被重新用于汽车(例如,动物存在于游戏中,并且可能 mod 化为具有以下功能的车辆正确的更改)我将如何处理这个?游戏引擎是 Unity,目前没有 mod 支持,但有一个活跃的社区目前正在创建和维护 mod。

我只想知道从哪里开始!

在 Unity 中,您不能向构建的游戏“添加更多代码”(除非您有一些自定义脚本解释器,您可以为其定义它可以影响的游戏机制,但这本身就是另一个话题)。您可以以序列化文件(如 JSON)的形式公开“实体”列表,以便模组制作者可以创建一个新文件,在其中定义一个新实体,然后确保您的游戏会选择它向上(例如读取文件夹中的所有文件)。

我看到的一个解决方案是在 StreamingAssets 中为 mod 脚本使用一个文件夹,然后编译该文件夹中的所有脚本。

@twistedstriker1234 的方法是一个很好的选择,尽管到目前为止我只尝试过使用 AssetBundles,我个人认为它简单易行,尤其是在使用 Asset Bundle Browser 时,它可以使用包管理器。

但是,这种方法可能有其自身的问题,因为您需要为每个平台创建一个构建的每个 AssetBundle(一个用于 Android,另一个用于 iOS,依此类推)。

我仍然认为它是一个很好的选择,因为 AssetBundle 几乎可以是任何东西(audio/video 文件、3d 模型、预制件、场景...),这使得为游戏修改和创建 DLC 变得可行。