Home

Awesome

Vizor Infraworld Cornerstone

License Build Status

Cornerstone is a fast and robust converter utility, used to generate UE4-friendly code to provide gRPC functionality into your game. The generated code can be used for both C++ and Blueprints, and thus should be placed into your project's Source or Plugin's source folder to be able to be compiled and executed. You shouldn't modify the generated code (at least within normal, not debug conditions). Instead if you want some behavior change - you should look into the Options section.

It has to be used with the Infraworld Runtime plugin for Unreal Engine 4.

Building

You need a JDK 8+ installation (we recommend Java SE Development Kit 8u172, but it was tested to be built and ran alongside with Java9 or Java10 as well).

Being written 100% in Java 8, Cornerstone can be built using Maven (See how to intstall Maven for Windows, but I definitely recommend you to use chocolatey for package management).

To build the converter executable and run it's tests, just run:

mvn package

Then you can find built jar as target/cornerstone.jar. Since it is compiled as an executable jar, you may run it by just using:

java -jar target/cornerstone.jar

Usage

Since Cornerstone is a quite complex program, it uses command line arguments and/or configuration YML files to decide what to do. Cornerstone has to be built with it's base configuration file to define some base options.

Two possible ways to re-define options are:

Command line option > Override config option > Base config option

List of available options:

Additional options (only available from CLI):

Limitations

Despite the fact, that both proto2 and proto3 syntaxes are supported, there's several limitations applied to your code:

Debugging

Since Cornerstone is an open source software, you may want to debug it or add some extra functionality. Since it is distributed as Maven project, you can import it as a Maven solution for Eclipse, Intellij IDEA or any of your favorite Java IDE.

Contribution

Please feel free to report known bugs, propose new features and improve tests using Github's pull request system. Thank you very much for contributing into free software.