API Reference

Interfaces

154 types

Type Name Description
interface DontExecuteOnServer A component with this interface will not run on dedicated servers.
interface ExecuteInEditor A component with this interface will run in the editor.
interface IActionComponent Sandbox.ActionGraphs A component that only provides actions to implement with an Action Graph.
interface IActionGraphCache Facepunch.ActionGraphs
interface IActionGraphDelegate Facepunch.ActionGraphs Wrapper for an ActionGraph invokable as a delegate, with optional overridden input values.
interface IActionGraphEvents Sandbox.ActionGraphs
interface IActionTrack Sandbox.MovieMaker Unused, will describe running actions in the scene.
interface IAlwaysInvokedAttribute Facepunch.ActionGraphs Marks an output signal that will always be dispatched before the default output signal. Used on a parameter of a method
interface IAssetEditor Editor A widget (usually window) implementing this will be able to edit assets via the asset browser. The widget should be mark
interface IBlockTool Editor.MapEditor Interface for the addon layer to implement, this is called from native Hammer.
interface IByteParsable Sandbox
interface IByteParsable<T> Sandbox
interface ICategoryProvider Sandbox.Internal Provides category or group for DisplayInfo of a member or a type.
interface IClassNameProvider Sandbox.Internal Provides internal class name for DisplayInfo of a member or a type.
interface ICodeEditor Editor Interface for editors to open code files. Any class that implements this interface is automatically added to the list. A
interface ICollisionListener A Component with this interface can react to collisions.
interface IColorProvider When applied to a Component, the component will be able to provide the color to use for certain UI editor elements.
interface ICompiledBlock Sandbox.MovieMaker.Compiled A block of time where something happens in an ICompiledTrack.
interface ICompiledBlockTrack Sandbox.MovieMaker.Compiled
interface ICompiledConstantBlock Sandbox.MovieMaker.Compiled This block has a single constant value for the whole duration. Useful for value types that can't be interpolated, and ch
interface ICompiledPropertyBlock Sandbox.MovieMaker.Compiled Interface for blocks describing a property changing value over time.
interface ICompiledPropertyBlock<T> Sandbox.MovieMaker.Compiled Interface for blocks describing a property changing value over time. Typed version of ICompiledPropertyBlock.
interface ICompiledPropertyTrack Sandbox.MovieMaker.Compiled
interface ICompiledReferenceTrack Sandbox.MovieMaker.Compiled
interface ICompiledSampleBlock Sandbox.MovieMaker.Compiled This block contains an array of values sampled at uniform intervals.
interface ICompiledTrack Sandbox.MovieMaker.Compiled
interface ICompileReferenceProvider Sandbox Allows you to look up references for a compiler.
interface IComponentCapturer Sandbox.MovieMaker When added to a MovieRecorderOptions, handles how to capture the properties of a particular component type.
interface IComponentLister Sandbox Interface for types that reference a ComponentList, to provide convenience method for accessing that list.
interface IControlSheet Sandbox.Internal Interface for a control sheet that manages the display of serialized properties in a structured way.
interface IDamageable A component that can be damaged by something.
interface IDescriptionAttribute Facepunch.ActionGraphs
interface IDescriptionProvider Sandbox.Internal Provides a description for DisplayInfo of a member or a type.
interface IDynamicBlock Sandbox.MovieMaker A ITrackBlock that can change dynamically, usually for previewing edits / live recordings.
interface IDynamicFloatContext Sandbox
interface IEditorAttribute<T> Editor Allows an editor widget to provide an attribute that it can use. Editors with attributes are chosen over editors without
interface IEditorAttributeBase Editor.Internal
interface IEntityTool Editor.MapEditor Interface for the addon layer to implement, this is called from native Hammer.
interface IEventListener
interface IEventListener Implement this interface to receive navmesh editor events.
interface IEventListener Callbacks for the asset system. Add this interface to your Widget to get events.
interface IEventListener
interface IEvents Events from the PlayerController
interface IExposeWhenCachedAttribute Facepunch.ActionGraphs Declares that instances of the marked type can't be cached in a ActionGraphCache. For example, if they might contain an
interface IFixedUpdateSubscriber Sandbox.Internal Automatically added to classes that implement OnFixedUpdate()
interface IGameInstance Sandbox Todo: make internal - the only thing using ir right now is the binds system
interface IGameObjectNetworkEvents Sandbox Allows listening to network events on a specific GameObject
interface IGraphLoader Facepunch.ActionGraphs
interface IGroupAttribute Facepunch.ActionGraphs
interface IHasBounds A component that has bounds
interface IHiddenAttribute Facepunch.ActionGraphs
interface IHotloadManaged Sandbox During hotloads, instances of types implementing this interface will be notified when they get replaced.
interface IIconAttribute Facepunch.ActionGraphs
interface IIconProvider Sandbox.Internal Provides an icon for DisplayInfo of a member or a type.
interface IImpureAttribute Facepunch.ActionGraphs Declares a method to have side effects, even if it's declared as readonly.
interface IInterpolator<T> Sandbox.MovieMaker Interpolates between two values of the same type.
interface IJsonConvert Sandbox Allows writing JsonConverter in a more compact way, without having to pre-register them.
interface IJsonPopulator Sandbox Objects that need to be deserialized into can implement this interface which allows them to be populated from a JSON obj
interface ILinkSource Facepunch.ActionGraphs
interface ILocalVariableSource Facepunch.ActionGraphs.Compilation
interface IMapViewDropTarget Editor.MapEditor Provides an interface for dragging and dropping Asset or Package on a map view. Use with CanDropAttribute to register yo
interface IMaterialSetter
interface IMemberAttribute Sandbox When applied to an attribute, which is them applied to a member.. This will make MemberDescription set on the attribute
interface IMemberNameProvider Sandbox.Internal
interface IMenuSystem Sandbox.Internal This is how the engine communicates with the menu system
interface IMessageContext Facepunch.ActionGraphs Interface for action graph elements that can be the context of a ValidationMessage.
interface IModalSystem Sandbox.Modals
interface IMovieClip Sandbox.MovieMaker A collection of ITracks describing properties changing over time and actions being invoked.
interface IMovieProject Sandbox.MovieMaker An editor-only movie project that can be compiled into a MovieClip.
interface IMovieResource Sandbox.MovieMaker A container for a MovieClip, including optional EditorData.
interface IMovieTrackRecorder Sandbox.MovieMaker Watches some object or property in the scene, capturing its state whenever Capture is called.
interface INavigationEvent Sandbox.UI.Navigation Broadcast to all ancestors when the url changes
interface INavigatorPage Sandbox.UI.Navigation When applied to a page of a navigator, this will receive callbacks when the page is made visible and closed
interface INetworkListener A Component with this interface can react to network events.
interface INetworkSnapshot When implemented on a Component or GameObjectSystem it can read and write data to and from a network snapshot.
interface INetworkSpawn A Component with this interface can listen for when a GameObject in its ancestors has been network spawned.
interface INetworkVisible A Component with this interface can determine whether a networked object should be visible for a specific Connection.
interface INode Sandbox.Html
interface INodeAttribute Facepunch.ActionGraphs Used to define ActionGraph nodes using static methods, properties, or constructors.
interface INodeContainer Facepunch.ActionGraphs
interface INodeDefinitionAttribute Facepunch.ActionGraphs Marks a class extending NodeDefinition that should be automatically added to a NodeLibrary when Assembly) is called.
interface INodeExpressionBuilder Facepunch.ActionGraphs.Compilation
interface INoiseField Sandbox.Utility A noise function that can be sampled at a 1-, 2-, or 3D position. Samples will be between 0 and 1. Thread-safe.
interface IOrderProvider Sandbox.Internal Provides an order number for DisplayInfo of a member or a type.
interface IOutputValue Facepunch.ActionGraphs.Compilation Describes a node output in this scope. It can either have a local variable that gets set during the body of its node, or
interface IPanel Sandbox.Internal
interface IParameter
interface IParameterDefinition Facepunch.ActionGraphs Base interface for PropertyDefinition, InputDefinition and OutputDefinition.
interface IPathTool Editor.MapEditor Interface for the addon layer to implement, this is called from native Hammer.
interface IPlaceholderProvider Sandbox.Internal Provides placeholder text for DisplayInfo of a member or a type.
interface IPopupEditor<T> Editor An popup editor capable of editing type T. This is created when EditorUtility.OpenControlSheet is called, which is gene
interface IPreRenderSubscriber Sandbox.Internal Automatically added to classes that implement OnPreRender()
interface IPressable A component that can be pressed. Like a button. This could be by a player USE'ing it, or by a player walking on it, or
interface IProgress Editor
interface IProgressSection Editor
interface IPropertyAttribute Facepunch.ActionGraphs For binding in methods marked with a NodeAttribute, this parameter should only be configurable in the inspector as a pro
interface IPropertyBlock Sandbox.MovieMaker A IPropertySignal with a defined start and end time.
interface IPropertyBlock<T> Sandbox.MovieMaker A IPropertySignal`1 with a defined start and end time.
interface IPropertySignal Sandbox.MovieMaker Describes a value that changes over time.
interface IPropertySignal<T> Sandbox.MovieMaker
interface IPropertyTrack Sandbox.MovieMaker Controls an ITrackProperty in the scene. Defines what value that property should have at each moment of time.
interface IPropertyTrack<T> Sandbox.MovieMaker
interface IPureAttribute Facepunch.ActionGraphs Declares a method to not have any side effects, it only performs a calculation using its inputs and outputs a result.
interface IReadOnlyOutputValue Facepunch.ActionGraphs.Compilation
interface IReferenceTrack Sandbox.MovieMaker Maps to an ITrackReference in a scene, which binds to a GameObject or Component.
interface IReferenceTrack<T> Sandbox.MovieMaker
interface IRevision
interface ISceneCameraSetup Obsolete 02/10/2025
interface ISceneCollisionEvents Sandbox Listen to all collision events that happen during a physics step.
interface ISceneEdited
interface ISceneEditorSession
interface ISceneEvent<T> Sandbox A wrapper for scene event interfaces. Allows syntax sugar of something like `IPlayerEvents.Post( x =&gt; x.OnPlayerHurt(
interface ISceneLoadingEvents Sandbox Allows listening to events related to scene loading
interface ISceneMetadata Sandbox Allows components to add metadata to the scene/prefab file, which is accessible before loading it.
interface IScenePhysicsEvents Sandbox Allows events before and after the the physics step
interface ISceneStage Called on update start. This is the very first thing called.
interface ISceneStartup Sandbox Allows listening to events related to scene startup. This should really only apply to GameObjectSystem's because compone
interface ISceneUndoScope
interface ISceneView Allows tools to inject behaviour in the scene editor.
interface ISerializationOptionProvider Sandbox.ActionGraphs A ISourceLocation that provides SerializationOptions.
interface ISitTarget Sandbox.Movement A component that can be sat in by a player. If the player is parented to an object with this component, they will be sit
interface ISourceColumnProvider Sandbox.Internal
interface ISourceLineProvider Sandbox.Internal
interface ISourceLocation Facepunch.ActionGraphs Interface for types that identify the source of an ActionGraph.
interface ISourcePathProvider Sandbox.Internal
interface ISpriteRenderGroup Sandbox Base interface for components that can be grouped for sprite rendering. Contains the 4 fields needed for render group cl
interface IStyleBlock Sandbox.UI A CSS rule - ie ".chin { width: 100%; height: 100%; }"
interface IStyleTarget Sandbox.UI Everything the style system needs to work out a style
interface ITagsAttribute Facepunch.ActionGraphs
interface ITarget The target of a MaterialAccessor. This is the object that will be modified when setting or clearing material overrides.
interface ITargetAttribute Facepunch.ActionGraphs For binding in methods marked with a NodeAttribute, this parameter represents the target instance object the method is e
interface ITemporaryEffect Allows components to indicate their state in a generic way. This is useful if you have a temporary effect system in whic
interface ITintable A Component that lets you change its color.
interface ITitleAttribute Facepunch.ActionGraphs
interface ITitleProvider Sandbox.Internal Provides a title or a "nice name" for DisplayInfo of a member or a type.
interface IToolFactory Editor.MapEditor
interface ITraceProvider When implementing an ITraceProvider, the most important thing to keep in mind is that the call to DoTrace should be thre
interface ITrack Sandbox.MovieMaker Maps to a ITrackTarget in a scene, and describes how it changes over time.
interface ITrackBlock Sandbox.MovieMaker A time region where something happens in a movie track.
interface ITrackProperty Sandbox.MovieMaker A target referencing a member property or field of another target.
interface ITrackProperty<T> Sandbox.MovieMaker
interface ITrackPropertyFactory Sandbox.MovieMaker.Properties Used by TrackBinder to create ITrackProperty instances that allow ITracks to modify values in a scene.
interface ITrackPropertyFactory<TParent,TValue> Sandbox.MovieMaker.Properties An ITrackPropertyFactory that only creates properties nested inside a particular target type, and that always have the
interface ITrackPropertyFactory<TParent> Sandbox.MovieMaker.Properties An ITrackPropertyFactory that only creates properties nested inside a particular target type.
interface ITrackReference Sandbox.MovieMaker A target referencing a GameObject or Component in the scene.
interface ITrackReference<T> Sandbox.MovieMaker
interface ITrackTarget Sandbox.MovieMaker Something in the scene that is being controlled by an ITrack. This could be a GameObject or Component refere
interface ITrackTarget<T> Sandbox.MovieMaker
interface ITriggerListener A Component with this interface can react to interactions with triggers.
interface ITypeAttribute Sandbox When applied to an attribute, which is then applied to a type.. This will make TargetType set on the attribute upon load
interface ITypeLoader Facepunch.ActionGraphs An implementation of this interface will wrap reflection calls, allowing custom access control. See DefaultTypeLoader fo
interface IUpdateSubscriber Sandbox.Internal Automatically added to classes that implement OnUpdate()
interface IValid Sandbox Interface for objects that can become invalid over time, such as references to deleted game objects or disposed resource
interface IVolume