Skip to content
Voidware-ProhibitedPublic

About

Replicated True North Game State Component.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Axos

Lead The Way

Axos

Status: pre--αlpha  Last commit

GitHub issues  GitHub pull requests  VOIDWARE Dual License

Become a Sponsor  Become a Patron  Support me on Ko-fi  Support me on Liberapay

[!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

Introduction

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.

Features

  • 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 Content

  • Demo Compass UMG Widget.
  • Demo Player Character.

Installation

Fab Plugin Installation

Not available on Fab. Please perform Manual Installation

Manual Installation

Latest Release

No Releases yet. Plesae Compile From Source Code

  1. Install and setup all Dependencies (if required).
  2. Download Latest Release from Releases.
  3. Unzip to your project Plugins folder.
  4. (Re)Start Unreal Engine Editor.

Compile From Source Code

Your host machine must fulfill additional System Requirements to compile this project from source.

Compiliation System Requirements

  • 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

Quick Installation

  1. Install and setup all Compiliation System Requirements.
  2. Install and setup all Dependencies (if required).
  3. Clone/download Axos into your projects Plugin folder.
  4. (Re)Build Plugin with the BuildPlugin.bat Script or (Re)Build Project normally with your IDE.
  5. Once compilation is successful you can now begin using Chronos in your project

View All Available Scripts

Full Installation

Full Installation Instructions are available in the Chronos Wiki Full Installation instructions available in Axos Documentation - Full Installation

Getting Started

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:

  1. Add Axos Game State Component and Axos Game State Interface to your Game State.
  2. Implement GetAxosGameStateComponent.
  3. Implement GetNorthRotation.

(Optional) Setup Level Actor and Override

  • 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).

Axos Game State Component

Axos Game State Interface

Axos Level Actor

Material Parameter Collection

Compass UMG Widget

Settings

For detailed descriptions all Settings, please consult the Chronos Wiki or the Chronos Documentation.

CI/CD

To encourage and facilitate the adoption of CI/CD and TDD, this project is preconfigured for CI/CD with the Workflows and Scripts below.

CI System Requirements

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)

Workflows

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.

Available Scripts

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

Automated Testing

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

Code Coverage

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.

Contributions

Contibutors and PRs are very welcome! If you wish to contribute, please follow CONTRIBUTING to get started.

License

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.

About The Author

Ü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

Attributions

Please view ATTRIBUTIONS

Special Thanks

About

Replicated True North Game State Component.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages