I’ve spent a fair amount of time over the past month trying out various techniques of integrating support for Googles protocol buffers into UE4 for the purpose of allowing my client and server make RPCs to App Engine and would like to share the work with the community at large.
For various reasons our project is using protocol buffers as the definitive source for defining all data structures and RPCs. If anyone else is thinking about doing the same, this work may come in handy.
Link to the project is here and includes the following:
- Source and pre-built binaries for a protocol buffer compiler that will generate stubs that can be consumed in UE4
(Thanks to some previous work from Valve)
- UE4 project source which contains:
- Implementation of an RPC client adapter for making client RPC calls (uses FHTTP under the hood).
- Port of Googles libprotobuf into the UE4 build system (to avoid multi-heap dll issues).
- A little simple example of how to make an RPC with some of the provided stubs.
- AppEngine Java project which contains:
- Vendorized proto libraries ready for use
- Implementation of an RPC dispatcher which deserializes protobuf.
- Little sample of how to handle an incoming RPC.
I’ll be updating the project as time permits, and welcome any constructive comments or bugfixes
Above all, I hope you find this work useful as it has really enabled some exciting use-cases for cloud-backed UE4 clients - at least for me