docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class DisableBootstrapOverridesAttribute

    Prevents a ICustomBootstrap from automatically being used by world initialization.

    Inheritance
    object
    Attribute
    DisableBootstrapOverridesAttribute
    Namespace: Unity.Entities
    Assembly: Unity.Entities.dll
    Syntax
    [AttributeUsage(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct, Inherited = false)]
    public class DisableBootstrapOverridesAttribute : Attribute
    Remarks

    By default, all systems (classes derived from ComponentSystemBase or ISystem) are automatically discovered, instantiated, and added to the default World when that World is created.

    Add this attribute to a type implementing ICustomBootstrap that you do not want to be used as the default bootstrap. Note that the attribute is not inherited by any subclasses. Also note that if multiple bootstraps are found, the one with the most derived type is used unless the attribute is present.

    using Unity.Entities;
    
    [DisableBootstrapOverrides]
    public class CustomBootstrap : ICustomBootstrap
    { // Implementation... }

    You can also apply this attribute to an entire assembly to prevent any bootstrap in that assembly from being created automatically. This is useful for test assemblies containing many bootstraps that expect to be tested in isolation.

    To declare an assembly attribute, place it in any C# file compiled into the assembly, outside the namespace declaration:

    using Unity.Entities;
    
    [assembly: DisableBootstrapOverrides]
    namespace Tests{}
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)