# AddSystemsToRootLevelSystemGroups

> Adds the collection of systems to the world by injecting them into the root level system groups (InitializationSystemGroup, SimulationSystemGroup and PresentationSystemGroup). Prefer the version that takes SystemTypeIndex's as an argument to avoid unnecessary reflection.

## Definition

* **Type:** Method
* **Namespace:** [Unity.Entities](/engine/7000.0/script-reference/unity/entities.md)
* **Assembly:** UnityEngine.EntitiesModule

## AddSystemsToRootLevelSystemGroups(World, IEnumerable\<Type>)

Adds the collection of systems to the world by injecting them into the root level system groups (InitializationSystemGroup, SimulationSystemGroup and PresentationSystemGroup). Prefer the version that takes SystemTypeIndex's as an argument to avoid unnecessary reflection.

```csharp
public static void AddSystemsToRootLevelSystemGroups(World world, IEnumerable<Type> systemTypes)
```

### Parameters

**** (\[World]\(/engine/7000.0/script-reference/unity/entities/world)): The World in which the root-level system groups should be created.**** (\[IEnumerable\<Type>]\(https\://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)): The system types to create and add.

## AddSystemsToRootLevelSystemGroups(World, IReadOnlyList\<Type>)

Adds the collection of systems to the world by injecting them into the root level system groups (InitializationSystemGroup, SimulationSystemGroup and PresentationSystemGroup). Prefer the version that takes SystemTypeIndex's as an argument to avoid unnecessary reflection.

```csharp
public static void AddSystemsToRootLevelSystemGroups(World world, IReadOnlyList<Type> systemTypes)
```

### Parameters

**** (\[World]\(/engine/7000.0/script-reference/unity/entities/world)): The World in which the root-level system groups should be created.**** (\[IReadOnlyList\<Type>]\(https\://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlylist-1)): The system types to create and add.

## AddSystemsToRootLevelSystemGroups(World, Type\[])

Adds the collection of systems to the world by injecting them into the root level system groups (InitializationSystemGroup, SimulationSystemGroup and PresentationSystemGroup). Prefer the version that takes SystemTypeIndex's as an argument to avoid unnecessary reflection.

```csharp
public static void AddSystemsToRootLevelSystemGroups(World world, params Type[] systemTypes)
```

### Parameters

**** (\[World]\(/engine/7000.0/script-reference/unity/entities/world)): The World in which the root-level system groups should be created.**** (\[Type\[]]\(https\://learn.microsoft.com/dotnet/api/system.type)): The system types to create and add.

## AddSystemsToRootLevelSystemGroups(World, NativeList\<SystemTypeIndex>)

Adds the collection of systems to the world by injecting them into the root level system groups (InitializationSystemGroup, SimulationSystemGroup and PresentationSystemGroup). This version avoids unnecessary reflection.

```csharp
public static void AddSystemsToRootLevelSystemGroups(World world, NativeList<SystemTypeIndex> systemTypes)
```

### Parameters

**** (\[World]\(/engine/7000.0/script-reference/unity/entities/world)): The World in which the root-level system groups should be created.**** (\[NativeList\<SystemTypeIndex>]\(/engine/7000.0/script-reference/unity/collections/nativelist1)): The system types to create and add.
