Each room allows for a binary response: yes / no, true / false, a / b, and one of two doors opens based on the response. A console with two buttons sits between the doors.

A problem:

Right now in Horizon I’m working on elevator style doors that can animate open and closed using the ‘move to over time’ code block. This is working well, EXCEPT I can’t figure out how booleans work in here, or I’m doing something dumb. I’ve created a boolean variable “isOpen” and when the trigger is entered it checks: ‘if isOpen == false” to know if the door should be opening or closing, but it doesn’t seem to be working. If I remove the if statement with the boolean I can open the door just fine. I find visual programming challenging in this way, because you need to know exactly how code blocks need to be combined, and sometimes it feels like you need to know a secret handshake to make them work. 

But then again, there is a decent chance I’m just doing something dumb.


I found the issue. It’s not booleans, I’m setting and getting them just fine. It’s that there is no if else code block in Horizon, only if. If else statements allow you to do different actions based on different conditions.  I’m so used to using if else statements that I didn’t recognize that the two if statements in a row were simply running one after another. What I wanted to have happen was just a simple toggle: if door is open, close door and set door to closed, else, if door is closed, open door and set door to open. But without the else, it was just running the first if, setting door to closed, and then running the second if, setting door to open. There was no toggling based on logic.
What I ended up doing was pretty janky, but worked, you can see it in the screenshot.
So it was a little bit of Horizon weirdness (no if else) and a little of me doing something dumb.