Asteria Modding SDK Documentation

Version 1.0 | Last Updated: 2025-01-18

Introduction

Welcome to the Asteria Modding SDK! This documentation will guide you through the process of creating, modifying, and integrating custom content into Asteria. Whether you're adding new characters, items, abilities, or entire quests, this SDK provides the necessary tools and APIs.

Getting Started

Downloads

Installing the SDK

If you have modded a Unity game before:

Please note that our current modding support is entirely based around scriptable objects and being friendly towards those without modding experience. Due to this, direct C# or code injection is not natively supported. To write your own code and make much more complicated systems without workaround solutions you will need to leverage a third party mod loading software for C# injection, decompilation and recompilation. Although not supported right now, with community support we may eventually make it a native feature.

Modding API Overview

Asteria provides a couple modding interfaces you should be aware of:

File Structure

When developing a mod, your directory should be structured somewhat as follows:

AsteriaMods/
│── ModName/
│   │── Data/
│   │   ├── Sprites/
│   │   │   ├── My_Character_Sprite_01
│   │   │   ├── My_Character_Sprite_02
│   │   │   ├── My_Character_Sprite_03
│   │   │   ├── My_Character_Sprite_04
│   │   ├── Characters/
│   │   │   ├── MyCharacter
│   │   ├── items/
│   │   │   ├── MyItem_01
│   │   │   ├── MyItem_02
│   │   │   ├── MyItem_03
│   │   ├── Audio/
│   │   │   ├── Battle_Theme_01
│   │── Mod Info/
│   │   ├── Info_ModName

This is only an example, and the file naming system is actually extremely lenient, but for organization and making it so other mod makers can account for your mod, you should name things in a way that isn't frustrating for others to use. There's also considerations to take into account, such as Windows max file name length, etc.

Make sure that you rename your mod info file as well as fill in its info. The mod info file gives your mod an identity which allows users of your mod to see the mod within their loaded mods list. If you delete the mod info file your mod will still load, but will not show in a users mod list, this can be used for libraries and other useful extension content for other mods.

Lastly, try not to use spaces within the names of files, with the exception of Character files. Use underscores (_) where possible.

Creating Mod Content

To create content you will need to create scriptable objects of the type of thing you want. Figure out what you want to make and then follow along with the documentation of that object linked below.

Object Type Documentation Link
AI Moveset Creating AI Movesets
Background Overlay Creating Background Overlays
Character Creating Characters
Character Feature Creating Character Feature
Class Creating Classes
Content Bundle Creating Content Bundles
Crafting Recipe Creating Crafting Recipes
Dialogue Creating Dialogues
Dungeon Creating Dungeons
Encounter Creating Encounters
Item Creating Items
Item Keyword Creating Item Keywords
Language Creating Languages
Localization String Creating Localization Strings
Localization Table Creating Localization Tables
Location Creating Locations
Loot Pool Creating Loot Pools
Magical Element Creating Magical Elements
Merchant Creating Merchants
Monster Creating Monsters
Quest Creating Quests
Skill Creating Skills
Status Effect Creating Status Effects
Unit Balance Creating Unit Balances

Complex Systems

These systems hold a lot of the complexity around creating a dynamic and modular framework for our game. Understanding these different elements will help you significantly with working with our systems.

Name Documentation Link
Addressables Link
Interaction Requirements Link
Usage Tags Link
Functions Link
Modifiers Link
Avatars Link
Weather Link
Prefabs Link

Packaging & Publishing

Steps to prepare and share your mods coming soon...

FAQ

Common issues and troubleshooting coming soon...