-
Notifications
You must be signed in to change notification settings - Fork 0
Internal Development Philosophy
When developing with modding at mind, it will be important to re-think about how we approach normal problems.
Typically the notion would be creating monobehaviours at the game level and hoping that the modders can access it... well, we can.. but we shouldn't do that. Instead we can put "placeholder" or "data components" onto the game object. This allows us to share accurate monobehaviours, without giving our source code to the modder and additionally giving them the full capabilities of the game.
The layout looks like this: The Mod SDK will be referenced in both projects, the modder's project and the game that you are making.
If we want to interact with our "data components" we have to create an InternalMonoBehaviour
. This will automatically generate the reflection code to link up with another component, this happens on scene load from the ModManager component that gets added into a global scene when the game launches.
If you want to access the the "data component" the public variable m_exposed
will suffice.
Note: All data must be serializable, if you want it to be transferred between the mod to the game.
You will have to edit the SDK and go to the ModTool.cs
and find the field global_asset_labels
and add the strings of labels you want.
Note: This may change later in the future, just need to find the best way to embed this into the dll.
Not implemented at the moment.
Not implemented at the moment.