[ActionGraphExposeWhenCached]Sandbox
Don't cache instances of this type when serializing action graph references, force them to be always serialized separately. We need this for component / game object references so we can update IDs when duplicating objects / instantiating prefabs.
[ActionGraphOperator]Sandbox
Display this node as an operator, with no header or socket labels, and a big icon in the middle.
[ActionGraphProperty]Sandbox
In ActionGraph, this parameter should only be configurable in the inspector as a property and not have a dedicated input.
[Advanced]Sandbox
Some properties are not meant for the average user, hide them unless they really want to see them.
[Alias]
Alternate class name(s) for this type to the one specified via LibraryAttribute. This info can then be retrieved via DisplayInfo library.
[ArgumentHint]
Specify a hint on a Doo explaining that we're going to be passing in an expected argument when calling it.
[ArgumentHintAttribute<T>]
Specify a hint on a Doo explaining that we're going to be passing in an expected argument when calling it.
[Asset]
Automatically addeded to a type as a result of using Cloud.Model etc inside.
[AssetPath]Sandbox
When added to a string property, will becomes a selector for AssetTypeExtension
[AssetType]Sandbox
Should be applied to a class that inherits from <see cref="T:Sandbox.GameResource" />. Makes the class able to be stored as an asset on disk.
[Authority]Sandbox
Marks a method as being an RPC specifically targeted to the owner of the <see cref="T:Sandbox.GameObject" />, or the host if the <see cref="T: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 <see cref="T:Sandbox.GameTransform" /> and any properties with the <see cref="T:Sandbox.SyncAttribute" /> or <see cref="T:Sandbox.HostSyncAttribute" /> attributes by the time the method is called on remote clients. The only except is any synchronized properties marked with <see cref="P:Sandbox.SyncAttribute.Query" /> which will generally only be received every network tick.
[AutoGenerate]Sandbox
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.
[Axis]Sandbox.ModelEditor
Draws 3 line axis visualization, which can set up to be manipulated via gizmos. You can have multiple of these.
[BitFlags]Sandbox
This choices type is bitflags, so we should be able to choose more than one option at a time.
[BodyGroupMask]
Used to mark properties as a body group mask, so the correct editor can be used
[Box]Sandbox.ModelEditor
Draws a box, which can be manipulated via gizmos. You can have multiple of these.
[Broadcast]
Marks a method as being an RPC. It will be called for everyone.
[Broadcast]Sandbox
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 <see cref="T:Sandbox.GameTransform" /> and any properties with the <see cref="T:Sandbox.SyncAttribute" /> or <see cref="T:Sandbox.HostSyncAttribute" /> attributes by the time the method is called on remote clients. The only except is any synchronized properties marked with <see cref="P:Sandbox.SyncAttribute.Query" /> which will generally only be received every network tick.
[Button]Sandbox
When added to a method - the inspector will show a button for it.
[Capsule]Sandbox.ModelEditor
Draws a capsule, which can be manipulated via gizmos. You can have multiple of these.
[CascadingParameter]Sandbox.UI
A panel's property will be inherited from its parent.
[Category]
Sets the category or the group of a type or a type member. This info can then be retrieved via DisplayInfo library.
[Change]Sandbox
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.
[ClassFileLocation]Sandbox.Internal
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.
[ClassName]
Set the class name for this type or member. This info can then be retrieved via DisplayInfo library.
[ClientEditable]Sandbox
Indicates that this propery can be edited by the client, in a game like Sandbox Mode. In reality this is used however the game wants to implement it.
[CodeGenerator]Sandbox
An attribute that can be added to a custom <see cref="T: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.
[ColorUsage]Sandbox
When applied to a Color property, allows you to specify whether the color should have an alpha channel and/or be in HDR.
[ConditionalVisibility]
Hide a property if a condition matches.
[ConVar]Sandbox
Console variable
[Convert]
To allow redirecting in the case where a class has both a string and StringToken version of a method. We should be able to remove this when we're compiling on demand instead of keeping the string versions around for compatibility.
[Cylinder]Sandbox.ModelEditor
Draws a cylinder, which can be manipulated via gizmos. You can have multiple of these.
[DefaultMovieRecorderOptions]Sandbox.MovieMaker
Call this static method when building <see cref="P:Sandbox.MovieMaker.MovieRecorderOptions.Default" />. The method must have exactly one parameter, of type <see cref="T:Sandbox.MovieMaker.MovieRecorderOptions" />, and must return a <see cref="T:Sandbox.MovieMaker.MovieRecorderOptions" />.
[DefaultValue]
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.
[Description]
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.
[Editor]
Tell the tools or gameui property editor which editor we should be using for this property or type.
[EditorForAssetType]Editor
Used in conjunction with IAssetEditor to declare a window that can edit an asset type
[EditorHandle]Sandbox
When applied to a component, the editor will draw a selectable handle sprite for the gameobject in scene
[EditorModel]
Declare a model to represent this entity in editor. This is a common attribute so it's leaked out of the Editor namespace.
[EditorWidget]Sandbox.ModelEditor
Adds a custom editor widget to the game data node. Currently only 1 option is available - "HandPosePairEditor"
[EnableColorAlpha]Editor
If used on a Color or Color32 property, enables alpha modification in editors.
[EnumButtonGroup]Sandbox
Forces an enum property to be shown as a group of buttons.
[EnumDropdown]Sandbox
Forces an enum property to be shown as a dropdown list.
[Event]Sandbox
A generic event listener. You are probably looking for Sandbox.Event.* attributes.
[Feature]Sandbox
Sets the category or the group of a type or a type member. This info can then be retrieved via DisplayInfo library.
[FeatureEnabled]Sandbox
Mark a boolean property as a feature toggle
[FGDType]Sandbox
Overrides the auto generated FGD type.
[FieldMetaData]Editor
Base attribute which allows adding metadata to properties.
[FilePath]Sandbox
When added to a string property, will become a file picker for the given extension (or all by default)
[FontName]Sandbox
When applied to a string property, uses a font name selector.
[Frame]
Called every frame for tools
[GameData]Sandbox.ModelEditor
Indicates that this class/struct should be available as GenericGameData node in ModelDoc
[Group]
Sets the category or the group of a type or a type member. This info can then be retrieved via DisplayInfo library.
[HandPose]Sandbox.ModelEditor
A helper used for VR hand purposes.
[HasImplementation]Sandbox
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 <see cref="P:Sandbox.HasImplementationAttribute.BaseType" />.
[Header]Sandbox
Add a header above this property
[HelpUrl]Sandbox
Add a link to some documentation for this component, or <see langword="property" />
[Hide]Sandbox
Hide this in tools/editors.
[HideIf]
Hide this property if a given property within the same class has the given value. Used typically in the Editor Inspector.
[HideInEditor]
Hide this in tools/editors.
[HideProperty]Editor
A way to hide properties from parent classes in tools.
[HingeJoint]Sandbox.ModelEditor
A helper that draws axis of rotation and angle limit of a hinge joint.
[Host]
Marks a method as being an RPC. It will only be called on the host.
[HostSync]Sandbox
Automatically synchronize a property of a networked object from the host to other clients. Obsolete: 11/12/2024
[Icon]
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.
[IconName]Sandbox
When applied to a string property, uses a Material Icon selector.
[ImageAssetPath]Sandbox
When added to a string property, will become an image string selector
[InfoBox]Sandbox
Draw a box with information above this property
[InlineEditor]Sandbox
Tell the editor to try to display inline editing for this property, rather than hiding it behind a popup etc.
[InputAction]Sandbox
When applied to a string property, use an input action selector.
[Input]Sandbox
Makes this method available as a Map Logic Input, for use in the Hammer Editor. This is only applicable to entities.
[InspectorVisibility]Sandbox
Hide a property if a condition matches.
[JsonUpgrader]Sandbox
An attribute that describes a version update for a JSON object.
[KeyProperty]Sandbox
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.
[MapAssetPath]Sandbox
When added to a string property, will become a map string selector
[MapViewContextMenu]
Called when the map view is right clicked, <see cref="T:Editor.Menu" /> is passed.
[MaterialGroup]
Used to mark a property as a material group, for the editor
[MaterialOverride]
Used to mark a property as a material material override dictionary, for the editor
[MetaData]Editor
Base attribute which allows adding FGD metadata to classes.
[MethodArguments]Sandbox
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.
[Method]
Marks a static method as callable from within a Doo script.
[MinMax]
Mark property as having a minimum and maximum value.
[Normal]Sandbox
When applied to a Vector property, provides normal selection tools.
[Order]
Visual order of this member for UI purposes. This info can then be retrieved via DisplayInfo library.
[Owner]
Marks a method as being an RPC. It will only be called on owner of this object.
[PanelEvent]Sandbox.UI
Add an event listener to a <see cref="T:Sandbox.UI.Panel" /> event with the given name.<br /> See <see cref="M:Sandbox.UI.Panel.CreateEvent(System.String,System.Object,System.Nullable{System.Single})" />.
[Placeholder]
Add placeholder text, typically displayed for string properties when the text entry field is empty. This info can then be retrieved via DisplayInfo library.
[Range]Sandbox
Mark this property as a ranged float/int. In inspector we'll be able to create a slider instead of a text entry.
[ReadOnly]Sandbox
Display this in the inspector - but don't let anyone edit it
[RequireComponent]Sandbox
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.
[ResourceIdentity]
Mark a ResourceCompiler. This is used to identify the compiler for a specific file extension, or compiler.
[ResourceType]Sandbox
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"
[Rpc]Sandbox
Marks a method as being an RPC. This means that it can be called over the network.
[ScaleBoneRelative]Sandbox.ModelEditor
Scales the vector with the "ScaleAndMirror" node, relative to associated bone.
[ScaleWorld]Sandbox.ModelEditor
Scales the vector with the "ScaleAndMirror" node.
[SelectionBase]Sandbox
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.
[SelectionChanged]
Called when the user selects / deselects any object in the map and <see cref="P:Editor.MapEditor.Selection.All"></see> is changed.
[ShowIf]
Show this property if a given property within the same class has the given value. Used typically in the Editor Inspector.
[SingleAction]Sandbox
Force a delegate-type property to only have a single attached Action Graph.
[SkipHotload]Sandbox
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.
[SourceLocation]Sandbox.Internal
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.
[Space]Sandbox
Add a space above this property
[Spawnable]
This entity is expected to be spawnable in-game, like from Sandbox's spawnmenu.
[Sphere]Sandbox.ModelEditor
Draws a sphere, which can be manipulated via gizmos. You can have multiple of these.
[StackLineHandler]Editor
Marks a method as a custom handler for stack trace lines matching a certain pattern. The method must take in a <see cref="T:System.Text.RegularExpressions.Match" /> parameter, and return a <see cref="T:Editor.StackRow" /> (or null).
[Step]Sandbox
Mark this property as a stepped value, where the value can only be set to multiples of the step value.
[StringLiteralOnly]Sandbox
Ask codegen to shit itself if the parameter isn't passed in as a string literal
[StyleSheet]Sandbox.UI
Will automatically apply the named stylesheet to the Panel.
[SuppressNullKeyWarning]Sandbox
When applied to a member with <see cref="T:System.Collections.Generic.Dictionary`2" /> or <see cref="T: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.
[Sync]Sandbox
Automatically synchronize a property of a networked object from the owner to other clients.
[Tag]
Adds a single or multiple tags for this type or member. Tags can then be retrieved via DisplayInfo library.
[TargetType]Sandbox
When applied to a Type property, allows you to specify a Type that the property's value must derive from.
[TextArea]Sandbox
When applied to a string property, show a multi-line text box instead of a single line.
[TextureImagePath]Sandbox
When added to a string property, will allow selection of anything that a Texture can be
[ThumbnailRenderer]
Should target a static method like `public static Pixmap RenderThumbnail( Asset thumbnail )` where the method returns a thumbnail for that asset type. This kind of sucks I don't like it.
[TimeRange]
For use with Curves, allows you to define a custom range for the time
[Title]
Sets the title or a "nice name" of a type or a type member. This info can then be retrieved via DisplayInfo library.
[ToggleGroup]
Very much like a GroupAttribute, except we're indicating that the group can be toggle on and off using the named property
[TypeHint]
Hint that this type is expected to be this. This is used internally for the editor UX to hint that a type of a value should be a specific type.
[Validate]
Validates a property using a method.
[ValueRange]
For use with Curves, allows you to define a custom range for the value
[WideMode]Sandbox
Expand the value editor to fill the next line in the inspector, leaving the title above it
[ActionGraphIgnore]Sandbox
[ActionGraphInclude]Sandbox
[ActionGraphNode]Sandbox
[ActionGraphTarget]Sandbox
[ActionNode]Sandbox
[AlwaysInvoked]Facepunch.ActionGraphs
[AssetPreview]Editor
[AudioDistanceFloat]Sandbox.Audio
[Base]
[BaseModelDoc]Sandbox.ModelEditor.Internal
[BaseTransform]Sandbox.ModelEditor.Internal
[BlendIndices]
[BlendWeight]
[CanDrop]Editor.MapEditor
[CanEdit]Editor
[Color]
[ConCmd]Sandbox
[CustomEditor]Sandbox
[CustomEmbeddedEditor]Sandbox
[Description]Facepunch.ActionGraphs
[Dock]Editor
[EditorApp]Editor
[ExposeWhenCached]Facepunch.ActionGraphs
[ExpressionNode]Sandbox
[GameResource]Sandbox
[Group]Facepunch.ActionGraphs
[HasConversionFrom]Sandbox.ActionGraphs
[Hidden]Facepunch.ActionGraphs
[Hotload]
[Icon]Facepunch.ActionGraphs
[Impure]Sandbox
[Impure]Facepunch.ActionGraphs
[Inspector]Editor
[Library]Sandbox
[Line]Sandbox.ModelEditor
[MakeDirty]Sandbox
[Menu]Editor
[MethodBodyChange]Sandbox
[Node]Facepunch.ActionGraphs
[NodeDefinition]Facepunch.ActionGraphs
[Normal]
[Position]
[PropertyAccessorBodyChange]Sandbox
[Property]Sandbox
[Property]Facepunch.ActionGraphs
[Pure]Sandbox
[Pure]Facepunch.ActionGraphs
[Route]Microsoft.AspNetCore.Components
[Shortcut]Editor
[SupportsILHotload]Sandbox
[Tags]Facepunch.ActionGraphs
[Tangent]
[Target]Facepunch.ActionGraphs
[TexCoord]
[Tint]Sandbox
[Title]Facepunch.ActionGraphs