SteamVR/Environments/Entity Guide

Entities are objects that provide all the functions in a map. The Source 2 engine used in SteamVR Home handles entities in mostly the same way as the original Source engine, but with a few key differences. Most of the articles this this wiki document the original Source versions of the entities.
Point entities work the same way as in Source but with new features. The entities now contain full transforms and can be moved, rotated and scaled both with the tools in Hammer and at runtime. Note that it is up to to the individual entity classes on if they make use of the transforms.
Mesh entities replace the Source brush entities. Since Source 2 no longer use BSP brushes, entities that need to be associated with geometry are now tied to Hammer meshes instead.
Path entities are a type of entity recently added to the tools. They can be created with the currently hidden Path Tool (Shift + P). 
= List of Entities =
The SteamVR Tools still contain a large amount of legacy Source engine entities. While many of the entities still work, some of them have been deprecated or have reduced functionality.
Most logic and math entities still work. AI related entities do not work. Many special effects entities are non-functional, but their functionality can be replicated with particle systems.
== SteamVR Home specific ==
Entities with functions specific to SteamVR Home.
Class 	Notes
prop destinations physics 	A prop physics that can be resized and recolored with VR hands in-game.
prop destinations tool 	Physics prop with VScript bindings. Requires a script attached to work properly.
point clientui world panel 	Places a user-made Panorama panel in the world.
point clientui steamvr world panel	Places one of the three pre-made SteamVR Quick Panels.
vr teleport marker 	Destination marker for teleport locomotion.
vr teleport area 	Mesh entity for marking valid areas for teleport locomotion.
== Lighting ==
Functional
Class 	Notes
light_spot 	Now supports both real-time and baked lighting. (Source 1 version)
light omni 	Equivalent of the Source light entity, supporting both real-time and baked lighting.
light_environment 	The direct sunlight portion can now be real-time with Cascaded Shadow Maps or baked. (Source 1 version)
light ortho 	Orthogonal light similar to the sunlight potion of light_environment.
env_cubemap 	No longer an internal entity, can now be toggled and moved. Cubemaps are now baked in Hammer along with lighting. (Source 1 version)
env cubemap box 	Parallax corrected cubemap reflection probe.
env light probe volume 	Diffuse lighting probe. Unlike in Source these can not be generated automatically by the compiler.
env combined light probe volume	Combines env_cubemap_box and env_light_probe_volume in one entity.
light importance volume 	Sets the high quality lighting area for the photon mapping lighting baker.
Non-functional
Class 	Notes
light irradvolume	Not available in the SteamVR Home renderer.
== Props ==
Functional
Class 	Notes
prop static 	Static world geometry prop. Can now optionally be further baked into world geometry for batched rendering.
prop dynamic 	Prop that can be animated and controlled with entity I/O. Also supports cloth physics.
prop dynamic override 	Limited use as models are no longer marked as static or physics only. Health can still be set, but breakable props are not fully functional.
prop physics 	Unlike prop destinations physics, this cannot be resized by the player.
prop physics multiplayer	
prop physics override 	Limited use as models are no longer marked as static or physics only. Health can still be set, but breakable props are not fully functional.
== Sound ==
Functional
Class 	Notes
snd event point 	Equivalent to ambient generic, point sound source that plays sound events.
snd soundscape 	New name for env soundscape. Entity for soundscapes.
snd soundscape proxy 	New name for env soundscape proxy.
snd soundscape triggerable	New name for env soundscape triggerable.
point soundevent 	Deprecated name for snd event point.
env soundscape 	Still works but the name is deprecated in favor for the more consistently named snd soundscape.
snd event param 	
snd event alignedbox 	
snd opvar set 	
snd opvar set aabb 	
snd opvar set obb 	
trigger snd sos opvar 	Mesh entity
snd opvar set point 	
Non-functional
Class 	Notes
ambient generic	Replaced with snd event point
== Mesh Functions ==
These are all mesh entities.
Functional
Class 	Notes
func button 	Usable button that can work either as a visible object or as in invisble volume tied to a prop.
func movelinear	Mesh that moves between two points. Can be used for elevators and doors.
func platrot 	Simple elevator that can move and rotate.
func rotating 	Rotating mesh.
func tracktrain	Mesh that moves along a path.
Partial
Class 	Notes
func physical button	Physics enabled mesh button that can be pushed in by the player. Only works when pushed with an equipped tool, since the players hands do not have collision.
func breakable 	Mesh entity that can take damage and break. No gib models available. Has many non-functional legacy functions.
func brush 	Mesh entity that can be moved and parented, and the solidity toggled. Has several non-functional legacy functions.
func door 	Linear door with binary open/closed states. Can be operated by I/O or player use. Has several non-functional legacy functions.
func door rotating 	Rotating door with binary open/closed states. Can be operated by I/O or player use. Has several non-functional legacy functions.
func illusionary 	Legacy non-solid mesh. Use the mesh properties to disable collision rather than this.
func physbox 	Physics enabled rigidbody that can be picked up by the player. Many features are broken. Meshes can be converted to props from Hammer, making this obsolete.
func rot button 	Rotating button with binary open/closed states. Missing many features the other buttons have.
func shatterglass 	Breakable glass/concrete surface. Missing hardcoded materials.
func tanktrain 	Mesh that moves along a path.
func wall 	Legacy entity. Use func_brush rather than this.
func wall toggle 	Legacy entity. Use func_brush rather than this.
Non-functional
Class 	Notes
func areaportal 	Not applicable for the Source 2 renderer.
func areaportalwindow	Not applicable for the Source 2 renderer.
func lod 	Non-functional, use the mesh properties instead.
func nav markup 	Nav meshes are not enabled in SteamVR Home.
func occluder 	Non-functional, use the mesh properties instead.
func reflective glass	Legacy entity relying on Source 1 shaders.
func traincontrols 	Broken.
func viscluster 	Not used by the visibility solver.
== Environmental effects ==
Functional
Class 	Notes
env cubemap fog 	MIP fog using a cubemap texture. The cubemap texture is sampled for the fog color, blending between the different MIP Maps depending on distance. This can be used to generate intricate fog effects.
env gradient fog 	Texture controlled fog effect documented in Fog Tutorial.
env sky 	2D skyboxes are controlled by this entity instead of being defined in the map properties. Can be toggled and rotated in-game.
info particle system	Particle systems still work.
info particle target	Target entity for particle control points.
skybox reference 	Allows another map to be used as a 3D skybox. Requires that the used map has the Map Type in Map Properties set to Skybox, and a sky camera entity to mark the location of the main map origin.
Partial
Class 	Notes
sky camera 	Culling and shadows do not work properly when used in the main map. Works properly when used in map referenced by skybox reference. Static level geometry can be extended beyond the grid now, making this entity less of a necessity.
env fog controller	Only affects the 2D skybox.
 
Non-functional
Class 	Notes
fog volume 	No observed effect.
env volumetric fog volume 	Non-functional in SteamVR Home.
env volumetric fog controller	Non-functional in SteamVR Home.
== Misc ==
Functional
Class 	Notes
point workplane 	Stores the current workplane in Hammer. The workplane can be recalled by using the workplane picker tool on the entity.
info player start	Aligns with the center of the playspace instead of the players actual position.
visibility hint 	Used to set the grid size for the visibility solver.
Partial
Class 	Notes
info world layer	Can be used to toggle sets of level geometry and entities at runtime. Not fully functional in SteamVR Home.
npc crow 	Only flies with the FlyPath input with a path_track parameter.
npc seagull 	Only flies with the FlyPath input with a path_track parameter.
npc pigeon 	Only flies with the FlyPath input with a path_track parameter.
Non-functional
Class 	Notes
infodecal 	No equivalent available.
info overlay 	Overlays are set directly in Hammer instead of using entities: Overlay Tutorial
info projecteddecal 	No equivalent available.
post processing volume	Post processing is not available in SteamVR Home.
Category:SteamVR
Category:SteamVR Home