# SerializationHostingExtensions Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.serialization.protobuf/orleans.serialization.serializationhostingextensions/)

## AddProtobufSerializer(ISerializerBuilder) {#addprotobufserializer-this-orleans-serialization-iserializerbuilder-4c2c7312}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization.protobuf/orleans.serialization.serializationhostingextensions/methods/addprotobufserializer-this-orleans-serialization-iserializerbuilder-4c2c7312/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Serializers/Orleans.Serialization.Protobuf/SerializationHostingExtensions.cs#L23-L25)

```csharp
public static ISerializerBuilder AddProtobufSerializer(this ISerializerBuilder serializerBuilder)
```

Adds support for serializing and deserializing Protobuf IMessage types using `Google.Protobuf.MessageParser`.

### Parameters

- `serializerBuilder` (`ISerializerBuilder`): The serializer builder.

## AddProtobufSerializer(ISerializerBuilder, Func&lt;Type, bool&gt;, Func&lt;Type, bool&gt;) {#addprotobufserializer-this-orleans-serialization-iserializerbuilder-system-func-5017d14a}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization.protobuf/orleans.serialization.serializationhostingextensions/methods/addprotobufserializer-this-orleans-serialization-iserializerbuilder-system-func-5017d14a/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Serializers/Orleans.Serialization.Protobuf/SerializationHostingExtensions.cs#L38-L68)

```csharp
public static ISerializerBuilder AddProtobufSerializer(this ISerializerBuilder serializerBuilder, Func<Type, bool> isSerializable, Func<Type, bool> isCopyable)
```

Adds support for serializing and deserializing Protobuf IMessage types using `Google.Protobuf.MessageParser`.

### Parameters

- `serializerBuilder` (`ISerializerBuilder`): The serializer builder.
- `isSerializable` (`Func<Type, bool>`): A delegate used to indicate which types should be serialized by this codec.
- `isCopyable` (`Func<Type, bool>`): A delegate used to indicate which types should be copied by this codec.
