Sandbox Logo

  • AliasAttribute Alternate class name(s) for this type to the one specified via LibraryAttribute. This info can then be retrieved via DisplayInfo library.
  • Angles Euler angles. Unlike a <see cref="T:Rotation">Rotation</see>, Euler angles can represent multiple revolutions (rotations) around an axis, but su…
  • 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).
  • CategoryAttribute Sets the category or the group of a type or a type member. This info can then be retrieved via DisplayInfo library.
  • ClassNameAttribute Set the class name for this type or member. This info can then be retrieved via DisplayInfo library.
  • Color Represents a color using 4 floats (rgba), with 0-1 range.
  • 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 th…
  • ColorHsv A color in Hue-Saturation-Value/Brightness format.
  • DefaultValueAttribute Sometimes with CodeGen we want reflection to be able to get the original initial value of a property (which is set with {get;set;} = initialvalu…
  • DescriptionAttribute Sets the description of a type or a type member. This attribute is usually applied automatically by codegen based on the XML comment of the type o…
  • EditorAttribute Tell the tools or gameui property editor which editor we should be using for this property or type.
  • EditorModelAttribute Declare a model to represent this entity in editor. This is a common attribute so it's leaked out of the Editor namespace.
  • GroupAttribute Sets the category or the group of a type or a type member. This info can then be retrieved via DisplayInfo library.
    • ToggleGroupAttribute Very much like a GroupAttribute, except we're indicating that the group can be toggle on and off using the named property
  • IconAttribute Sets the icon of a type or a type member. Colors are expected in HTML formats, like "rgb(255,255,255)" or "#FFFFFF". This info can then be retri…
  • Line Represents a line in 3D space.
  • Matrix Represents a 4x4 matrix.
  • MinMaxAttribute Mark property as having a minimum and maximum value.
  • OrderAttribute Visual order of this member for UI purposes. This info can then be retrieved via DisplayInfo library.
  • PlaceholderAttribute Add placeholder text, typically displayed for string properties when the text entry field is empty. This info can then be retrieved via DisplayI…
  • 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 represent…
  • TagAttribute Adds a single or multiple tags for this type or member. Tags can then be retrieved via DisplayInfo library.
  • TitleAttribute Sets the title or a "nice name" of a type or a type member. This info can then be retrieved via DisplayInfo library.
  • Transform A struct containing a position, rotation and scale. This is commonly used in engine to describe entity position, bone position and scene object …
  • Vector2 A 2-dimensional vector. Typically represents a position or size in 2D space.
  • Vector2Int
  • Vector3 A point in 3D space.
  • Vector3Int
  • Vector4 A 4-dimensional vector/point.

Editor

Editor.Assets

Editor.Audio

Editor.CodeEditors

Editor.Internal

Editor.MapDoc

  • MapDocument Represents an open map document. A document has a tree of Editor.MapDoc.MapNode that represent the world.
  • MapNode A common class used for all objects in the world object tree.
    • MapEntity MapEntity in Hammer is a type of Editor.MapDoc.MapNode that has a set of key/value pairs. The keyvalues represent the authoritative state of the…
    • MapGroup A map node which has the sole purpose of grouping other map nodes together.
    • MapInstance A map node which allows a target group and its children to be placed with a new position and orientation in the world without creating a new cop…
    • MapMesh MapMesh is the Hammer map node which represents editable mesh geometry in a Hammer map. This is the map node that is created when using the hamm…
      • MapStaticOverlay An overlay which is rendered using a mesh generated by projecting faces onto surrounding geometry. Baked during map compile so that there is no …
    • MapPath Path containing a bunch of Editor.MapDoc.MapPathNode
    • MapPathNode Nodes along a Editor.MapDoc.MapPath
    • MapWorld MapWorld is the root node of a Editor.MapDoc.MapDocument, however it can have multiple sub Editor.MapDoc.MapWorld of prefabs.

Editor.MapEditor

  • CanDropAttribute
  • Hammer
  • HammerSession This is our CQHammerMainWnd
  • History Undo/redo history for the current active mapdoc
  • IBlockTool Interface for the addon layer to implement, this is called from native Hammer.
  • IEntityTool Interface for the addon layer to implement, this is called from native Hammer.
  • IMapViewDropTarget Provides an interface for dragging and dropping Editor.Asset or Sandbox.Package on a map view. Use with Editor.MapEditor.CanDropAttribute to reg…
  • IPathTool Interface for the addon layer to implement, this is called from native Hammer.
  • IToolFactory
  • MapView MapViews are owned by the MapViewMgr. They display the MapViewMgr's mapdoc. The MapView provides either a 2d or 3d view of the provided map d…
  • PathToolSettings
  • Selection Current selection set for the active map
  • SelectMode

Editor.MeshEditor

Editor.ModelEditor

Editor.NodeEditor

Editor.ProjectSettingPages

Editor.RectEditor

Editor.ShaderGraph

Editor.SoundEditor

Editor.TerrainEditor

Editor.TextureEditor

Editor.Widgets

Facepunch.ActionGraphs

Facepunch.ActionGraphs.Nodes

  • ControlFlow Nodes providing basic control flow structures like branches and loops.
  • Math Nodes relating to numbers and geometry.

HalfEdgeMesh

Qt

Sandbox

Sandbox.ActionGraphs

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.
  • AudioMeter Allows the capture and monitor of an audio source
  • AudioProcessor Takes a bunch of samples and processes them. It's common for these to be chained together. It's also common for the processor to store state bet…
  • DspPresetHandle A handle to a DspPreset
  • MixBuffer Contains 512 samples of audio data, this is used when mixing a single channel
  • Mixer Takes a bunch of sound, changes its volumes, mixes it together, outputs it
  • MixerHandle A handle to a Mixer
  • MultiChannelBuffer Holds up to 8 mix buffers, which usually represent output speakers.
  • PerChannel<T> Stores a variable per channel

Sandbox.Bind

  • BindSystem Data bind system, bind properties to each other.
  • Builder A helper to create binds between two properties (or whatever you want) <para> Example usage: set "BoolValue" from value of "StringValue" <co…
  • Link Joins two proxies together, so one can be updated from the other (or both from each other)
  • Proxy Gets and Sets a value from somewhere.

Sandbox.DataModel

Sandbox.Diagnostics

Sandbox.Engine

Sandbox.Engine.Settings

Sandbox.Engine.Utility.RayTrace

Sandbox.Helpers

  • UndoSystem A system that aims to wrap the main reusable functionality of an undo system

Sandbox.Html

Sandbox.Internal

Sandbox.Localization

  • LanguageInformation
  • Languages A list of supported languages and metadata surrounding them
  • Phrase A translated string. ie "Hello World". It might also have variables, ie "Hello {PlayerName}". Todo support for conditionals and plurals
  • PhraseCollection Holds a bunch of localized phrases

Sandbox.Menu

Sandbox.Modals

Sandbox.ModelEditor.Nodes

Sandbox.Navigation

  • NavMesh Navigation Mesh - allowing AI to navigate a world

Sandbox.Network

Sandbox.Physics

  • PhysicsJoint A physics constraint.
    • BallSocketJoint A ballsocket constraint.
    • FixedJoint A generic "rope" type constraint.
    • HingeJoint A hinge-like constraint.
    • PulleyJoint A pulley constraint. Consists of 2 ropes which share same length, and the ratio changes via physics interactions. Typical setup looks like th…
    • SliderJoint A slider constraint, basically allows movement only on the arbitrary axis between the 2 constrained objects on creation.
    • SpringJoint A rope-like constraint that is has springy/bouncy.
  • 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 …
  • PhysicsSpring Spring related settings for joints such as Sandbox.Physics.FixedJoint.

Sandbox.Razor

  • RenderFragment Represents a segment of UI content, implemented as a delegate that writes the content to a Sandbox.Razor.RenderTreeBuilder.
  • RenderFragment<TValue> Represents a segment of UI content for an object of type <typeparamref name="TValue" />, implemented as a function that returns a Sandbox.Razor.…
  • RenderTreeBuilder This is a tree renderer for panels. If we ever use razor on other ui we'll want to make a copy of this class and do the specific things to that.…
  • RouteAttribute

Sandbox.Services

  • Auth
  • BenchmarkSystem Allows access to stats for the current game. Stats are defined by the game's author and can be used to track anything from player actions to per…
  • Leaderboards
  • Messaging
  • ServerList
  • Stats Allows access to stats for the current game. Stats are defined by the game's author and can be used to track anything from player actions to per…

Sandbox.Speech

Sandbox.Tasks

Sandbox.UI

  • Align Possible values for <c>align-items</c> CSS property.
  • BackgroundRepeat Possible values for <c>background-repeat</c> CSS property.
  • BaseStyles Auto generated container class for majority of CSS properties available.
    • Styles Represents all supported CSS properties and their currently assigned values.
  • BorderImageFill State of <c>fill</c> setting of <c>border-image-slice</c> (<c>border-image</c>) CSS property.
  • BorderImageRepeat Possible values for <c>border-image-repeat</c> (<c>border-image</c>) CSS property.
  • Box Represents position and size of a Sandbox.UI.Panel on the screen.
  • ButtonEvent Keyboard (and mouse) key press Sandbox.UI.PanelEvent.
  • CascadingParameterAttribute A panel's property will be inherited from its parent.
  • Clipboard
  • DisplayMode Possible values for <c>display</c> CSS property.
  • Emoji Helper class for working with Unicode emoji.
  • FlexDirection Possible values for <c>flex-direction</c> CSS property.
  • FontSmooth Possible values for <c>font-smooth</c> CSS property.
  • FontStyle Possible values for <c>font-style</c> CSS property.
  • ImageRendering Possible values for <c>image-rendering</c> CSS property.
  • INavigatorPage When applied to a page of a navigator, this will receive callbacks when the page is made visible and closed
  • InputFocus Handles input focus for Sandbox.UI.Panels.
  • IStyleBlock A CSS rule - ie ".chin { width: 100%; height: 100%; }"
  • IStyleTarget Everything the style system needs to work out a style
  • Justify Possible values for <c>justify-content</c> CSS property.
  • KeyFrames Represents a CSS <c>@keyframes</c> rule.
  • LayoutCascade
  • 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, usuall…
  • LengthUnit Possible units for various CSS properties that require length, used by Sandbox.UI.Length struct.
  • LengthUnitExtension
  • 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.
  • MaskMode Possible values for <c>mask-mode</c> CSS property.
  • MaskScope Possible values for <c>mask-scope</c> CSS property.
  • NavigationExtensions
  • Option An option for a Sandbox.UI.DropDown or Sandbox.UI.ButtonGroup.
  • OverflowMode Possible values for the "overflow" CSS rule, dictating what to do with content that is outside of a panels bounds.
  • Panel A simple User Interface panel. Can be styled with CSS.
    • Image A generic box that displays a given texture within itself.
    • Label A generic text label. Can be made editable.
    • ScenePanel Allows to render a scene world onto a panel.
    • SvgPanel A generic panel that draws an SVG scaled to size
    • WebPanel A panel that displays an interactive web page.
    • RootPanel A root panel. Serves as a container for other panels, handles things such as rendering.
      • WorldPanel An interactive 2D panel rendered in the 3D world.
    • Button A simple button Sandbox.UI.Panel.
      • PopupButton A button that opens a Sandbox.UI.PopupButton.Popup panel. Useless on its own - you need to implement Open
        • DropDown A UI control which provides multiple options via a dropdown box.
    • ButtonGroup A group of side-by-side buttons one of which can be selected.
    • Checkbox A simple checkbox Sandbox.UI.Panel.
    • NavHostPanel A panel that acts like a website. A single page is always visible but it will cache other views that you visit, and allow forward/backward navig…
    • NavLinkPanel A panel that will navigate to an href but also have .active class if href is active
    • BaseControl
    • Field A field in a form, usually contains a label and a control
    • FieldControl A field in a form, usually contains a label and a control
    • Form
    • Popup
    • SplitContainer A control that has two panes with a splitter in between. You can drag the splitter to change the size of the two panels.
    • TabContainer A container with tabs, allowing you to switch between different sheets. You can position the tabs by adding the class tabs-bottom, tabs-left,…
    • TextEntry A Sandbox.UI.Panel that the user can enter text into.
    • LoaderFullScreen
    • PackageCard
    • PackageFilterFacet
    • PackageFilterOrder
    • PackageFilters
    • PackageList
    • MenuPanel
    • VirtualScrollPanel Scroll panel that creates its contents as they become visible TODO: we need to let panels know, or recreate them, when Data changes
    • BaseVirtualScrollPanel<T>
  • PanelEvent Base Sandbox.UI.Panel event.<br /> See Sandbox.UI.Panel.CreateEvent(Sandbox.UI.PanelEvent).
  • PanelEventAttribute Add an event listener to a Sandbox.UI.Panel event with the given name.<br /> See Sandbox.UI.Panel.CreateEvent(System.String,System.Object,System…
  • PanelInputType
  • PanelTransform
  • PointerEvents Possible values for <c>pointer-events</c> CSS property.
  • PositionMode Possible values for <c>position</c> CSS property.
  • PseudoClass List of CSS pseudo-classes used by the styling system for hover, active, etc. This acts as a bit-flag.
  • RenderState Describes panel's position and size for rendering operations.
  • Shadow Shadow style settings
  • ShadowList A list of shadows
  • StyleBlock A CSS rule - ie ".chin { width: 100%; height: 100%; }"
  • StyleSelector A CSS selector like "Panel.button.red:hover .text"
  • StyleSheet
  • StyleSheetAttribute Will automatically apply the named stylesheet to the Panel.
  • StyleSheetCollection A collection of Sandbox.UI.StyleSheet objects applied directly to a panel. See Sandbox.UI.Panel.StyleSheet.
  • TextAlign Possible values for <c>text-align</c> CSS property.
  • TextDecoration Possible values for <c>text-decoration</c> CSS property.
  • TextDecorationStyle Possible values for <c>text-decoration-style</c> CSS property.
  • TextOverflow Possible values for <c>text-overflow</c> CSS property.
  • TextSkipInk Possible values for <c>text-decoration-skip-ink</c> CSS property.
  • TextTransform Possible values for <c>text-transform</c> CSS property.
  • 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 co…
  • TransitionList A list of CSS properties that should transition when changed. Utility to create a transition by comparing the panel style before and after …
  • Transitions Handles the storage, progression and application of CSS transitions for a single Sandbox.UI.Panel.
  • WhiteSpace Possible values for <c>white-space</c> CSS property.
  • WordBreak Possible values for <c>word-break</c> CSS property.
  • WorldInput WorldInput can be used to simulate standard mouse inputs on WorldPanels.
  • Wrap Possible values for <c>flex-wrap</c> CSS property.

Sandbox.UI.Construct

Sandbox.UI.Tests

Sandbox.Utility

  • CircularBuffer<T> Circular buffer, push pop and index access is always O(1).
  • Crc32 Generate 32-bit Cyclic Redundancy Check (CRC32) checksums.
  • Crc64 Generate 64-bit Cyclic Redundancy Check (CRC64) checksums.
  • DataProgress For providing a callback to describe the progress of doing something with some kind of block of data
  • DisposeAction Creates an IDisposable that will simply run an action when disposed
  • Easing Easing functions used for transitions. See https://easings.net/ for examples.
  • EditorTools Functions to interact with the tools system. Does nothing if tools aren't enabled.
  • FloatBitmap
  • Noise Provides access to coherent noise utilities. All of these functions should return between -1 and 1.
  • Parallel Wrappers of the parallel class.
  • Steam

Sandbox.Utility.Svg

  • PathArcSize Controls arc size in Sandbox.Utility.Svg.ArcToPathCommand.
  • PathCommand Base class for SVG path commands.
    • AddCirclePathCommand See <see href="https://developer.mozilla.org/en-US/docs/Web/SVG/Element/circle" />.
    • AddOvalPathCommand See <see href="https://developer.mozilla.org/en-US/docs/Web/SVG/Element/ellipse" />.
    • AddPolyPathCommand See <see href="https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polyline" />, <see href="https://developer.mozilla.org/en-US/docs/Web/SVG/…
    • AddRectPathCommand See <see href="https://developer.mozilla.org/en-US/docs/Web/SVG/Element/rect" />.
    • AddRoundRectPathCommand See <see href="https://developer.mozilla.org/en-US/docs/Web/SVG/Element/rect" />.
    • ArcToPathCommand See <see href="https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#arcs" />.
    • ClosePathCommand See <see href="https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#line_commands" />.
    • CubicToPathCommand See <see href="https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#b%C3%A9zier_curves" />.
    • LineToPathCommand See <see href="https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#line_commands" />.
    • MoveToPathCommand See <see href="https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#line_commands" />.
    • QuadToPathCommand See <see href="https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#b%C3%A9zier_curves" />.
  • PathDirection Controls arc direction in Sandbox.Utility.Svg.ArcToPathCommand.
  • PathFillType How to determine which sections of the path are filled.
  • SvgDocument Helper class for reading Scalable Vector Graphics files.
  • SvgPath A shape in a Sandbox.Utility.Svg.SvgDocument, described as a vector path.

Sandbox.VR

  • AnalogInput Represents a VR analog input action (e.g. trigger)
  • AnalogInput2D Represents a two-dimensional VR analog input action (e.g. joysticks)
  • DigitalInput Represents a VR digital input action (e.g. X button)
  • FingerValue Accessors for Sandbox.VR.VRController.GetFingerValue(Sandbox.VR.FingerValue)
  • TrackedDeviceRole
  • TrackedDeviceType
  • TrackedObject Represents a physically tracked VR object with a transform
    • VRController Represents a VR controller, along with its transform, velocity, and inputs.
  • VRHandJoint
  • VRHandJointData
  • VRInput
  • VROverlay<para>VR overlays draw over the top of the 3D scene, they will not be affected by lighting, post processing effects or anything else in the world.<…
    • VROverlayPanel<para>A Sandbox.VR.VROverlay that draws and handles input of a Sandbox.UI.RootPanel.</para><para>VR overlays draw over the top of the 3D scene, they …