Modding Support Status: Difference between revisions
No edit summary |
No edit summary |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 86: | Line 86: | ||
# Need a way to invalidate lookup table values, whenever a mod refreshes. This can be done via a cache index. | # Need a way to invalidate lookup table values, whenever a mod refreshes. This can be done via a cache index. | ||
# Need better tooling to find IDs of assets | # Need better tooling to find IDs of assets | ||
| | |COMPLETE | ||
|- | |- | ||
|Warn if mods aren't loaded correctly | |Warn if mods aren't loaded correctly | ||
|When loading a save, and the save has a mod enabled that is no longer enabled, it should show a warning. | |When loading a save, and the save has a mod enabled that is no longer enabled, it should show a warning. | ||
|PLANNED | |PLANNED | ||
|- | |||
|Tool: Position Debugger | |||
|Little tool that tells you where a position is in the world. Useful to figure out where you want to spawn items. | |||
|COMPLETE | |||
|- | |- | ||
|Mod Settings: JSON | |Mod Settings: JSON | ||
|Add support for mods to have a json file for settings, to allow the mod users to tweak the mod. | |Add support for mods to have a json file for settings, to allow the mod users to tweak the mod. | ||
|PLANNED | |PLANNED | ||
|- | |- | ||
| Line 118: | Line 118: | ||
|Support injecting dialog into characters without involving a Quest | |Support injecting dialog into characters without involving a Quest | ||
|PLANNED | |PLANNED | ||
|- | |||
|Prefab Creator | |||
|Make a way to create prefabs from within the game tooling. Could potentially support simple VFX creation? This is a rabbit hole, however. | |||
|UNDER CONSIDERATION | |||
|- | |||
|Asset Bundle Importer | |||
|Add official support to import asset bundles, and to easily be able to reference assets. This is particularly important for VFX + potential complex prefab support. | |||
|UNDER CONSIDERATION | |||
|- | |||
|Unity Tooling | |||
|Right now I've entirely focused on having tooling being within our own pipeline. We could however ship a simple asset bundle exporter, along with some helper scripts. | |||
|UNDER CONSIDERATION | |||
|- | |- | ||
|Tool: Item Editor | |Tool: Item Editor | ||
Latest revision as of 19:22, 30 July 2026
Since the game isn't even out, naturally modding is in a VERY early state. Practically everything could change, so please don't get too attached to your mods at this stage.
Modding support will be broken into a few stages. The first stage, Pre-EA, is focused on just getting the bare minimum fully working and with high ease of use ASSUMING you know how to code.
After EA we will continue to flesh out modding features, with a focus on adding visual tools to make creating mods easier and faster, with less digging through code.
Here is a overview of features and their statuses. This is by no means a comprehensive list, and anything 'Under Consideration' is just that: not guaranteed to be added.
| Feature | Description | Status |
|---|---|---|
| Core Mod Loading | Mod manifest, enabling, disabling | COMPLETE |
| Mod Saving: Custom Data | Serialized and deserialize strings to a save file | COMPLETE |
| Scriptable Lookup Table Modification | Add and modify assets in the lookup table | COMPLETE |
| Mod Generator | Simple tool to get started with a new mod | COMPLETE |
| Core Mod Asset Importer | Core asset importer feature to be used across many importers | COMPLETE |
| Static Model Importing | Importing of static GLTF models | COMPLETE |
| Texture, Audio Importing | Importing of textures and audio files | COMPLETE |
| Misc Item Importing | Importing of simple misc item | COMPLETE |
| Child Item Importing | Importing of child items | COMPLETE |
| Melee Item Importing | Importing of melee items | COMPLETE |
| Code-Based Quest Support | Very clunky quest creation via code | COMPLETE, Not documented |
| Code-Based Dialog Support for Quests | Very clunky dialog creation via code. | COMPLETE, Not documented |
| Very basic graph viewer | A very basic (and ugly) viewer for your dialog / quest graphs. Is not an editor, as it can only view. | COMPLETE |
| Item Importer 2.0 | Currently all items are importing with a very simple importer, with each entry hand picked. This is not ideal. Seems like a much better way to go about it would be to have each item be its own JSON file, and then create a generic scriptable object importer that can overwrite values. | COMPLETE |
| Blender Rig | Ship the blender rig to make it easy to create new armors and clothing. | PLANNED |
| Armor Item Importing | Importing of armor. Will require some way to create ClothingAssets as well, potentially another importer? (This would mean we need a multi pass importer system, *shiver*) | PLANNED |
| Simple Modding UI | Currently the main way for mods to display UI is through dialog or the Alert system. Both are quite limited.
The Moddable UI System would allow for new simple UI’s to be introduced, with the ability to create more complex interfaces, such as buttons, data lists, scrollbars, etc. They could support being opened via keybind, through interacting with an object, or some other way. |
PLANNED |
| Lookup Table Tooling |
|
COMPLETE |
| Warn if mods aren't loaded correctly | When loading a save, and the save has a mod enabled that is no longer enabled, it should show a warning. | PLANNED |
| Tool: Position Debugger | Little tool that tells you where a position is in the world. Useful to figure out where you want to spawn items. | COMPLETE |
| Mod Settings: JSON | Add support for mods to have a json file for settings, to allow the mod users to tweak the mod. | PLANNED |
| Remove enum for item slot | Currently item slots for characters is an enum. This is not mod friendly.
It should be ported to a scriptable object. |
PLANNED |
| Mod Dependencies | Ensure mods can rely on others.
Mod dependencies can declare whether they must be loaded before, or any time. |
PLANNED |
| On Quest Start / Stop Hooks | Obviously any logic in a modded quest doesn’t need to be (and really shouldn’t) be part of the graph, but instead be in your code.
Add hooks to on quest start / stop. |
PLANNED |
| Code-Based Dialog Support without Quests | Support injecting dialog into characters without involving a Quest | PLANNED |
| Prefab Creator | Make a way to create prefabs from within the game tooling. Could potentially support simple VFX creation? This is a rabbit hole, however. | UNDER CONSIDERATION |
| Asset Bundle Importer | Add official support to import asset bundles, and to easily be able to reference assets. This is particularly important for VFX + potential complex prefab support. | UNDER CONSIDERATION |
| Unity Tooling | Right now I've entirely focused on having tooling being within our own pipeline. We could however ship a simple asset bundle exporter, along with some helper scripts. | UNDER CONSIDERATION |
| Tool: Item Editor | A visual editor to edit / create items. | UNDER CONSIDERATION |
| Tool: Item List Editor | A visual editor to edit / create item lists. | UNDER CONSIDERATION |
| Tool: Full Node Editor | A true editor for graphs. | UNDER CONSIDERATION |
| Tool: SpellData / Spell Creation | Currently spells can be created via code. (Not documented).
This tool would allow for spells to be created visually. |
UNDER CONSIDERATION |
| Tool: NPC Editor | Currently you can edit NPC’s via code.
This tool would allow you to edit/view NPC data visually. |
UNDER CONSIDERATION |
| Patch Mods | Mods are designed to be added “on top” of ardenfall’s codebase. This allows for hot reloading, easy disable/enable, and less issues when updates occur. Patch Mods would be a separate type of mod, that would actually overwrite the actual source code of Ardenfall, similar to Harmony. (In fact, we'd use Harmony to do this). This would take more effort to get working, and could break whenever a game update happens, but would allow for "Skyrim Script Extender" sort of modding platforms that the community could build if they desired. | UNDER CONSIDERATION |
| Simple Dialog API | Create a way to make a dialog graph SUPER simply, without all the fancy connected stuff.
Example:
|
UNDER CONSIDERATION |
| Mod Settings: Main Menu UI | Make mod settings modifiable in the main menu, not just through a json file. | UNDER CONSIDERATION |
| Custom Hair, Beard, Brow support | Make it easy to set up new hair, beard, brows in the creation menu. | UNDER CONSIDERATION |
| Custom Skills / Attributes / Traits Support | Make it easy to set up new skills, attributes, and traits in the creation menu. | UNDER CONSIDERATION |
| Custom Race Support | Make it easy to set up a new character race in the creation menu. | UNDER CONSIDERATION |