As far as I know it’s currently possible to instantiate objects from predefined objects in two ways in Armory.
instantiate a copy of an object which is hidden in another layer (iron.Scene.spawnObject), such as the bullets in the 1st person shooter example.
instantiate a scene (iron.Scene.addScene) into the current scene which contains an object.
Assuming these are the intended ways of instantiating objects, in which situations are the different methods recommended?
Are there any plans to implement some sort of prefab management similar to Unity? Meaning that you can define an object, put scripts onto it etc, save it as a prefab, remove it from the scene, and load it using either reference set in UI or by path in script.
This would be really nice to have and make it much easier to use armory
Both should do to instantiate an object, where iron.Scene.addScene() is meant to spawn multiple objects, for example a room full of stuff, into the exiting level.
Opened a new issue to investigate a proper prefab system. Armory handles the basics of Blender linking system which may be useful here, but need to expose this for scripts too.
It may also be useful to add a nested prefab system to this.
So what I mean by that is. If someone makes a prefab they can put the prefab in the same object hierarchy as another prefab.
—|_ Prefab 2
------|_ Prefab 3
---------|_ Prefab 4
That said each prefab can have their own scripts, Objects, etc. attached to them.
Yeah using Scenes is an interesting way to go, somewhat like Godot. If its possible to instantiate a Scene which contains other scenes, we end up with reasonably workable nested prefab system,