SteamVR/Environments/Entity Guide

From Valve Developer Community
Jump to: navigation, search

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

Blank image.pngTodo: 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
Blank image.pngTodo: 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 Blank image.pngTodo:

snd event alignedbox Blank image.pngTodo:

snd opvar set Blank image.pngTodo:

snd opvar set aabb Blank image.pngTodo:

snd opvar set obb Blank image.pngTodo:

trigger snd sos opvar Mesh entity Blank image.pngTodo:

snd opvar set point Blank image.pngTodo:

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.
Blank image.pngTodo: 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.