> For the complete documentation index, see [llms.txt](https://kinematicsoup.gitbook.io/scene-fusion/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/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sftypepropertynamemap.md).

# Class sfTypePropertyNameMap

Namespace: [KS.SceneFusion.Client.Unity.Editor](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor.md)\
Assembly: KSUnity-Source.dll

A map of property type names to sets of property names. For root-level properties, the type is the serialized object type, and for sub properties, it is the type of the container struct/class. Types are stored as string names instead of Types as some types only exist in C++ and all we can get from the serialized property is the type name.

```csharp
public class sfTypePropertyNameMap
```

#### Inheritance

object ← [sfTypePropertyNameMap](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sftypepropertynamemap.md)

## Methods

### Add\<T>(string) <a href="#ks_scenefusion_client_unity_editor_sftypepropertynamemap_add__1_system_string" id="ks_scenefusion_client_unity_editor_sftypepropertynamemap_add__1_system_string"></a>

Adds a property to the set.

```csharp
public void Add<T>(string name)
```

#### Parameters

`name` string

Property name.

#### Type Parameters

`T`

Type containing the property

### Add(string, string) <a href="#ks_scenefusion_client_unity_editor_sftypepropertynamemap_add_system_string_system_string" id="ks_scenefusion_client_unity_editor_sftypepropertynamemap_add_system_string_system_string"></a>

Adds a property to the set.

```csharp
public void Add(string typeName, string propertyName)
```

#### Parameters

`typeName` string

Name of the type containing the property

`propertyName` string

Property name

### GetProperties(Type) <a href="#ks_scenefusion_client_unity_editor_sftypepropertynamemap_getproperties_system_type" id="ks_scenefusion_client_unity_editor_sftypepropertynamemap_getproperties_system_type"></a>

Gets the set of all property names contained in this set for a type, including properties from base types. Returns null if there are no properties for the type.

```csharp
public HashSet<string> GetProperties(Type type)
```

#### Parameters

`type` Type

type to get properties for.

#### Returns

HashSet\<string>

set of property names for the type, or null if none were found.

### GetProperties(string) <a href="#ks_scenefusion_client_unity_editor_sftypepropertynamemap_getproperties_system_string" id="ks_scenefusion_client_unity_editor_sftypepropertynamemap_getproperties_system_string"></a>

Gets the set of all property names contained in this set for a type.

```csharp
public HashSet<string> GetProperties(string typeName)
```

#### Parameters

`typeName` string

typeName to get properties for.

#### Returns

HashSet\<string>

set of property names for the type, or null if none were found.

### Remove\<T>(string) <a href="#ks_scenefusion_client_unity_editor_sftypepropertynamemap_remove__1_system_string" id="ks_scenefusion_client_unity_editor_sftypepropertynamemap_remove__1_system_string"></a>

Removes a property from the set.

```csharp
public void Remove<T>(string name)
```

#### Parameters

`name` string

Property name.

#### Type Parameters

`T`

Type containing the property

### Remove(string, string) <a href="#ks_scenefusion_client_unity_editor_sftypepropertynamemap_remove_system_string_system_string" id="ks_scenefusion_client_unity_editor_sftypepropertynamemap_remove_system_string_system_string"></a>

Removes a property from the set.

```csharp
public void Remove(string typeName, string propertyName)
```

#### Parameters

`typeName` string

Name of the type containing the property

`propertyName` string

Property name
