Custom Asset Importing: Difference between revisions

From Ardenfall Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 25: Line 25:
</syntaxhighlight>
</syntaxhighlight>


=== Supported Importers ===
=== Built in Importers ===
 
{| class="wikitable"
==== SimpleModel ====
|+
Imports a GLTF file as a GameObject. Ideal for weapons, items, simple objects. You can define a built in material to use, and it will automatically apply said material + hook up included textures.
!Name
 
!Description
==== Texture ====
!ID
Imports a .png or .jpeg as a Texture2D
!Properties
 
|-
==== <u>AudioClip</u> ====
|SimpleModel
Imports a .mp3, .wav, or .ogg as an ArdenAudioClip
|Imports a GLTF file as a GameObject. Ideal for weapons, items, simple objects.  
You can define a built in material to use, and it will automatically apply said material + hook up included textures.
|simple_model
|path: the path to the gltf file
|-
|Texture
|Imports a .png or .jpeg as a Texture2D
|texture
|path: the path to the image file
|-
|AudioClip
|Imports a .mp3, .wav, or .ogg as an ArdenAudioClip
|audio_clip
|path: the path to the audio file
|-
|AssetBundle
|Imports a unity asset bundle.
|asset_bundle
|path: the path to the asset bundle file
|}


=== Custom Importers ===
=== Custom Importers ===

Revision as of 14:09, 22 May 2026

At some point you may want to import a new model, texture, sound, etc.

This can be done one of two ways - manually via scripting, or by using the built in mod asset importer feature. I suggest the latter, unless you want to do something funky.

Asset Manifest

Every mod can have an asset manifest file defined. This lists out all assets you want to import.

Create a file called manifest.txt in your mod directory.

Example Asset Manifest

{
  "assets": [
    {
      "assetId": "testmod.dog",
      "type": "texture",
      "properties": [
        {
          "name": "path",
          "value": "Assets/dog.png"
        }
      ]
    }
  ]
}

Built in Importers

Name Description ID Properties
SimpleModel Imports a GLTF file as a GameObject. Ideal for weapons, items, simple objects.

You can define a built in material to use, and it will automatically apply said material + hook up included textures.

simple_model path: the path to the gltf file
Texture Imports a .png or .jpeg as a Texture2D texture path: the path to the image file
AudioClip Imports a .mp3, .wav, or .ogg as an ArdenAudioClip audio_clip path: the path to the audio file
AssetBundle Imports a unity asset bundle. asset_bundle path: the path to the asset bundle file

Custom Importers

Mods can define their own importers. Perhaps you built a tool that can easily create item data assets from a json file. You can register your own importer to read this file, and then you can easily import them as assets! Other mods can also rely on other's importers.

Note an Importer doesn't need to only import a single path (this is why 'path' is a property). Perhaps a single importer takes in a model_path and a data_path, for example.

TODO

Example: A Custom Weapon

TODO