Lead The Way
[!NOTE] Following the acquisition of GitHub by Microsoft, VOIDWARE Prohibited has taken the principled acion and have begun primarily hosting our code and content on Codeberg. Mirrors will still be maintained on GitHub and GitLab.
Replicated True North Game State Component. Axos provides an easily accessible, multiplayer-ready, global North direction parameter for use in Navigation, Day Night systems, Widgets, Materials or anything else.
Chronos is a part of the Target Vector framework.
🌐Site • 📚Wiki • 📘Documentation • 📑Roadmap • 🐤Twitter • 🗨️Discord
Drive Player and AI Navigation, Storytelling. Weather, Materials, Particles and anything else with a global, authoritative, coordinate system.
[!WARNING] Axos is under heavy development, many features may not be finished or production-ready. Use at your own risk.
- Axos Game State Component.
- Axos Game State Interface.
- Axos Level Actor - Override the True North value with the rotation of the Axos Level Actor.
- Blueprint Function Library.
- Write True North value to a Material Parameter Collection.
- Demo Compass UMG Widget.
- Demo Player Character.
Not available on Fab. Please perform Manual Installation
No Releases yet. Plesae Compile From Source Code
- Install and setup all Dependencies (if required).
- Download Latest Release from Releases.
- Unzip to your project
Pluginsfolder. - (Re)Start Unreal Engine Editor.
Your host machine must fulfill additional System Requirements to compile this project from source.
- A working UE5 C++ Integrated Developement Environment(IDE)
- Tested: Jetbrains Rider, VS Code, Visual Studio (Windows)
- Untested: XCode (MacOS), Jetbrains Rider, VS Code, Visual Studio (Linux)
- clang -20 13.0.1
- Install and setup all Compiliation System Requirements.
- Install and setup all Dependencies (if required).
- Clone/download Axos into your projects Plugin folder.
- (Re)Build Plugin with the
BuildPlugin.batScript or (Re)Build Project normally with your IDE. - Once compilation is successful you can now begin using Chronos in your project
Full Installation Instructions are available in the Chronos Wiki Full Installation instructions available in Axos Documentation - Full Installation
To view a working demonstration, load and play the L_Axos level in the /Levels folder. The Demo Widget will allow you to adjust parameters in Realtime.
To integrate Axos into a new or existing Game State, some setup is required:
- Add Axos Game State Component and Axos Game State Interface to your Game State.
- Implement GetAxosGameStateComponent.
- Implement GetNorthRotation.
- Implement GetNorthRotationOverride
- Set "Use Override Yaw" to True on Axos Game State Component
The full Getting Started guide is available in the Chronos Wiki
Content Overview
(root)/ # Demo Game Mode and Game State
├──Components/
├── AxosGameStateComponent # Game State Component.
├──Interfaces/
├── AxosGameStateInterface # Game State Interface.
├──Actors/
├── AxosLevelActor # Axos Level Actor.
├──Data/
├── Compass # Sample Compass and Marker Data Assets.
├── MPC # Material Parameter Collection.
├──Characters/ # Demo AxosCharacter Class.
├── Input # AxosCharacter Input.
├──Levels/ # Demo Level(s).
For detailed descriptions all Settings, please consult the Chronos Wiki or the Chronos Documentation.
To encourage and facilitate the adoption of CI/CD and TDD, this project is preconfigured for CI/CD with the Workflows and Scripts below.
Systems performing Continous Intergration Workflows will have additional requirements depending on the CI solution used.
- Git
- OpenCppCoverage
- Domain Name or ngrok (For Self Hosted CI)
- Workflow Actions services and Runners configured for Forgejo/Codeberg, GitHub or GitLab
- Jenkins and Java 11 (For Jenkins)
CI workflow YAML files are included for Forgejo/Codeberg, GitHub and GitLab and feature Cross-compilation to target both Windows and Linux from a Windows host.
ue-plugin-ci Build, Test, Code Coverage, Upload to Codecov, Update Changelog, Update Status. Activated with any push.
ue-plugin-ci-release Build, Cook, Package, Test, Code Coverage, Upload to Codecov, Update Changelog, Update Status. Activated with a v* tag in the commit.
changelog Generates and commits CHANGELOG.md. Activated with a v* tag in the commit.
doxygen-remote-repo Generates doxygen Documentation. Activated with any push to stable branch.
greetings Welcomes new Contributors when they submit a new Issue or Pull Request.
Batch(Windows) and Shell(Linux) scripts are included for convenience and automation.
./BuildPlugin.bat- Build Plugin Batch Script./BuildPlugin.sh- Build Plugin Shell Script./RunAutomatedTests.bat- Run Automated Tests Batch Script./RunAutomatedTests.sh- Run Automated Tests Shell Script
The provided tests can be run in an Action Workflow or run manually with RunUAT. Learn more about Unreal Engine Automated Testing in the Run Automated Tests documentation.
AxosTest
OpenCodeCoverage will perform Code Coverage analysis and publish an XML file as a Commit Artifact, which can optionally be uploaded to a configured Codecov account. You will need to first generate an Access Token from your Codecov account and add it your Forgejo/Codeberg, GitHub or GitLab Secrets as CODECOV_TOKEN.
Contibutors and PRs are very welcome! If you wish to contribute, please follow CONTRIBUTING to get started.
This project is dual-licensed. It is available for absoultely free under the MIT License for most Individuals and Organizations. If your organization, industry or application is listed in the Commercial License, please Contact Us.
Any git submodules are covered by their respective licenses. Content listed in the Attributions are covered by their respective licenses.
Üriel is an Independent Developer, Music Producer, and Artist based out of the California Bay Area.
Specializing in C++, C#, ECMA/Javascript, DevOps, SysAdmin and Automation. Founder of @Voidware-Prohibited, @Voidware-Tactical and @PortlandAssembly. Twitter. Dev Profile. Request Consultation
Please view ATTRIBUTIONS
