Debugging and asset management

I spent the weekend tinkering with Armory, and for the most part it’s pretty great. I had a couple of questions though…

  1. What’s the best way to debug an Armory project? The “least bad” solution I’ve found so far is to use the web build, since trace() works properly there; however I don’t get breakpoints and the armory build process doesn’t seem to be spitting out sourcemaps. Also, running the build command (ctrl+shift+b) from Kode Studio doesn’t seem to jiggle the JS bits, so you have to tab back to blender and click ‘Build’ every time you want to push a new build to the browser.

  2. What’s the cleanest way to deal with assets? I have a bunch of tiles that I want to both place in a separate blend file or group of files (So my artist and I aren’t stomping on eachother’s blend files), and spawn from code. I can link an individual mesh from another blend file, but it looks like I need to link each one, one at a time, which then sticks it in the scene (where it can’t even be hidden). I’m probably approaching this entirely wrong.

  1. Have you tried debugging from Kode Studio? It’s possible to set break points etc…

Also, what problems are you facing using trace()? It works perfectly fine for me on Arch Linux at least.

  1. Try the linked proxy example. Does it work in the way you need? When linked objects are made into proxy objects, they can be moved around, hidden, change material etc.

I didn’t know you could launch debugging from Kode Studio! That mostly does what I want, but it’s not actually much faster. The time saved switching windows is lost restarting the html5 renderer process each time. When debugging with chrome, it would auto-refresh every time the build updates, but I don’t see an obvious path to that kind of workflow here. It seems I need to manually close the window to fire off a new build (restart re-launches the old build even if changes have been made)

The linked proxy stuff doesn’t quite solve my needs though. Ideally I’d like to be able to load objects from other blend files without placing them in the scene. Placing them in the scene and hiding them is a reasonable workaround for now, but it’s a bit annoying when I need to spawn hundreds of objects via code.

My ideal workflow would be to just link a blend file, and be able to spawn any object from that file via code without additional work whenever someone adds a new object to the other blend file