Hi I’m combining a slew of previous posts into one larger one below. I’ll be adding more as I think of them over the next hour or so.
[ New optional functionality of ‘Mailbox’ - Enqueue messages ]
Checkbox option ‘Enqueue messages’ would allow one Mailbox to receive multiple messages per frame, instead of the current functionality which I believe is more like it will overwrite an existing message with the new one, if several collide on one frame. So with this enabled, new messages would be popped onto a list, and every frame that entire list would get processed. I suggest ‘optional’, but selected by default for any new projects, because I think if this was applied retroactively to existing projects it might break some of them.
I would use this for situations like: a bullet transmits a ‘takeDamage’ message to enemy on impact, and destroys itself. But if the weapon is like a shotgun that has multiple projectiles that might impact the exact same frame, some of them don’t get processed, I believe for the reasons mentioned above.
In case it helps anyone: I’ve sorted out a little hacky workaround for this with shotguns in my project, but it’s not ideal. What I do is, on impact I change the bullets opacity to 50, zero out the velocity, then once ever 1/10th a second, each enemy checks if bullets are in proximity, and if so, count them and multiply damage by the quantity, then send all bullets a ‘flush’ message which will destroy the ones with less than 100 opacity.
[ New Parameter for Spawn/Emit/Attach: “Input Value”, also a new Component to output that Input Value ]
This would be a new input pin for the components that create new blocks, that allowed you to send that new object a parameter to start up with. Then the created object could access that value from an Input Value component. Possibly the in pin that would accept numerical output for this could track named Number blocks so you could send multiple name/value pairs at once, then access those later with the Input Value component using optional ‘named variable’ string parameter.
This would be very useful to me!
[ New Component - Age ]
A component to output the current age in milliseconds would be very useful. Especially if it could also output the maximum age this block was created with, too.
[ Use Behavior Bundles by reference with unique variants disabled ]
Currently when a Behavior Bundle is referenced on another object, it basically clones it into the layout and changes become unique to that copy. It would be great if instead it referenced that bundle and either disabled edits or made edits to everything that used the bundle, too. So if I have multiple objects that use ClassA, and i change ClassA within any of them, it changes it for all of them.
[ New Message target: Attached Objects ]
It would be great to be able to send things like ‘current health’ to attached objects like visible health bars. Attached objects could be named. Then when you add a new Message, there would be an option for ‘Send to Attached’ -> dropdown of Attached objects.
Another way I would use this is to attach gun1 and gun2 to my player, then send those commands like ‘setSkin’ or ‘setDamage’ etc.