Pulse Provides a C# API that uses a C interface to communicate with a Pulse Engine
The C# API build into a .NET dll that you can import into C# based applications, such as Unity. All of our Unity scripts use this Pulse library for data exchange between C# and the C++ based engine
Exploring the C# API
We provide a MSVC sln file that contains projects for building all of the Pulse .NET libraries needed for C#. We also provide a simple Command Line Application with several functions describing how to use the C# API.
Building the Protobuf .NET Library
The Pulse data model is implemented in Protobuf, and will require the Protobuf library to serialize between C# and C++. As part of the Pulse superbuild, Pulse pulled the protobuf source code which contains a GoogleProtobuf.sln you will need to open and build. It is located this build subdirectory <build_dir>/External/protobuf/src/csharp/src
. Open this solution and build the Google.Protobuf project in Release/Any CPU. It will build several .NET dlls, of which I use <build_dir>/External/protobuf/src/csharp/src/Google.Protobuf/bin/Release/net45/Google.Protobuf.dll
Building the Pulse .NET Library
Open the PulseCSharp.sln, and open the References for the Pulse project. You will need to add the Google.Protobuf.dll as a reference to the Pulse project.
Now you may set the HowTo project as your start up project and edit the Program.cs file to execute and step various HowTo provided methods.
To learn more about working with the Pulse API, you can find HowTo folders in many of the language folders in src Pulse provides an API for each of these languages, and they are designed to be very consistent with each other. So if you are looking for how to use a particular feature in Pulse and the language you are using does not provide an example, look around in the other languages and it should be trivial to translate to the language of your application.