Color Represents a color using 4 floats (rgba), with 0-1 range.
Color.Rgba16
Color32 A 32bit color, commonly used by things like vertex buffers. The functionality on this is purposely left minimal so we're encouraged to use the regular Color struct.
ColorHsv A color in Hue-Saturation-Value/Brightness format.
Angles Euler angles. Unlike a <see cref="T:Rotation">Rotation</see>, Euler angles can represent multiple revolutions (rotations) around an axis, but suffer from issues like gimbal lock and lack of a defined "up" vector. Use <see cref="T:Rotation">Rotation</see> for most cases.
BBox An Axis Aligned Bounding Box.
Capsule A capsule object, defined by 2 points and a radius. A capsule is a cylinder with round ends (inset half spheres on each end).
Line Represents a line in 3D space.
Matrix Represents a 4x4 matrix.
RangedFloat A float between two values, which can be randomized or fixed.
Ray A struct describing an origin and direction
Rotation Represents a Quaternion rotation. Can be interpreted as a direction unit vector (x,y,z) + rotation around the direction vector (w) which represents the up direction. Unlike Angles, this cannot store multiple revolutions around an axis.
Transform A struct containing a position, rotation and scale. This is commonly used in engine to describe entity position, bone position and scene object position.
Vector2 A 2-dimensional vector. Typically represents a position or size in 2D space.
Vector2Int
Vector3 A point in 3D space.
Vector3.SmoothDamped Everything you need to smooth damp a Vector3. Just call Update every frame.
Vector3.SpringDamped Everything you need to create a springy Vector3
Vector3Int
Vector4 A 4-dimensional vector/point.
Sandbox.WrappedMethod Provides data about a wrapped method in a Sandbox.CodeGeneratorAttribute callback.
Sandbox.WrappedMethod<T> Provides data about a wrapped method in a Sandbox.CodeGeneratorAttribute callback.
Sandbox.WrappedPropertySet<T> Provides data about a wrapped property setter in a Sandbox.CodeGeneratorAttribute callback.
Sandbox.WrappedPropertyGet<T> Provides data about a wrapped property getter in a Sandbox.CodeGeneratorAttribute callback.
Sandbox.ConCmdAttribute.AutoCompleteResult
Sandbox.LogEvent
Sandbox.Curve Describes a curve, which can have multiple key frames.
Sandbox.Curve.Frame Keyframes times and values should range between 0 and 1
Sandbox.CurveRange Two curves
Sandbox.Frustum Represents a frustum.
Sandbox.Gradient Describes a gradient between multiple colors
Sandbox.Gradient.ColorFrame Keyframes times and values should range between 0 and 1
Sandbox.Gradient.AlphaFrame Keyframes times and values should range between 0 and 1
Sandbox.Plane Represents a plane.
Sandbox.Rect Represents a rectangle.
Sandbox.RectInt Represents a rectangle but with whole numbers
Sandbox.Sphere Represents a sphere.
Sandbox.Spline.Point Point that defines part of the spline. Two consecutive points define a segment of the spline. The Sandbox.Spline.Point.Position, Sandbox.Spline.Point.In/Sandbox.Spline.Point.Out Handles and <see cref="F:Sandbox.Spline.Point.Mode"></see> / properties are used to define the shape of the spline. <code> P1 (Position) P1 (In) ▼ P1 (Out) o──────═══X═══──────o ───/ \─── ──/ \── -/ \- / \ | | P0 X X P2 </code>
Sandbox.Spline.Sample Information about the spline at a specific distance.
Sandbox.Triangle
Sandbox.SerializedProperty.AsAccessor
Sandbox.RealTimeSince A convenience struct to easily measure time since an event last happened, based on Sandbox.RealTime.GlobalNow.<br /><br /> Typical usage would see you assigning 0 to a variable of this type to reset the timer. Then the struct would return time since the last reset. i.e.: <code> RealTimeSince lastUsed = 0; if ( lastUsed > 10 ) { /*Do something*/ } </code>
Sandbox.RealTimeUntil A convenience struct to easily manage a time countdown, based on Sandbox.RealTime.GlobalNow.<br /><br /> Typical usage would see you assigning to a variable of this type a necessary amount of seconds. Then the struct would return the time countdown, or can be used as a bool i.e.: <code> RealTimeUntil nextAttack = 10; if ( nextAttack ) { /*Do something*/ } </code>
Sandbox.ByteStream A result of SpeedTest.MemoryAlloc - to make it easy to use this instead of AllocHGlobal
Sandbox.IByteParsable.ByteParseOptions
Sandbox.SteamId Represents a SteamId, in the hope to avoid the "should it be a long or ulong" debate.
Sandbox.StringToken Strings are commonly converted to tokens in engine, to save space and speed up things like comparisons. We wrap this functionality up in the StringToken struct, because we can apply a bunch of compile time optimizations to speed up the conversion.
Sandbox.UI.Length A variable unit based length. ie, could be a percentage or a pixel length. This is commonly used to express the size of things in UI space, usually coming from style sheets.
Sandbox.UI.Margin Represents a <see cref="T:Sandbox.Rect">Rect</see> where each side is the thickness of an edge/padding/margin/border, rather than positions.
Sandbox.UI.IStyleBlock.StyleProperty
Sandbox.UI.RenderState Describes panel's position and size for rendering operations.
Sandbox.UI.PanelTransform
Sandbox.UI.PanelTransform.Entry
Sandbox.UI.Shadow Shadow style settings
Sandbox.Utility.DataProgress For providing a callback to describe the progress of doing something with some kind of block of data
Sandbox.Utility.DisposeAction Creates an IDisposable that will simply run an action when disposed
Sandbox.Diagnostics.FastTimer Like stopwatch, but more lightweight and straight to the point. Use FastTimer.StartNew()
Microsoft.AspNetCore.Components.EventCallback
Microsoft.AspNetCore.Components.EventCallback<TValue>
Microsoft.AspNetCore.Components.Rendering.RenderHandle
Sandbox.Gizmo.Inputs The input state, allows interaction with Gizmos
Sandbox.Clothing.IconSetup
Sandbox.WorkshopItemMetaData Some metadata we'll pack into a workshop submission when publishing.
Sandbox.Friend
Sandbox.MapLoader.ObjectEntry Holds key values for the map object
Sandbox.PartyRoom.Entry
Sandbox.CurrencyValue Describes money, in a certain currency
Sandbox.StreamChannel
Sandbox.StreamChatMessage
Sandbox.StreamClip
Sandbox.StreamPoll
Sandbox.StreamPoll.Choice
Sandbox.StreamPrediction
Sandbox.StreamPrediction.Outcome
Sandbox.StreamUser
Sandbox.StreamUserFollow
Sandbox.AnimParam<T> Anim param values contain any value for a limited set of types
Sandbox.Material.FlagsAccessor
Sandbox.VertexAttribute
Sandbox.ModelBuilder.Bone A bone definition for use with Sandbox.ModelBuilder.
Sandbox.ParticleSnapshot.Vertex A vertex to update a particle snapshot with.
Sandbox.PrefabVariable.PrefabVariableTarget Targets a property in a component or gameobject.
Sandbox.SimpleVertex
Sandbox.Surface.ImpactEffectDataobsolete
Sandbox.Surface.ScrapeEffectDataobsolete
Sandbox.Surface.OldSoundDataobsolete
Sandbox.Surface.SurfacePrefabCollection Holds a dictionary of common prefabs associated with a surface
Sandbox.Surface.SurfaceSoundCollection Holds a dictionary of common sounds associated with a surface. This allows you to pick and choose an appropriate sound.
Sandbox.Texture2DBuilder
Sandbox.Texture3DBuilder
Sandbox.TextureArrayBuilder
Sandbox.TextureBuilder
Sandbox.TextureCubeBuilder
Sandbox.Vertex
Sandbox.CharacterControllerHelper
Sandbox.Component.IPressable.Event Describes who pressed it.
Sandbox.Collision
Sandbox.CollisionStop
Sandbox.CollisionSource
Sandbox.NavMeshAgent.LinkTraversalData Holds information about the current link the agent is traversing.
Sandbox.ParticleControlPointobsolete
Sandbox.ParticleFloat
Sandbox.ParticleVector3
Sandbox.ParticleGradient
Sandbox.SkinnedModelRenderer.BoneVelocity
Sandbox.GameObject.DeserializeOptions
Sandbox.CloneConfig The low level input of a GameObject.Clone
Sandbox.SceneTrace
Sandbox.SceneTraceResult
Sandbox.ManifestSchema.File
Sandbox.Package.PackageUsageStats Statistics for user interactions with this package
Sandbox.Package.PackageUsageStats.Group
Sandbox.Package.ReviewStats
Sandbox.Package.PackageInteraction
Sandbox.Package.LoadingScreenSetup
Sandbox.Package.TagEntry Represents a tag along with the count of items it contains
Sandbox.Package.SortOrder Describes a sort order which can be used with the package/find api
Sandbox.Package.PackageProperty A binary category used to divide into two categories. For example, Work In Progress.
Sandbox.InputMotionData Represents the current state of a device's motion sensor(s).
Sandbox.GlyphStyle
Sandbox.Connection.Filter
Sandbox.PhysicsLock
Sandbox.PhysicsTraceBuilder
Sandbox.PhysicsTraceResult
Sandbox.PhysicsContact
Sandbox.PhysicsContact.Target
Sandbox.PhysicsIntersection
Sandbox.PhysicsIntersectionEnd
Sandbox.CursorSettings.Cursor
Sandbox.GpuBuffer.IndirectDrawArguments
Sandbox.GpuBuffer.IndirectDrawIndexedArguments
Sandbox.GpuBuffer.IndirectDispatchArguments
Sandbox.VideoWriter.Config
Sandbox.TextRendering.Scope Defines a scope of text, all using the same style.
Sandbox.TextRendering.Outline
Sandbox.TextRendering.Shadow
Sandbox.SceneModel.FootstepEvent
Sandbox.SceneModel.GenericEvent
Sandbox.SceneModel.SoundEvent
Sandbox.SceneModel.AnimTagEvent
Sandbox.SceneSkyBox.FogParamInfo
Sandbox.SceneSkyBox.SkyLightInfo
Sandbox.TrailTextureConfig Defines how a trail is going to be textured. Used by TrailRenderer.
Sandbox.TaskSource Provides a way for us to cancel tasks after common async shit is executed.
Sandbox.FloatSpan Allows easy SIMD/AVX2 fast math on a span of floats
Sandbox.TimeSince A convenience struct to easily measure time since an event last happened, based on Sandbox.Time.Now.<br /><br /> Typical usage would see you assigning 0 to a variable of this type to reset the timer. Then the struct would return time since the last reset. i.e.: <code> TimeSince lastUsed = 0; if ( lastUsed > 10 ) { /*Do something*/ } </code>
Sandbox.TimeUntil A convenience struct to easily manage a time countdown, based on Sandbox.Time.Now.<br /><br /> Typical usage would see you assigning to a variable of this type a necessary amount of seconds. Then the struct would return the time countdown, or can be used as a bool i.e.: <code> TimeUntil nextAttack = 10; if ( nextAttack ) { /*Do something*/ } </code>
Sandbox.UI.LayoutCascade
Sandbox.UI.TransitionDesc Describes transition of a single CSS property, a.k.a. the values of a <c>transition</c> CSS property. <para>Utility to create a transition by comparing the panel style before and after the scope.</para>
Sandbox.UI.Styles.GradientColorOffset
Sandbox.UI.Styles.GradientGenerator
Sandbox.UI.StyleSheetCollection A collection of Sandbox.UI.StyleSheet objects applied directly to a panel. See Sandbox.UI.Panel.StyleSheet.
Sandbox.UI.Transitions.Entry
Sandbox.UI.Construct.PanelCreator Used for Sandbox.UI.Panel.Add for quick panel creation with certain settings. Other panels types are added via extension methods.
Sandbox.Tasks.SyncTask
Sandbox.Physics.PhysicsPoint Used to describe a point on a physics body. This is used for things like joints where you want to pass in just a body, or sometimes you want to pass in a body with a specific location and rotation to attach to.
Sandbox.Physics.PhysicsSpring Spring related settings for joints such as Sandbox.Physics.FixedJoint.
Sandbox.Physics.CollisionRules.Pair A pair of case- and order-insensitive tags, used as a key to look up a Sandbox.Physics.CollisionRules.Result.
Sandbox.Network.HostStats
Sandbox.Network.NetworkFile
Sandbox.Network.MountedVPKsResponse
Sandbox.Network.InitialSnapshotResponse
Sandbox.Network.SnapshotMsg
Sandbox.Network.SnapshotMsg.GameObjectSystemData
Sandbox.Network.ReconnectMsg Sent to the server to tell clients to reconnect. This is sent when the server is changing games, or maps, and wants the current players to follow them to the new game, or map. We send the Game and Map to the best of our knowledge, so the client can maybe preload them, while we are.
Sandbox.Network.ConnectionStats
Sandbox.Network.LobbyInformation
Sandbox.Network.LobbyConfig
Sandbox.Speech.SpeechRecognitionResult A result from speech recognition.
Sandbox.Speech.Synthesizer.InstalledVoice
Sandbox.Audio.AudioMeter.Frame
Sandbox.Audio.DspPresetHandle A handle to a DspPreset
Sandbox.Audio.MixerHandle A handle to a Mixer
Sandbox.Audio.AudioChannel Represents an audio channel, between 0 and 7. This is used to index into buffers. This is used rather than an int to avoid unfortuate bugs.
Sandbox.Audio.PerChannel<T> Stores a variable per channel
Sandbox.Volumes.SceneVolume A generic way to represent volumes in a scene. If we all end up using this instead of defining our own version in everything, we can improve this and improve everything at the same time.
Sandbox.Resources.EmbeddedResource A JSON definition of an embedded resource. This is a resource that can be either standalone (in a .vtex file) or embedded in a GameResource's Json data. When it's detected in a GameResource we will create the named compiler and create the resource. When compiling the GameResource this can optionally create a compiled version of the resource on disk. When we compile a regular resource that contains this $compiler structure, it operates like any other compile, except it's totally managed by c# instead of resourcecompiler.
Sandbox.Resources.ResourceGenerator.Options
Sandbox.VR.AnalogInput Represents a VR analog input action (e.g. trigger)
Sandbox.VR.AnalogInput2D Represents a two-dimensional VR analog input action (e.g. joysticks)
Sandbox.VR.DigitalInput Represents a VR digital input action (e.g. X button)
Sandbox.VR.VRHandJointData
Sandbox.Rendering.HudPainter 2D Drawing functions for a Sandbox.Rendering.CommandList. <para><c>HudPainter</c> provides a set of methods for drawing shapes, textures, and text onto a command list, typically for HUD or UI rendering. </para>
Sandbox.Rendering.RenderTargetHandle A render target handle used with CommandLists
Sandbox.Rendering.RenderTargetHandle.ColorTextureRef
Sandbox.Rendering.RenderTargetHandle.ColorIndexRef
Sandbox.Rendering.RenderTargetHandle.SizeHandle
Sandbox.Rendering.ViewSetup When manually rendering a camera this will let you override specific elements of that render. This means you can use most of the camera's properties, but override some without disturbing the camera itself.
Sandbox.Rendering.GradientFogSetup Setup for defining gradient fog in a view
Sandbox.Rendering.ReflectionSetup Allows special setup for reflections, such as offsetting the reflection plane
Sandbox.Rendering.RefractionSetup Allows special setup for refraction, such as offsetting the clip plane
Sandbox.Rendering.RendererSetup When manually rendering a Renderer this will let you override specific elements of that render. This means you can use most of the Renderer's properties, but override some without disturbing the Renderer itself.
Sandbox.Services.Leaderboards.Entry
Sandbox.Services.Leaderboards.Board2.Entry
Sandbox.Services.ServerList.Entry This is a cleaned up version of gameserveritem_t.
Sandbox.Services.Stats.GlobalStat
Sandbox.Services.Stats.PlayerStat
Sandbox.Mounting.MountInfo Information about a single mount
Sandbox.DataModel.GameSetting A Sandbox.ConVarAttribute that has been marked with Sandbox.ConVarFlags.GameSetting This is stored as project metadata so we can set up a game without loading it.
Sandbox.DataModel.GameSetting.Option
Sandbox.Menu.LoadingProgress
Sandbox.ModelEditor.Nodes.ModelBreakPiece Defines a single breakable prop gib.
Sandbox.Modals.FriendsListModalOptions
Sandbox.Modals.ServerListConfig
Sandbox.Modals.CreateGameOptions Passed to IModalSystem.CreateGame
Sandbox.Modals.CreateGameResults
Sandbox.Diagnostics.Allocations.Entry
Sandbox.Diagnostics.FrameStats Stats returned from the engine each frame describing what was rendered, and how much of it.
Sandbox.Diagnostics.Performance.ScopeSection This exists to allow the creation of performance scopes without
Sandbox.Diagnostics.PerformanceStats.Block
Sandbox.Diagnostics.PerformanceStats.PeriodMetric
Sandbox.Diagnostics.PerformanceStats.Timings.Frame
Sandbox.Engine.BindCollection.BindEntry
Sandbox.Engine.Utility.RayTrace.MeshTraceRequest
Sandbox.Engine.Utility.RayTrace.MeshTraceRequest.Result
Sandbox.Engine.Utility.RayTrace.MeshTraceRequest.Result.VertexDetail
Sandbox.Engine.Shaders.ShaderCompileOptions Options used when compiling a shader
Sandbox.Engine.Settings.RenderSettings.VideoDisplayMode
Sandbox.Bind.Builder A helper to create binds between two properties (or whatever you want) <para> Example usage: set "BoolValue" from value of "StringValue" <code>BindSystem.Build.Set( this, "BoolValue" ).From( this, "StringValue" );</code></para>
Sandbox.DisplayInfo Collects all the relevant info (such as description, name, icon, etc) from attributes and other sources about a type or type member.
Sandbox.EnumDescription.Entry
Editor.Asset.AssetTags Represents a collection of tags for an asset. This is only necessary so we can save tags as soon as they are added.
Editor.AssetSystem.AssetPickerParameters Passed parameters for the AssetPicker going from engine to addon code
Editor.AssetTagSystem.TagDefinition
Editor.TextureResidencyInfo Provides information about currently resident textures on the GPU
Editor.TextureResidencyInfo.Desc
Editor.HeadBarEvent
Editor.TraceResult
Editor.Trace Trace for tools, not to be confused with Sandbox.SceneTrace
Editor.MouseEvent Information about a Editor.Widgets mouse event.
Editor.KeyEvent Information about a Editor.Widgets keyboard event.
Editor.ContextMenuEvent Information about a Editor.Widgets context menu event.
Editor.GraphicsMouseEvent Information about a Editor.GraphicsItems mouse click event.
Editor.GraphicsHoverEvent Information about a Editor.GraphicsItems mouse hover event.
Editor.WheelEvent Information about a mouse wheel scroll event of a Editor.Widget.
Editor.Menu.PathElement
Editor.EditorUtility.AssemblyMetadata.Attribute
Editor.StandaloneExporter.ExportProgress
Editor.BaseItemWidget.ItemDragEvent
Sandbox.CompileGroup.Results
Sandbox.Compiler.Configuration
Sandbox.UI.TextEntry.AutocompleteEntry
Editor.CreateAsset.Entry
Editor.AssetContextMenu Information about selected asset(s) when opening a context menu in Editor.AssetList.
Editor.FolderContextMenu Information about selected directory/folder when opening a context menu in Editor.AssetList or in Editor.AssetLocations.
Editor.AssetPicker.PickerOptions
Editor.DropdownControlWidget<T>.Entry
Editor.TagPicker.Option
Editor.ShaderGraph.GraphCompiler.Error
Editor.ShaderGraph.NodeResult
Editor.ShaderGraph.NodeInput
Editor.ShaderGraph.ParameterUI
Editor.ShaderGraph.Sampler
Editor.ShaderGraph.UIGroup
Editor.ShaderGraph.TextureInput
Editor.TerrainEditor.TerrainPaintParameters A collection of parameters we'll use for tools
Editor.NodeEditor.ConnectionHandleConfig
Editor.NodeEditor.FilterPart
Editor.NodeEditor.NodeQuery
Editor.NodeEditor.HandleConfig
Editor.MeshEditor.MeshEdge References a edge handle and the mesh component it belongs to.
Editor.MeshEditor.BevelEdges
Editor.MeshEditor.MeshFace References a face handle and the mesh component it belongs to.
Editor.MeshEditor.MeshVertex References a vertex handle and the mesh component it belongs to.
Editor.SoundEditor.PhonemeFrame
Editor.SoundEditor.PhonemeItem.PhonemeDesc
Editor.GraphicsItems.ChartBackground.AxisConfig