Create build mode focused scripts
Allowing creators to make their own tools will fundamentally change how creators work. With asset library and the ability to make your own tools creators could make (and share - once asset library allows that):
- a "space junk finder"
- a "outliner" of all objects in the world
- a layer manager (e.g. put objects in layers and lock / unlock a whole layer)
- procedural creation in build mode
- arbitrary snap tools (e.g. snap to increments of 12 degrees, sure!)
- create UIs for keyframe animation
- create color pickers (such as HSV)
- and much much more...!
Here's how Horizon could do this...
There's already the code block "is player in build mode" which only works in play mode. Let's add more code blocks that only work in build mode! Here's the code blocks that Horizon could start to add that would immediately unlock the ability to make tools...
"get all objects in world" (this returns the list of all objects, it only works in build mode)
"get selection of [player]" (this returns a list of objects currently "selected" but the current player)
"set selection for [player]"
open property panel for [object]
open property panel for [object] at [location]
save state of [object] (this would save the object's position, location, color, rotation, and all variables including references to be the object "initial state" e.g. when the world loads, making this work for lists and object references will be huge)
set [object] locked to [true/false]
is [object] locked
... and so on! In the future you could add the ability to create groups, ungroup, and so much more.
Where to start?
"save object state", "list of all objects in world", and "object property panel at location"!
-
VJ Franz K commented
Here is the "Build-ception" which could result in many useful tools!