FuncDoor
A brush that rotates open and closed when triggered. Used for hinged doors of any kind.
Properties
Open on Use Float Set to 1 to allow the Use input (typically from the player) to toggle the door. Set to 0 to only allow Open and Close from outputs. Inputs
Open — Rotates the door to its open position (90 degrees from the spawn rotation). Has no effect if the door is already open. Close — Rotates the door back to its spawn rotation. Has no effect if the door is already closed. Use — Toggles between open and closed. Only works if Open on Use is set to 1. Universal Inputs
These inputs are available on every entity in the engine, not just this one.
GetValue String Reads the named exposed value from this entity and injects it into the pass variable pool. See Advanced Outputs for details. AddVelocity x,y,z Adds the given vector to the entity's current velocity. SetVelocity x,y,z Sets the entity's velocity to the given vector, discarding any current velocity. SetPosition x,y,z Teleports the entity to the given world position. SetScale x,y,z Sets the entity's scale. SetRotation x,y,z Sets the entity's rotation from Euler angles in degrees. AddImpulse x,y,z Applies an instantaneous physics impulse to the entity. Destroy — Despawns this entity on the next frame. Notes
FuncDoor rotates 90 degrees around the Y axis (straight up) relative to its spawn rotation. Set the door’s facing direction using the Spawn Yaw property in the inspector — the door will swing from that angle to 90 degrees past it.
The rotation is smoothed at 90 degrees per second. For a faster or slower door, note that speed is not currently a property — if you need this, FuncSliding with a diagonal direction vector may serve as a workaround for sliding panels.
Position, rotation state, and animation progress are all saved and restored correctly across saves and level transitions.
To make a player-interactive door, set Open on Use to 1 and wire up the player’s use action to the Use input. To make a scripted door triggered by a button or trigger volume, leave Open on Use at 0 and drive Open and Close directly from your logic.