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.
  • AnglesEuler angles. Unlike a <see cref="T:Rotation">Rotation</see>, Euler angles can represent multiple revolutions (rotations) around an axis, but s..
  • 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.
  • Color32A 32bit color, commonly used by things like vertex buffers. The functionality on this is purposely left minimal so we're encouraged to use t..
  • ColorHsv A color in Hue-Saturation-Value/Brightness format.
  • DefaultValueAttributeSometimes with CodeGen we want reflection to be able to get the original initial value of a property (which is set with {get;set;} = initialval..
  • DescriptionAttributeSets 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..
  • 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
  • IconAttributeSets 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 retr..
  • 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.
  • PlaceholderAttributeAdd placeholder text, typically displayed for string properties when the text entry field is empty. This info can then be retrieved via Display..
  • RangedFloat A float between two values, which can be randomized or fixed.
  • Ray A struct describing an origin and direction
  • RotationRepresents a Quaternion rotation. Can be interpreted as a direction unit vector (x,y,z) + rotation around the direction vector (w) which represen..
  • 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.
  • TransformA 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.












          • 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.
            • MapEntityMapEntity in Hammer is a type of Editor.MapDoc.MapNode that has a set of key/value pairs. The keyvalues represent the authoritative state of th..
            • MapGroup A map node which has the sole purpose of grouping other map nodes together.
            • MapInstanceA 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 co..
            • MapMeshMapMesh 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 ham..
              • MapStaticOverlayAn 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.


          • CanDropAttribute
          • Hammer
          • 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.
          • IMapViewDropTargetProvides an interface for dragging and dropping Editor.Asset or Sandbox.Package on a map view. Use with Editor.MapEditor.CanDropAttribute to re..
          • IPathTool Interface for the addon layer to implement, this is called from native Hammer.
          • IToolFactory
          • MapViewMapViews are owned by the MapViewMgr. They display the MapViewMgr's mapdoc. The MapView provides either a 2d or 3d view of the provided map..
          • PathToolSettings
          • Selection Current selection set for the active map
          • SelectMode














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





                • 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
                • AudioProcessorTakes 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 be..
                • 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
                • MultiChannelBuffer Holds up to 8 mix buffers, which usually represent output speakers.
                • PerChannel<T> Stores a variable per channel


                • BindSystem Data bind system, bind properties to each other.
                • BuilderA helper to create binds between two properties (or whatever you want) <para> Example usage: set "BoolValue" from value of "StringValue" <c..
                • 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.





                  • BindCollectionA collection of action binds. BindCollection - Action: attack1 - Slot0: mouse1 - Action: selectall - Slot0: ctrl + a The bi..
                  • GameLoadingFlags




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




                  • 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







                      • NavMesh Navigation Mesh - allowing AI to navigate a world



                      • PhysicsJoint A physics constraint.
                        • BallSocketJoint A ballsocket constraint.
                        • FixedJoint A generic "rope" type constraint.
                        • HingeJoint A hinge-like constraint.
                        • PulleyJointA pulley constraint. Consists of 2 ropes which share same length, and the ratio changes via physics interactions. Typical setup looks like t..
                        • 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.
                      • PhysicsPointUsed 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.


                      • 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..
                      • RenderTreeBuilderThis 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





                      • 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
                      • LengthA 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, usual..
                      • 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.
                        • NavHostPanelA 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 navi..
                        • 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.
                        • TabContainerA 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).
                      • PanelEventAttributeAdd an event listener to a Sandbox.UI.Panel event with the given name.<br /> See Sandbox.UI.Panel.CreateEvent(System.String,System.Object,Syste..
                      • 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 " .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.
                      • TransitionDescDescribes 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 c..
                      • TransitionListA 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.





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


                        • PathArcSize Controls arc size in Sandbox.Utility.Svg.ArcToPathCommand.
                        • PathCommand Base class for SVG path commands.
                          • AddCirclePathCommand See <see href="" />.
                          • AddOvalPathCommand See <see href="" />.
                          • AddPolyPathCommandSee <see href="" />, <see href="
                          • AddRectPathCommand See <see href="" />.
                          • AddRoundRectPathCommand See <see href="" />.
                          • ArcToPathCommand See <see href="" />.
                          • ClosePathCommand See <see href="" />.
                          • CubicToPathCommand See <see href="" />.
                          • LineToPathCommand See <see href="" />.
                          • MoveToPathCommand See <see href="" />.
                          • QuadToPathCommand See <see href="" />.
                        • 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.


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