You can now support my Assimp-efforts on Patreon

Since the last year thing are getting wild in Asset-Importer-Lib. A lot of feature requests are coming in, a lot of bugfixes and a lot of very useful bug-reports. Unfortunately it is getting more harder for me to adress all these requests during my rare free-time. Or let it say in a different way: it is getting impossible.

But of course I thought a lot about this issue. I have a day-time-job at SLM-Solutions and a family. Most of the work I am doing for Asset-Importer-Lib will be done at night. So a lot of feature-rquest will not be adressed.

But I found: Patreon

Patreon is a web-service which wants to support all the creators doing their great job at home. You can spend a small amount of money if you want to support the creator for reaching a special goal like finishing a film or a comic.

In my case the goals will be stuff like finishing an automated installer build of the current master or be able to focus on one special feature. So I created a Patreon-Page for myself here: Kim Kulling on Patreon

So if you like what I am currently doing in Asset-IMporter-Lib you can follow me there. And if you really really like what I am currently doing or Assimp helped you to earn some money and you need a special feature you can get a Patreon for my work for Asset-Importer-Lib.

Feel free to request other features or just discuss this here …

Use the Asset-Importer-Lib Meta-Data-API right

The problem:

Think of the following situation: you want to import a model using Asset-Importer-Lib and store some values like the version of the current asset or the author / company. Or when you want to manage the models using modules for a much more efficient way for your SCM you need to store grouping information. How can you do that using the Asset-Importer-Lib?

The solution: The Metadata API:

Asset-Importer-Lib provides a meta-data API to offer a solution for these kind of use-cases. It is straight-forward to use:

// to allocated two entries
aiMetadata *data = aiMetadata::Alloc( 2 ); 
unsigned int index( 0 );
bool success( false );
const std::string key_int = "test_int";
// to store an int-key
success = data->Set( index, key_int, 1 );

// to store a string key
index = 1;
const std::string key = "test";
success = data->Set( index, key, aiString( std::string( "test" ) ) );

// Deallocate the data afterwards
aiMetaData::dealloc( data );

You can store an arbitrary number of items, supported datatypes are


The intermediate data-structure aiNode can store this data.