PlaceholderAttribute Add placeholder text, typically displayed for string properties when the text entry field is empty. 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.
TitleAttribute Sets the title or a "nice name" of a type or a type member. This info can then be retrieved via DisplayInfo library.
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 or member. This info can then be retrieved via DisplayInfo library.
CategoryAttribute Sets the category or the group of a type or a type member. This info can then be retrieved via DisplayInfo library.
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 retrieved via DisplayInfo library.
OrderAttribute Visual order of this member for UI purposes. This info can then be retrieved via DisplayInfo library.
TimeRangeAttribute For use with Curves, allows you to define a custom range for the time
ValueRangeAttribute For use with Curves, allows you to define a custom range for the value
TagAttribute Adds a single or multiple tags for this type or member. Tags can then be retrieved via DisplayInfo library.
AliasAttribute Alternate class name(s) for this type to the one specified via LibraryAttribute. This info can then be retrieved via DisplayInfo library.
EditorAttribute Tell the tools or gameui property editor which editor we should be using for this property or type.
SpawnableAttribute This entity is expected to be spawnable in-game, like from Sandbox's spawnmenu.
HideInEditorAttribute Hide this in tools/editors.
MinMaxAttribute Mark property as having a minimum and maximum value.
EditorModelAttribute Declare a model to represent this entity in editor. This is a common attribute so it's leaked out of the Editor namespace.
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;} = initialvalue;). For this reason sometimes we'll drop this attribute on that property. You might want to use this manually for instances where codegen can't define the default value. This will usually happen for structs like vector and color.. if the default value isn't defined as a number or string.
Sandbox.PureAttribute
Sandbox.ImpureAttribute
Sandbox.HasImplementationAttribute In ActionGraph, this type parameter can only be satisfied by a type <c>TArg</c>, such that there exists at least one non-abstract type that extends / implements both <c>TArg</c> and Sandbox.HasImplementationAttribute.BaseType.
Sandbox.ExpressionNodeAttribute
Sandbox.ActionNodeAttribute
Sandbox.SingleActionAttribute Force a delegate-type property to only have a single attached Action Graph.
Sandbox.ChangeAttribute This will invoke a method when the property changes. It can be used with any property but is especially useful when combined with [Sync] or [ConVar]. <br /><br /> If no name is provided, we will try to call On[PropertyName]Changed. The callback should have 2 arguments - oldValue and newValue, both of the same type as the property itself.
Sandbox.WideModeAttribute Expand the value editor to fill the next line in the inspector, leaving the title above it
Sandbox.ReadOnlyAttribute Display this in the inspector - but don't let anyone edit it
Sandbox.TextAreaAttribute When applied to a string property, show a multi-line text box instead of a single line.
Sandbox.InputActionAttribute When applied to a string property, use an input action selector.
Sandbox.TargetTypeAttribute When applied to a Type property, allows you to specify a Type that the property's value must derive from.
Sandbox.FontNameAttribute When applied to a string property, uses a font name selector.
Sandbox.IconNameAttribute When applied to a string property, uses a Material Icon selector.
Sandbox.ColorUsageAttribute When applied to a Color property, allows you to specify whether the color should have an alpha channel and/or be in HDR.
Sandbox.FeatureAttribute Sets the category or the group of a type or a type member. This info can then be retrieved via DisplayInfo library.
Sandbox.TintAttribute
Sandbox.FeatureEnabledAttribute Mark a boolean property as a feature toggle
Sandbox.HeaderAttribute Add a header above this property
Sandbox.SpaceAttribute Add a space above this property
Sandbox.HelpUrlAttribute Add a link to some documentation for this component, or <see langword="property" />
Sandbox.EventAttribute A generic event listener. You are probably looking for Sandbox.Event.* attributes.
Sandbox.SkipHotloadAttribute Skip processing a specific field, or any fields in a type marked by this attribute. Field processing will still occur if a type marked by this attribute was defined in a swapped assembly.
Sandbox.SuppressNullKeyWarningAttribute When applied to a member with System.Collections.Generic.Dictionary`2 or System.Collections.Generic.HashSet`1 type, don't warn if the key of an item becomes null during a hotload because a type is removed. You should only use this attribute if you're sure that it's safe to quietly remove entries.
Sandbox.SupportsILHotloadAttribute
Sandbox.MethodBodyChangeAttribute
Sandbox.PropertyAccessorBodyChangeAttribute
Sandbox.InputAttribute Makes this method available as a Map Logic Input, for use in the Hammer Editor. This is only applicable to entities.
Sandbox.ButtonAttribute When added to a method - the inspector will show a button for it.
Sandbox.RequireComponentAttribute When added to a property on a Component, we'll try to make that component value non null. We will first look on the GameObject for the component type. If it's not found, we'll create one.
Sandbox.JsonUpgraderAttribute An attribute that describes a version update for a JSON object.
Sandbox.LibraryAttribute
Sandbox.MethodArgumentsAttribute Specify the types of arguments a method should have. Typically used with event attributes to throw an exception if an event attribute is added to a method with incorrect arguments.
Sandbox.PropertyAttribute
Sandbox.KeyPropertyAttribute Mark this property as the key property - which means that it can represent the whole object in a single line, while usually offering an advanced mode to view the entire object.
Sandbox.InlineEditorAttribute Tell the editor to try to display inline editing for this property, rather than hiding it behind a popup etc.
Sandbox.RangeAttribute Mark this property as a ranged float/int. In inspector we'll be able to create a slider instead of a text entry. TODO: Replace this with the System.ComponentModel.DataAnnotations.Range one - move step and clamped to their own attributes
Sandbox.SelectionBaseAttribute Apply this attribute to a component class to mark its GameObject as a selection base for Scene View picking. For example, if you click on a child object within a Prefab, the root of the Prefab is selected by default. With the SelectionBase attribute, you can designate a specific component (and its GameObject) to be treated as a selection base, ensuring it is picked when clicking in the Scene View.
Sandbox.StringLiteralOnlyAttribute Ask codegen to shit itself if the parameter isn't passed in as a string literal
Sandbox.HideAttribute Hide this in tools/editors.
Sandbox.CodeGeneratorAttribute An attribute that can be added to a custom System.Attribute class for special code generation behavior. They'll then be applied to methods and properties when they are decorated with <i>that</i> attribute.
Sandbox.ConCmdAttribute
Sandbox.ConVarAttribute Console variable
Sandbox.CustomEditorAttribute
Sandbox.InspectorVisibilityAttribute Hide a property if a condition matches.
Sandbox.UI.CascadingParameterAttribute A panel's property will be inherited from its parent.
Sandbox.UI.StyleSheetAttribute Will automatically apply the named stylesheet to the Panel.
Sandbox.Internal.ClassFileLocationAttribute Automatically added to codegenerated classes to let them determine their location This helps when looking for resources relative to them, like style sheets. Replaced in Sept 2023 by SourceLocationAttribute, which is added to classes and members.
Sandbox.Internal.SourceLocationAttribute Automatically added to classes and their members to let them determine their location This helps when looking for resources relative to them, like style sheets.
ConditionalVisibilityAttribute Hide a property if a condition matches.
HideIfAttribute Hide this property if a given property within the same class has the given value. Used typically in the Editor Inspector.
ShowIfAttribute Show this property if a given property within the same class has the given value. Used typically in the Editor Inspector.
Editor.MetaDataAttribute Base attribute which allows adding FGD metadata to classes.
Editor.FieldMetaDataAttribute Base attribute which allows adding metadata to properties.
Editor.HidePropertyAttribute A way to hide properties from parent classes in tools.
Editor.EnableColorAlphaAttribute If used on a Color or Color32 property, enables alpha modification in editors.
Sandbox.AutoGenerateAttribute Indicates that this type should generate meta data. Tagging your asset with this will mean that the .asset file is automatically generated - which means you don't have to do that.
Sandbox.FGDTypeAttribute Overrides the auto generated FGD type.
Sandbox.ResourceTypeAttribute Allows you to specify a string property as a resource type. This will give the property a resource finder. Type should be the file extension, ie "vmdl"
Sandbox.BitFlagsAttribute This choices type is bitflags, so we should be able to choose more than one option at a time.
Sandbox.AssetPathAttribute When added to a string property, will becomes a selector for AssetTypeExtension
Sandbox.ImageAssetPathAttribute When added to a string property, will become an image string selector
Sandbox.FilePathAttribute When added to a string property, will become a file picker for the given extension (or all by default)
Sandbox.TextureImagePathAttribute When added to a string property, will allow selection of anything that a Texture can be
Sandbox.MapAssetPathAttribute When added to a string property, will become a map string selector
Sandbox.GameResourceAttribute Should be applied to a class that inherits from Sandbox.GameResource. Makes the class able to be stored as an asset on disk.
Sandbox.ModelEditor.GameDataAttribute Indicates that this class/struct should be available as GenericGameData node in ModelDoc
Sandbox.ModelEditor.AxisAttribute Draws 3 line axis visualization, which can set up to be manipulated via gizmos. You can have multiple of these.
Sandbox.ModelEditor.BoxAttribute Draws a box, which can be manipulated via gizmos. You can have multiple of these.
Sandbox.ModelEditor.SphereAttribute Draws a sphere, which can be manipulated via gizmos. You can have multiple of these.
Sandbox.ModelEditor.CapsuleAttribute Draws a capsule, which can be manipulated via gizmos. You can have multiple of these.
Sandbox.ModelEditor.CylinderAttribute Draws a cylinder, which can be manipulated via gizmos. You can have multiple of these.
Sandbox.ModelEditor.HingeJointAttribute A helper that draws axis of rotation and angle limit of a hinge joint.
Sandbox.ModelEditor.EditorWidgetAttribute Adds a custom editor widget to the game data node. Currently only 1 option is available - "HandPosePairEditor"
Sandbox.ModelEditor.HandPoseAttribute A helper used for VR hand purposes.
Sandbox.ModelEditor.LineAttribute
Sandbox.ModelEditor.ScaleBoneRelativeAttribute Scales the vector with the "ScaleAndMirror" node, relative to associated bone.
Sandbox.ModelEditor.ScaleWorldAttribute Scales the vector with the "ScaleAndMirror" node.
Sandbox.ModelEditor.Internal.BaseModelDocAttribute
Sandbox.ModelEditor.Internal.BaseTransformAttribute
Sandbox.Audio.AudioDistanceFloatAttribute
Microsoft.AspNetCore.Components.ParameterAttribute Signifies a parameter attribute
Microsoft.AspNetCore.Components.EventHandlerAttribute
Microsoft.AspNetCore.Components.EditorRequiredAttribute Specifies that the component parameter is required to be provided by the user when authoring it in the editor. <para> If a value for this parameter is not provided, editors or build tools may provide warnings indicating the user to specify a value. This attribute is only valid on properties marked with Microsoft.AspNetCore.Components.ParameterAttribute. </para>
Microsoft.AspNetCore.Components.RouteAttribute
Sandbox.EditorHandleAttribute When applied to a component, the editor will draw a selectable handle sprite for the gameobject in scene
Sandbox.MakeDirtyAttribute
Sandbox.HostSyncAttribute Automatically synchronize a property of a networked object from the host to other clients. Obsolete: 11/12/2024
Sandbox.RpcAttribute Marks a method as being an RPC. This means that it can be called over the network.
Sandbox.BroadcastAttribute Marks a method as being an RPC that when invoked will be called for all connected clients including the host. The state of the object the RPC is called on will be up-to-date including its Sandbox.GameTransform and any properties with the Sandbox.SyncAttribute or Sandbox.HostSyncAttribute attributes by the time the method is called on remote clients. The only except is any synchronized properties marked with Sandbox.SyncAttribute.Query which will generally only be received every network tick.
Sandbox.AuthorityAttribute Marks a method as being an RPC specifically targeted to the owner of the Sandbox.GameObject, or the host if the Sandbox.GameObject doesn't have an owner. <br /><br /> The state of the object the RPC is called on will be up-to-date including its Sandbox.GameTransform and any properties with the Sandbox.SyncAttribute or Sandbox.HostSyncAttribute attributes by the time the method is called on remote clients. The only except is any synchronized properties marked with Sandbox.SyncAttribute.Query which will generally only be received every network tick.
Sandbox.SyncAttribute Automatically synchronize a property of a networked object from the owner to other clients.
Sandbox.UI.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.Nullable{System.Single}).
Editor.EditorForAssetTypeAttribute Used in conjunction with IAssetEditor to declare a window that can edit an asset type
Editor.DockAttribute
Editor.EditorAppAttribute
Editor.MenuAttribute
Editor.ShortcutAttribute
Editor.StackLineHandlerAttribute Marks a method as a custom handler for stack trace lines matching a certain pattern. The method must take in a System.Text.RegularExpressions.Match parameter, and return a Editor.StackRow (or null).
Editor.AssetPreviewAttribute
Editor.CanEditAttribute
Editor.InspectorAttribute
Editor.MapEditor.CanDropAttribute
Editor.AssetPickerAttribute
Editor.DropObjectAttribute
Editor.EditorToolAttribute
Editor.WidgetGalleryAttribute When used on a static method, this method will be called to create an example of this panel for the "Widget Gallery" window. This method should create and return a Editor.Widget that serves as an example usage of the Widget class the method is defined in. You can use [Title], [Icon], etc on this method as well.