我问了Claude,BepInEx是否有风险,他回答说: >是的,结构上,即使你尽力了。 BepInEx + Harmony在运行时可以任意修改IL——一个修改者可以hook任何方法,包括你从未意图暴露的、从未标记为public的、从未考虑过的。 Unity中的你的"API面板"实际上是整个游戏,无论你喜欢不喜欢。 一个自定义UE SDK只暴露了你故意标记为UFUNCTION/UCLASS的内容。 你没有暴露的任何内容都只是无法到达——无论修改者的技能多高也无法绕过这一点。 你是可修改内容的天花板,永久性。 实际结果:Unity中的一个修改者可以覆盖、前缀/后缀或替换几乎任何行为,纯粹出于猜测。 在你的UE游戏中,修改者只能做你预先批准的内容——新物品、新配方、新UIhook,等等。 超出这一点需要你发布SDK更新,而不是修改者找出一个工作绕过。 这也是为什么Satisfactory的SML在多年来一直在不断扩展——修改者不断请求“可以暴露X”并且Coffee Stain添加它,patch by patch。 这是一个持续的合作,而不是一次性的API设计。 诚实的说法:BepInEx默认提供近乎无限制的访问;你的最佳自定义UE SDK提供了有界的访问,只有当你愿意维护它时才会增长。 这是一个根本不同的天花板,而不是仅仅更难的设置。 所以似乎在说Unreal Engine更适合可修改的游戏。