> For the complete documentation index, see [llms.txt](https://kinematicsoup.gitbook.io/reactor/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kinematicsoup.gitbook.io/reactor/api-reference/ks.reactor/ks.reactor.ksspawnparams.md).

# Class ksSpawnParams

Namespace: [KS.Reactor](/reactor/api-reference/ks.reactor.md)\
Assembly: KSCommon.dll

Parameters for spawning entities.

```csharp
public class ksSpawnParams
```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) â† [ksSpawnParams](/reactor/api-reference/ks.reactor/ks.reactor.ksspawnparams.md)

#### Derived

[ksClientSpawnParams](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksclientspawnparams.md), [ksSpawnParams2D](/reactor/api-reference/ks.reactor/ks.reactor.ksspawnparams2d.md)

#### Inherited Members

[object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object\)), [object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object-system-object\)), [object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode), [object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype), [object.MemberwiseClone()](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone), [object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), [object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)

## Constructors

### ksSpawnParams() <a href="#ks_reactor_ksspawnparams__ctor" id="ks_reactor_ksspawnparams__ctor"></a>

Constructor

```csharp
public ksSpawnParams()
```

### ksSpawnParams(string) <a href="#ks_reactor_ksspawnparams__ctor_system_string" id="ks_reactor_ksspawnparams__ctor_system_string"></a>

Constructor

```csharp
public ksSpawnParams(string entityType)
```

#### Parameters

`entityType` [string](https://learn.microsoft.com/dotnet/api/system.string)

Entity type to spawn

### ksSpawnParams(uint) <a href="#ks_reactor_ksspawnparams__ctor_system_uint32" id="ks_reactor_ksspawnparams__ctor_system_uint32"></a>

Constructor

```csharp
public ksSpawnParams(uint assetId)
```

#### Parameters

`assetId` [uint](https://learn.microsoft.com/dotnet/api/system.uint32)

Asset id of entity to spawn.

## Fields

### m\_assetId <a href="#ks_reactor_ksspawnparams_m_assetid" id="ks_reactor_ksspawnparams_m_assetid"></a>

```csharp
protected uint m_assetId
```

#### Field Value

[uint](https://learn.microsoft.com/dotnet/api/system.uint32)

### m\_entityType <a href="#ks_reactor_ksspawnparams_m_entitytype" id="ks_reactor_ksspawnparams_m_entitytype"></a>

```csharp
protected string m_entityType
```

#### Field Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

## Properties

### AssetId <a href="#ks_reactor_ksspawnparams_assetid" id="ks_reactor_ksspawnparams_assetid"></a>

The asset id of the entity to spawn. If non-zero, this is used to identify the entity to spawn instead of [EntityType](#KS_Reactor_ksSpawnParams_EntityType). Can be used to spawn a specific entity in a collection.

```csharp
public uint AssetId { get; set; }
```

#### Property Value

[uint](https://learn.microsoft.com/dotnet/api/system.uint32)

### EntityType <a href="#ks_reactor_ksspawnparams_entitytype" id="ks_reactor_ksspawnparams_entitytype"></a>

The entity type to spawn. Leave null or empty string to spawn an empty entity. Otherwise if the entity type cannot be found, no entity will be spawned.

```csharp
public string EntityType { get; set; }
```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

### OwnerId <a href="#ks_reactor_ksspawnparams_ownerid" id="ks_reactor_ksspawnparams_ownerid"></a>

The player id of the owner to spawn with. Zero for no owner.

```csharp
public uint OwnerId { get; set; }
```

#### Property Value

[uint](https://learn.microsoft.com/dotnet/api/system.uint32)

### Permissions <a href="#ks_reactor_ksspawnparams_permissions" id="ks_reactor_ksspawnparams_permissions"></a>

The owner permissions to spawn with. Does nothing if not spawning with an owner.

```csharp
public ksOwnerPermissions Permissions { get; set; }
```

#### Property Value

[ksOwnerPermissions](/reactor/api-reference/ks.reactor/ks.reactor.ksownerpermissions.md)

### PlayerController <a href="#ks_reactor_ksspawnparams_playercontroller" id="ks_reactor_ksspawnparams_playercontroller"></a>

A clone of this controller will be attached to the spawned entity. Does nothing if not spawning with an owner.

```csharp
public ksPlayerController PlayerController { get; set; }
```

#### Property Value

[ksPlayerController](/reactor/api-reference/ks.reactor/ks.reactor.ksplayercontroller.md)

### Properties <a href="#ks_reactor_ksspawnparams_properties" id="ks_reactor_ksspawnparams_properties"></a>

Properties to spawn with.

```csharp
public Dictionary<uint, ksMultiType> Properties { get; set; }
```

#### Property Value

[Dictionary](https://learn.microsoft.com/dotnet/api/system.collections.generic.dictionary-2)<[uint](https://learn.microsoft.com/dotnet/api/system.uint32), [ksMultiType](/reactor/api-reference/ks.reactor/ks.reactor.ksmultitype.md)>

### ScaleMode <a href="#ks_reactor_ksspawnparams_scalemode" id="ks_reactor_ksspawnparams_scalemode"></a>

Is the spawn scale a relative or absolute scale?

```csharp
public ksSpawnParams.ScaleModes ScaleMode { get; set; }
```

#### Property Value

[ksSpawnParams](/reactor/api-reference/ks.reactor/ks.reactor.ksspawnparams.md).[ScaleModes](/reactor/api-reference/ks.reactor/ks.reactor.ksspawnparams/ks.reactor.ksspawnparams.scalemodes.md)

### Transform <a href="#ks_reactor_ksspawnparams_transform" id="ks_reactor_ksspawnparams_transform"></a>

The transform to spawn at.

```csharp
public ksTransformState Transform { get; set; }
```

#### Property Value

[ksTransformState](/reactor/api-reference/ks.reactor/ks.reactor.kstransformstate.md)

## Methods

### Create() <a href="#ks_reactor_ksspawnparams_create" id="ks_reactor_ksspawnparams_create"></a>

Fetches a [ksSpawnParams](/reactor/api-reference/ks.reactor/ks.reactor.ksspawnparams.md) from the pool, or creates one if the pool is empty.

```csharp
public static ksSpawnParams Create()
```

#### Returns

[ksSpawnParams](/reactor/api-reference/ks.reactor/ks.reactor.ksspawnparams.md)

Spawn parameters

### Create(string) <a href="#ks_reactor_ksspawnparams_create_system_string" id="ks_reactor_ksspawnparams_create_system_string"></a>

Fetches a [ksSpawnParams](/reactor/api-reference/ks.reactor/ks.reactor.ksspawnparams.md) from the pool, or creates one if the pool is empty.

```csharp
public static ksSpawnParams Create(string entityType)
```

#### Parameters

`entityType` [string](https://learn.microsoft.com/dotnet/api/system.string)

Entity type to spawn

#### Returns

[ksSpawnParams](/reactor/api-reference/ks.reactor/ks.reactor.ksspawnparams.md)

Spawn parameters

### Create\<T>() <a href="#ks_reactor_ksspawnparams_create__1" id="ks_reactor_ksspawnparams_create__1"></a>

Fetches a `T` from the pool, or creates one if the pool is empty.

```csharp
protected static T Create<T>() where T : ksSpawnParams
```

#### Returns

T

Spawn parameters

#### Type Parameters

`T`

Type of spawn parameters to create.

### Release() <a href="#ks_reactor_ksspawnparams_release" id="ks_reactor_ksspawnparams_release"></a>

Returns the spawn parameters object to the pool.

```csharp
public virtual void Release()
```

### Release\<T>() <a href="#ks_reactor_ksspawnparams_release__1" id="ks_reactor_ksspawnparams_release__1"></a>

Returns the spawn parameters object to the pool.

```csharp
protected void Release<T>() where T : ksSpawnParams
```

#### Type Parameters

`T`

Type of spawn parameters

### Reset() <a href="#ks_reactor_ksspawnparams_reset" id="ks_reactor_ksspawnparams_reset"></a>

Resets parameters to their default values.

```csharp
protected virtual void Reset()
```

### TransformAssigned() <a href="#ks_reactor_ksspawnparams_transformassigned" id="ks_reactor_ksspawnparams_transformassigned"></a>

Base classes can derive this to take action when a new transform is assigned.

```csharp
protected virtual void TransformAssigned()
```

### Validate(bool) <a href="#ks_reactor_ksspawnparams_validate_system_boolean" id="ks_reactor_ksspawnparams_validate_system_boolean"></a>

Validates the parameters.

```csharp
public virtual bool Validate(bool log = true)
```

#### Parameters

`log` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

True to log warnings

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

True if the spawn parameters are valid.
