Skip to main content
Version: latest - a1.64.x ⚖️

Assets Guide

Alles was Sie über Assets wissen müssen

Assets in nanos world are all objects or content which come from Unreal Engine. For example Maps, StaticMeshes, SkeletalMeshes, Sounds, Particles, Blueprints etc are all types of Assets.

In order to use custom Assets in your servers, for example to spawn a Prop, or a custom Weapon you must have an Asset Pack. Asset-Packs sind eine Sammlung von Assets die zusammen aus Unreal exportiert wurden.

Ordnerstruktur

All Asset Packs go under Server/Assets/ folder. Jedes Asset Pack ist ein Ordner unter diesem.

Note

Asset Packs downloaded when connecting to servers or downloaded from the vault will be stored in Server/Assets/ folder as well!

This is an example of a server Assets folder:

Server Folder
NanosWorldServer.exe
Assets/
├── my-asset-pack-01/
├── MyAsset_01.uasset
├── MyAsset_02.uasset
├── MyBigMap.umap
...
└── Assets.toml
├── awesome-weapons/
├── BigFuckingGun.uasset
...
└── Assets.toml
Packages/
Config.toml

Assets Pack-Konfiguration

Asset Packs have a configuration file in the root of the Asset Pack folder, called Assets.toml, in this file we can setup all pertinent settings related to the Asset Pack:

https://github.com/nanos-world/nanos-world-server/blob/main/Assets.toml

Einstellungen detailliert

See a description of what each setting does:

EinstellungBeschreibung
titleFriendly name
authorContributor(s)
versionVersion - in the SemVer format X.Y.Z
unreal.unreal_folderName des Wurzelordners im Unreal Projekt, das diese Dateien exportiert hat. This is important so the Assets can keep the relative references correctly
unreal.unreal_versionVersion at which this Asset Pack was created
unreal.is_plugin_contentIf this Asset Pack is Plugin Content
assets.mapsListe der Karten in diesem Asset-Paket
assets.static_meshesListe der statischen Netze in diesem Asset Pack
assets.skeletal_meshesListe der Skelett-Netze in diesem Asset Paket
assets.soundsListe der Töne in diesem Asset Pack
assets.animationsListe der Animationen in diesem Asset Pack
assets.particlesList of Particles in this Asset Pack
assets.materialsList of Materials in this Asset Pack
assets.blueprintsList of Blueprints in this Asset Pack
assets.othersListe anderer Assets in diesem Asset Pack

Asset Meta Data

It is possible to define custom Meta Data for each individual Asset!

Besides defining the Asset Path by string, like this:

Assets.toml
[assets.static_meshes]
SM_Flower_01 = "MyFolder/SM_Awesome_Flower_01"
SM_Rock_01 = "MyFolder/SM_Rock_01"
SM_MyAsset_01 = "MyFolder/SM_MyAsset_01"
# ...

We can also define them as a table, allowing custom values - which can be accessed through scripting:

Assets.toml
[assets.static_meshes]
SM_Flower_01 = { path = "MyFolder/SM_Awesome_Flower_01", my_tag = "Wonderful", something = 123, thumbnail = "Thumbnails/SM_Flower_01.jpg" }
SM_Rock_01 = { path = "MyFolder/SM_Rock_01", my_tag = "Wonderful", something = 123, thumbnail = "Thumbnails/SM_Rock_01.jpg" }
SM_MyAsset_01 = { path = "MyFolder/SM_MyAsset_01", my_tag = "Wonderful", something = 123, thumbnail = "Thumbnails/SM_MyAsset_01.jpg" }
# ...
tip

The path key is required, all other values are optional and customizable, use as you wish!

Logo Image

It is possible to have a custom image to be displayed in the Vault. For that, add a file called Assets.jpg besides the Assets.toml with the image you wish. The recommended size is 300x150.

Verweise auf Assets im Skripting

To be able to use Assets in your code, first you have to ensure that the Asset Pack is loaded. An Asset Pack is loaded when:

  1. A map is loaded (this will make it's Asset Pack to be loaded automatically).
  2. A package with it configured in assets_requirements is loaded.
  3. It is manually set in Server's Config.toml at assets to load.

With the Asset Pack loaded, you can refer to it's assets using the following pattern:

"[ASSET_PACK_PATH]::[ASSET_KEY]"

Example:

"my-asset-pack-01::SM_Cube"

note

[ASSET_PACK_PATH] is the folder name and [ASSET_KEY] is the key defined in the Assets.toml.

Arten von Assets

Some scripting methods require some specific Type of Assets to load. Attempting to load an invalid or wrong type will cause an Error. E.g.: Character:SetMesh() requires an Asset of type Skeletal Mesh.

Here's a list of all supported Asset types:

TypeBeschreibung
MapEine unechte Motorkarte/-ebene
Static MeshUnreal statische Netze können verwendet werden, um Netze für Props und StaticMeshes zu laden
Skeletal MeshUnechte Skelettnetze können verwendet werden, um Netze für Charaktere und Fahrzeuge zu laden
SoundUnechte Sounds zum Laden von Sounds
ParticleUnreal Particles can be used for settings in several entities, including Particle Class itself
AnimationUnreale Animationen können für Einstellungen in Charakter und Waffen verwendet werden
MaterialUnreal Materials can be used for customizing meshes surfaces and used as Post Process
BlueprintUnreal Actor Blueprints can be used for spawning Blueprint entities

Creating your own Assets

To create your own Asset Pack, please refer to Importing Custom Assets Guide.

📦 Importing Custom Assetsassets-modding/creating-assets/setting-up-ue

Default Asset Pack

nanos world bietet ein Standard-Asset Pack, das bereits im Basisspiel enthalten ist. Please refer to the Default Asset Pack page for more information.

📦 Default Asset Packassets-modding/default-asset-pack/default-assets-list