Custom Asset Importing: Difference between revisions
No edit summary |
No edit summary |
||
| Line 25: | Line 25: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === Built in Importers === | ||
{| class="wikitable" | |||
|+ | |||
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 | |||
!ID | |||
Imports a .png or .jpeg as a Texture2D | !Properties | ||
|- | |||
|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