ConfigCat SDK is an open source project. Feedback and contribution are welcome. Contributions are made to this repo via Issues and Pull Requests.
The ConfigCat SDK team monitors the issue tracker in the SDK repository. Bug reports and feature requests specific to this SDK should be filed in this issue tracker. The team will respond to all newly filed issues.
We encourage pull requests and other contributions from the community.
- Before submitting pull requests, ensure that all temporary or unintended code is removed.
- Be accompanied by a complete Pull Request template (loaded automatically when a PR is created).
When you submit a pull request or otherwise seek to include your change in the repository, you waive all your intellectual property rights, including your copyright and patent claims for the submission. For more details please read the contribution agreement.
In general, we follow the "fork-and-pull" Git workflow
- Fork the repository to your own Github account
- Clone the project to your machine
- Create a branch locally with a succinct but descriptive name
- Commit changes to the branch
- Following any formatting and testing guidelines specific to this repo
- Push changes to your fork
- Open a PR in our repository and follow the PR template so that we can efficiently review the changes.
This SDK is a wrapper around the CPP-SDK to expose the functionality inside Unreal Engine Blueprints & C++.
To contribute the ConfigCat SDK for Unreal Engine, you will need to have:
- Install Unreal Engine either via official release or a source built
- Install the C++ Prequistes required for Unreal Engine
- Create a C++ based project
Optionally: complete the platform specific set-up,e.g.: iOS, Android, Linux or other platform you might target.
To install you have to complete the following steps:
- Create a
Plugins
folder inside your root folder - Clone the repository inside your
Plugins
folder using:git clone https://github.com/configcat/unreal-engine-sdk
- Start the Unreal Editor
- Enable the ConfigCat plugin using the Enabling a plugin steps
- Regenerate your project files and recompile your project
The plugin functionality can be accessed inside Unreal Engine by leveraging the UConfigCatSubsystem
.
Either via C++:
const FString MyValue = UConfigCatSubsystem::Get()->GetStringValue(TEXT("MyKey"), TEXT(""), {});
UE_LOG(LogTemp, Warning, TEXT("%s"), *MyValue);
Or via Blueprints:
If you need to change or test core functionality of the SDK, you might need to rebuild the .lib
or .a
loaded by the plugin.
The easiest way to achieve this is to use vcpkg with the --editable
flag.
-
On Windows:
git clone https://github.com/microsoft/vcpkg .\vcpkg\bootstrap-vcpkg.bat
-
On Linux/Mac:
git clone https://github.com/microsoft/vcpkg ./vcpkg/bootstrap-vcpkg.sh
Optionally you can use one of the Dockerfiles inside build-environments to get all the prequistes for certain platform pre-installed.
Depending on your target platform, you might want to use a specific triplet. If you are unusure what triplet you need to use, you can check the build CPP-SDK action and copy the --triplet XXX
part.
for instance to build the .a
for android, you will need to run:
./vcpkg/vcpkg install configcat --editable --triplet arm64-android
After installing you can navigate to the ConfigCat source: /vcpkg/buildtrees/configcat/src/vX.Y.Z-COMMIT/
(e.g.: /vcpkg/buildtrees/configcat/src/v3.0.0-da9db9971a
) and modify the source as you need.
To force vcpkg to rebuild your changes run:
./vcpkg/vcpkg install remove configcat --triplet arm64-android
./vcpkg/vcpkg install configcat --editable --triplet arm64-android
NOTE: replace arm64-android
with your triplet as needed.
After rebuilding you will need to copy the resuling .lib
or .a
files built by vcpkg into the plugin.
You can find the new binaries inside:
- On Windows:
/vcpkg/installed/arm64-android/lib/
- On Linux/Mac:
/vcpkg/installed/arm64-android/configcat/lib