SteamVR/Environments/Entity Guide: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
m (clean up)
Line 1: Line 1:
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.
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_entity | 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.
'''[[Point entity|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 entity|Mesh entities]]''' replace the Source [[Brush_entity | 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.
'''[[Mesh entity|Mesh entities]]''' replace the Source [[Brush entity|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 entity|Path entities]]''' are a type of entity recently added to the tools. They can be created with the currently hidden Path Tool (Shift + P).  
'''[[Path entity|Path entities]]''' are a type of entity recently added to the tools. They can be created with the currently hidden Path Tool (Shift + P).  
Line 13: Line 13:
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.
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 [[Dota_2_Workshop_Tools/Particles | particle systems]].
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 [[Dota 2 Workshop Tools/Particles|particle systems]].


{{note | This list is incomplete. }}
{{note | This list is incomplete. }}
Line 24: Line 24:
! Notes
! Notes
|-
|-
| [[prop_destinations_physics]]
| [[prop destinations physics]]
| A [[prop_physics]] that can be resized and recolored with VR hands in-game.  
| A [[prop physics]] that can be resized and recolored with VR hands in-game.  
|-
|-
| [[prop_destinations_tool]]
| [[prop destinations tool]]
| Physics prop with [[VScript]] bindings. Requires a [[SteamVR/Environments/Scripting/Flashlight_Tool_Tutorial | script attached]] to work properly.
| Physics prop with [[VScript]] bindings. Requires a [[SteamVR/Environments/Scripting/Flashlight Tool Tutorial|script attached]] to work properly.
|-
|-
| [[point_clientui_world_panel]]
| [[point clientui world panel]]
| Places a user-made [[Panorama]] panel in the world.
| Places a user-made [[Panorama]] panel in the world.
|-
|-
| [[point_clientui_steamvr_world_panel]]  
| [[point clientui steamvr world panel]]  
| Places one of the three pre-made [[SteamVR/Environments/QuickPanels | SteamVR Quick Panels]].
| Places one of the three pre-made [[SteamVR/Environments/QuickPanels|SteamVR Quick Panels]].
|-
|-
| [[vr_teleport_marker]]
| [[vr teleport marker]]
| Destination marker for teleport locomotion.
| Destination marker for teleport locomotion.
|-
|-
| [[vr_teleport_area]]
| [[vr teleport area]]
| Mesh entity for marking valid areas for teleport locomotion.
| Mesh entity for marking valid areas for teleport locomotion.
|}
|}
Line 51: Line 51:
! Notes  
! Notes  
|-
|-
| [[light_spot_(Source_2)|light_spot]]
| [[light spot (Source 2)|light_spot]]
| Now supports both real-time and baked lighting. ([[light_spot|Source 1 version]])
| Now supports both real-time and baked lighting. ([[light spot|Source 1 version]])
|-
|-
| [[light_omni]]
| [[light omni]]
| Equivalent of the Source [[light]] entity, supporting both real-time and baked lighting.
| Equivalent of the Source [[light]] entity, supporting both real-time and baked lighting.
|-
|-
| [[light_environment_(Source_2)|light_environment]]
| [[light environment (Source 2)|light_environment]]
| The direct sunlight portion can now be real-time with Cascaded Shadow Maps or baked. ([[light_environment|Source 1 version]])
| The direct sunlight portion can now be real-time with Cascaded Shadow Maps or baked. ([[light environment|Source 1 version]])
|-
|-
| [[light_ortho]]  
| [[light ortho]]  
| Orthogonal light similar to the sunlight potion of light_environment.
| Orthogonal light similar to the sunlight potion of light_environment.
|-
|-
| [[env_cubemap_(Source_2)|env_cubemap]]
| [[env cubemap (Source 2)|env_cubemap]]
| No longer an internal entity, can now be toggled and moved. Cubemaps are now baked in Hammer along with lighting. ([[env_cubemap|Source 1 version]])
| No longer an internal entity, can now be toggled and moved. Cubemaps are now baked in Hammer along with lighting. ([[env cubemap|Source 1 version]])
|-
|-
| [[env_cubemap_box]]
| [[env cubemap box]]
| Parallax corrected cubemap reflection probe.
| Parallax corrected cubemap reflection probe.
|-
|-
| [[env_light_probe_volume]]
| [[env light probe volume]]
| Diffuse lighting probe. Unlike in Source these can not be generated automatically by the compiler.
| Diffuse lighting probe. Unlike in Source these can not be generated automatically by the compiler.
|-
|-
| [[env_combined_light_probe_volume]]
| [[env combined light probe volume]]
| Combines env_cubemap_box and env_light_probe_volume in one entity.
| Combines env_cubemap_box and env_light_probe_volume in one entity.
|-
|-
| [[light_importance_volume]]
| [[light importance volume]]
| Sets the high quality lighting area for the photon mapping lighting baker.
| Sets the high quality lighting area for the photon mapping lighting baker.
|}
|}
Line 85: Line 85:
! Notes  
! Notes  
|-
|-
| [[light_irradvolume]]
| [[light irradvolume]]
| Not available in the SteamVR Home renderer.
| Not available in the SteamVR Home renderer.
|}
|}
Line 96: Line 96:
! Notes  
! Notes  
|-
|-
| [[prop_static]]
| [[prop static]]
| Static world geometry prop. Can now optionally be further baked into world geometry for batched rendering.
| Static world geometry prop. Can now optionally be further baked into world geometry for batched rendering.
|-
|-
| [[prop_dynamic]]  
| [[prop dynamic]]  
| Prop that can be animated and controlled with entity I/O. Also supports cloth physics.
| Prop that can be animated and controlled with entity I/O. Also supports cloth physics.
|-
|-
| [[prop_dynamic_override]]
| [[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.
| 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]]
| [[prop physics]]
| Unlike [[prop_destinations_physics]], this cannot be resized by the player.
| Unlike [[prop destinations physics]], this cannot be resized by the player.
|-
|-
| [[prop_physics_multiplayer]]
| [[prop physics multiplayer]]
| {{todo | Unknown if physics modes have any effect. All entities now have a toggle for client-side only.}}
| {{todo | Unknown if physics modes have any effect. All entities now have a toggle for client-side only.}}
|-
|-
| [[prop_physics_override]]
| [[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.
| 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.
|}
|}
Line 124: Line 124:
! Notes  
! Notes  
|-
|-
| [[snd_event_point]]
| [[snd event point]]
| Equivalent to [[ambient_generic]], point sound source that plays [[SteamVR/Environments/Adding_Sound/Soundevents|sound events]].
| Equivalent to [[ambient generic]], point sound source that plays [[SteamVR/Environments/Adding Sound/Soundevents|sound events]].
|-
|-
| [[snd_soundscape]]
| [[snd soundscape]]
| New name for [[env_soundscape]]. Entity for [[SteamVR/Environments/Adding_Sound/Soundscapes |soundscapes]].
| New name for [[env soundscape]]. Entity for [[SteamVR/Environments/Adding Sound/Soundscapes|soundscapes]].
|-
|-
| [[snd_soundscape_proxy]]
| [[snd soundscape proxy]]
| New name for [[env_soundscape_proxy]].  
| New name for [[env soundscape proxy]].  
|-
|-
| [[snd_soundscape_triggerable]]
| [[snd soundscape triggerable]]
| New name for [[env_soundscape_triggerable]].  
| New name for [[env soundscape triggerable]].  
|-
|-
| [[point_soundevent]]
| [[point soundevent]]
| Deprecated name for [[snd_event_point]].
| Deprecated name for [[snd event point]].
|-
|-
| [[env_soundscape]]
| [[env soundscape]]
| Still works but the name is deprecated in favor for the more consistently named [[snd_soundscape]].
| Still works but the name is deprecated in favor for the more consistently named [[snd soundscape]].
|-
|-
| [[snd_event_param]]  
| [[snd event param]]  
| {{todo}}
| {{todo}}
|-
|-
| [[snd_event_alignedbox]]
| [[snd event alignedbox]]
| {{todo}}
| {{todo}}
|-
|-
| [[snd_opvar_set]]
| [[snd opvar set]]
| {{todo}}
| {{todo}}
|-
|-
| [[snd_opvar_set_aabb]]
| [[snd opvar set aabb]]
| {{todo}}
| {{todo}}
|-
|-
| [[snd_opvar_set_obb]]
| [[snd opvar set obb]]
| {{todo}}
| {{todo}}
|-
|-
| [[trigger_snd_sos_opvar]]
| [[trigger snd sos opvar]]
| Mesh entity {{todo}}
| Mesh entity {{todo}}
|-
|-
| [[snd_opvar_set_point]]
| [[snd opvar set point]]
| {{todo}}
| {{todo}}
|}
|}
Line 169: Line 169:
! Notes  
! Notes  
|-
|-
| [[ambient_generic]]
| [[ambient generic]]
| Replaced with [[snd_event_point]]
| Replaced with [[snd event point]]
|}
|}


Line 182: Line 182:
! Notes  
! Notes  
|-
|-
| [[func_button]]
| [[func button]]
| Usable button that can work either as a visible object or as in invisble volume tied to a prop.
| Usable button that can work either as a visible object or as in invisble volume tied to a prop.
|-
|-
| [[func_movelinear]]
| [[func movelinear]]
| Mesh that moves between two points. Can be used for elevators and doors.
| Mesh that moves between two points. Can be used for elevators and doors.
|-
|-
| [[func_platrot]]
| [[func platrot]]
| Simple elevator that can move and rotate.
| Simple elevator that can move and rotate.
|-
|-
| [[func_rotating]]
| [[func rotating]]
| Rotating mesh.
| Rotating mesh.
|-
|-
| [[func_tracktrain]]
| [[func tracktrain]]
| Mesh that moves along a path.
| Mesh that moves along a path.
|}
|}
Line 204: Line 204:
! Notes  
! Notes  
|-
|-
| [[func_physical_button]]
| [[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.
| 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]]
| [[func breakable]]
| Mesh entity that can take damage and break. No gib models available. Has many non-functional legacy functions.
| Mesh entity that can take damage and break. No gib models available. Has many non-functional legacy functions.
|-
|-
| [[func_brush]]
| [[func brush]]
| Mesh entity that can be moved and parented, and the solidity toggled. Has several non-functional legacy functions.
| Mesh entity that can be moved and parented, and the solidity toggled. Has several non-functional legacy functions.
|-
|-
| [[func_door]]
| [[func door]]
| Linear door with binary open/closed states. Can be operated by I/O or player use. Has several non-functional legacy functions.
| 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]]
| [[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.
| Rotating door with binary open/closed states. Can be operated by I/O or player use. Has several non-functional legacy functions.
|-
|-
| [[func_illusionary]]
| [[func illusionary]]
| Legacy non-solid mesh. Use the mesh properties to disable collision rather than this.
| Legacy non-solid mesh. Use the mesh properties to disable collision rather than this.
|-
|-
| [[func_physbox]]
| [[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.
| 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]]
| [[func rot button]]
| Rotating button with binary open/closed states. Missing many features the other buttons have.
| Rotating button with binary open/closed states. Missing many features the other buttons have.
|-
|-
| [[func_shatterglass]]
| [[func shatterglass]]
| Breakable glass/concrete surface. Missing hardcoded materials.
| Breakable glass/concrete surface. Missing hardcoded materials.
|-
|-
| [[func_tanktrain]]
| [[func tanktrain]]
| Mesh that moves along a path. {{todo|Shooting likely not available, use func_tracktrain instead.}}
| Mesh that moves along a path. {{todo|Shooting likely not available, use func_tracktrain instead.}}
|-
|-
| [[func_wall]]
| [[func wall]]
| Legacy entity. Use func_brush rather than this.
| Legacy entity. Use func_brush rather than this.
|-
|-
| [[func_wall_toggle]]
| [[func wall toggle]]
| Legacy entity. Use func_brush rather than this.
| Legacy entity. Use func_brush rather than this.
|}
|}
Line 246: Line 246:
! Notes  
! Notes  
|-
|-
| [[func_areaportal]]
| [[func areaportal]]
| Not applicable for the Source 2 renderer.
| Not applicable for the Source 2 renderer.
|-
|-
| [[func_areaportalwindow]]
| [[func areaportalwindow]]
| Not applicable for the Source 2 renderer.
| Not applicable for the Source 2 renderer.
|-
|-
| [[func_lod]]
| [[func lod]]
| Non-functional, use the mesh properties instead.
| Non-functional, use the mesh properties instead.
|-
|-
| [[func_nav_markup]]
| [[func nav markup]]
| Nav meshes are not enabled in SteamVR Home.
| Nav meshes are not enabled in SteamVR Home.
|-
|-
| [[func_occluder]]
| [[func occluder]]
| Non-functional, use the mesh properties instead.
| Non-functional, use the mesh properties instead.
|-
|-
| [[func_reflective_glass]]
| [[func reflective glass]]
| Legacy entity relying on Source 1 shaders.
| Legacy entity relying on Source 1 shaders.
|-
|-
| [[func_traincontrols]]
| [[func traincontrols]]
| Broken.
| Broken.
|-
|-
| [[func_viscluster]]
| [[func viscluster]]
| Not used by the visibility solver.
| Not used by the visibility solver.
|}
|}
Line 280: Line 280:
! Notes
! Notes
|-
|-
| [[env_cubemap_fog]]
| [[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.
| 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]]
| [[env gradient fog]]
| Texture controlled fog effect documented in [[SteamVR/Environments/Fog Tutorial|Fog Tutorial]].
| Texture controlled fog effect documented in [[SteamVR/Environments/Fog Tutorial|Fog Tutorial]].
|-
|-
| [[env_sky]]
| [[env sky]]
| 2D skyboxes are controlled by this entity instead of being defined in the map properties. Can be toggled and rotated in-game.
| 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]]
| [[info particle system]]
| [[Dota_2_Workshop_Tools/Particles | Particle systems]] still work.
| [[Dota 2 Workshop Tools/Particles|Particle systems]] still work.
|-
|-
| [[info_particle_target]]
| [[info particle target]]
| Target entity for particle control points.  
| Target entity for particle control points.  
|-
|-
| [[skybox_reference]]
| [[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.
| 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.
|}
|}


Line 304: Line 304:
! Notes  
! Notes  
|-
|-
| [[sky_camera]]
| [[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.
| 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]]
| [[env fog controller]]
| Only affects the 2D skybox.
| Only affects the 2D skybox.
|}
|}
Line 316: Line 316:
! Notes  
! Notes  
|-
|-
| [[fog_volume]]
| [[fog volume]]
| No observed effect.
| No observed effect.
|-
|-
| [[env_volumetric_fog_volume]]
| [[env volumetric fog volume]]
| Non-functional in SteamVR Home.
| Non-functional in SteamVR Home.
|-
|-
| [[env_volumetric_fog_controller]]
| [[env volumetric fog controller]]
| Non-functional in SteamVR Home.
| Non-functional in SteamVR Home.
|}
|}
Line 333: Line 333:
! Notes  
! Notes  
|-
|-
| [[point_workplane]]
| [[point workplane]]
| Stores the current workplane in Hammer. The workplane can be recalled by using the workplane picker tool on the entity.
| Stores the current workplane in Hammer. The workplane can be recalled by using the workplane picker tool on the entity.
|-
|-
| [[info_player_start]]
| [[info player start]]
| Aligns with the center of the playspace instead of the players actual position.
| Aligns with the center of the playspace instead of the players actual position.
|-
|-
| [[visibility_hint]]
| [[visibility hint]]
| Used to set the grid size for the visibility solver.
| Used to set the grid size for the visibility solver.
|}
|}
Line 349: Line 349:
! Notes  
! Notes  
|-
|-
| [[info_world_layer]]
| [[info world layer]]
| Can be used to toggle sets of level geometry and entities at runtime. Not fully functional in SteamVR Home.
| Can be used to toggle sets of level geometry and entities at runtime. Not fully functional in SteamVR Home.
|-
|-
| [[npc_crow]]
| [[npc crow]]
| Only flies with the FlyPath input with a path_track parameter.
| Only flies with the FlyPath input with a path_track parameter.
|-
|-
| [[npc_seagull]]
| [[npc seagull]]
| Only flies with the FlyPath input with a path_track parameter.
| Only flies with the FlyPath input with a path_track parameter.
|-
|-
| [[npc_pigeon]]
| [[npc pigeon]]
| Only flies with the FlyPath input with a path_track parameter.
| Only flies with the FlyPath input with a path_track parameter.
|}
|}
Line 370: Line 370:
| No equivalent available.
| No equivalent available.
|-
|-
| [[info_overlay]]
| [[info overlay]]
| Overlays are set directly in Hammer instead of using entities: [[SteamVR/Environments/Overlay Tutorial | Overlay Tutorial]]
| Overlays are set directly in Hammer instead of using entities: [[SteamVR/Environments/Overlay Tutorial|Overlay Tutorial]]
|-
|-
| [[info_projecteddecal]]
| [[info projecteddecal]]
| No equivalent available.
| No equivalent available.
|-
|-
| [[post_processing_volume]]
| [[post processing volume]]
| Post processing is not available in SteamVR Home.
| Post processing is not available in SteamVR Home.
|}
|}


[[Category: SteamVR]]
[[Category:SteamVR]]
[[Category: SteamVR Home]]
[[Category:SteamVR Home]]

Revision as of 02:19, 6 January 2024

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).

Todo:  Path entities may not be fully functional in SteamVR Home. Document which path types work.


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.

Note.pngNote: This list is incomplete.

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
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


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.
Todo: Shooting likely not available, use func_tracktrain instead.
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.