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 |
---|---|
vr_teleport_marker | Destination marker for teleport locomotion. |
vr_teleport_area | Mesh entity for marking valid areas for teleport locomotion. |
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. |
Lighting
Functional
Class | Notes |
---|---|
light_spot | Now supports both real-time and baked lighting. |
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. |
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. |
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_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 SteamVR/Environments/Scripting/Flashlight_Tool_Tutorial to work properly. |
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 | Todo: Unknown if physics modes have any effect. All entities now have a toggle for client-side only.
|
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 | [Todo] |
snd_event_alignedbox | [Todo] |
snd_opvar_set | [Todo] |
snd_opvar_set_aabb | [Todo] |
snd_opvar_set_obb | [Todo] |
trigger_snd_sos_opvar | Mesh entity [Todo] |
snd_opvar_set_point | [Todo] |
Non-functional
Class | Notes |
---|---|
ambient_generic | Replaced with snd_event_point |
Environmental effects
Functional
Class | Notes |
---|---|
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. |
Partial
Class | Notes |
---|---|
sky_camera | Culling and shadows do not work properly in SteamVR Home. 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. |
func_nav_markup | Nav meshes are not enabled in SteamVR Home. |
func_viscluster | Not used by the visibility solver. |
post_processing_volume | Post processing is not available in SteamVR Home. |