csharp
public sealed class ComponentAttributeMarks a type as an ECS component. The reflection generator assigns it a ComponentTypeId and registers it into the per-assembly type registry at module initialisation, so no type scanning happens at run time.
As a annotation
- Valid on
- Class, Struct
Remarks
⚠ With DataContractAttribute beside it, this is also what lets a scene place one. The engine's component generator declares every type carrying both to SceneComponentRegistry, which is what puts it in the inspector, in the Add Component menu, in a .vxscene and in a compiled one. The two attributes answer two questions — "the ECS may attach it" and "it can be described and turned into bytes" — and a component that answers only the first is a handle its own bridge writes, which is exactly the thing a scene must not carry.
Used by (65, showing 40)
- BoxCollisionThirdPersonShooter
- CharacterVisualsThirdPersonShooter
- SpawnPointThirdPersonShooter
- AngularVelocityVixen.Physics
- AnnotationTestsVixen.Core.Tests
- AudioClipRefVixen.Audio
- AudioEventRefVixen.Audio
- AudioListenerComponentVixen.Audio
- AudioReverbZoneRefVixen.Audio
- AudioSourceVixen.Audio
- AudioSpatialVixen.Audio
- CameraVixen.Engine
- CameraConfinerVixen.Engine
- CameraDirectorVixen.Engine
- CameraImpulseListenerVixen.Engine
- CameraNoiseVixen.Engine
- CameraOcclusionVixen.Engine
- CameraShotVixen.Engine
- CameraTargetsVixen.Engine
- CharacterMovementVixen.Physics
- CharacterStateVixen.Physics
- ColliderVixen.Physics
- ComposerAimVixen.Engine
- ControlRotationVixen.Engine
- FoliageBlockerComponentVixen.Rendering.Terrain
- FollowBodyVixen.Engine
- FramingBodyVixen.Engine
- HardLockBodyVixen.Engine
- HardLookAimVixen.Engine
- LightVixen.Rendering
- LinearVelocityVixen.Physics
- MatchTargetAimVixen.Engine
- MeshRenderableVixen.Rendering
- MoveIntentVixen.Engine
- NetworkIdVixen.Net
- NetworkTransformVixen.Net
- OrbitBodyVixen.Engine
- PlayerControllerVixen.Engine
- PlayerPawnVixen.Net.Engine
- PossessedByVixen.Engine