Monkey Bridge is a modular importer for Unity.
The idea is that you create a json file and then generate prefabs from this file. You can also pack json files into json files and thus create a dependency. This is actually not possible in Unity. Any software that has a scripting api can be used to create the json file, e.g. Photoshop, Blender, Figma etc..
This makes it easy to build very special pipelines for projects.

The Importer loads .mky files. Every file represented a Prefab. On the first load the Importer create a Prefab near by the .mky file. This Prefab is connected to the .mky File.
The File looks like this:

{
    "config": {
        "version": 0.1, // version of the mky file
        "type": "photoshop" // type for the prefab loader, you can use wildcard *?
    },
    "properties": { // Properties for the prefab
        "name": "Export",
        "priority": 0 // the importer have a priority system
    },
    "gameObjects": [
        {
            "type": "sprite", // type for the object loader
            "properties": { // game object properties, you can use wildcard *?
                "name": "Layer 0 copy",
                "color": {
                    "r": 1,
                    "g": 1,
                    "b": 1,
                    "a": 1
                },
                "transform": {
                    "position": {
                        "x": 21.6,
                        "y": -33.6,
                        "z": 0
                    }
                },
                "sortingOrder": 2
            },
            "assetId": "Assets/sprite.png" // Asset path
        }
    ]
 }
JSON

Loaders:

The Importer works Loader base, if means every Prefab and Game Object will create by a Loader.

Prefab Loader:

A Prefab Loader have some events for prepare and edit the created Prefab.

  • BeforePrefabUpdate
  • AfterPrefabUpdate

If you want to create a custom PrefabLoader use the CustomPrefabLoader class.

Object Loader:

A Object Loader create and attach the new Object.
Object Loader Events:

  • create, return the new object or null
  • attach, attach the object

Exist Object Loader:

  • NotExist *
  • object
  • group
  • monkey (a other mky file)
  • prefab
  • sprite
  • ui_frame
  • ui_object
  • ui_group
  • ui_rectangle
  • ui_text

If you want to create a custom Object Loader use the CustomObjectLoader class.