How To Add A Inlined .h DataType?

I’m porting some std c++ code over to UE4. I have a certain class and I ported the header over just fine replacing all instances of angle with float.

However, short of figuring out how the heck this angle.h file used does all its magic, I need to use angle instead of floats.

angle is a type used to define nautical angles instead of mathematical angles so that I can get 0-360 rotation instead of 0-180 +/- using standard rotations.

I tried adding the stock angles.h from the project, tried adding UCLASS() etc. macros tried #include “AllowWindows…”

I even created a basic c++ class in the class wizard, commented out the cpp and modified the file to look exactly like the original, just replacing all instances of angle with the class I made which I called NauticalAngle

Here is the file I’m trying to use. Danger from the Deep / Code / [r3426] /trunk/dangerdeep/src/angle.h

And the code I’m porting to UE4. 99% of it should just be for data purposes, I only need to display some of the void const getter functons values on a GUI as well as set the values from a GUI/code/BP’s.
https://sourceforge.net/p/dangerdeep/code/HEAD/tree/trunk/dangerdeep/src/tdc.cpp
https://sourceforge.net/p/dangerdeep/code/HEAD/tree/trunk/dangerdeep/src/tdc.h

I’m no wizard at C++ I’ve only taken c++ 100 in uni and done the Udemy c++ class but it was going really well until I needed that angle.h classes wizardy for the logic to be ported to the UE4 API without figuring out how all that wizardy works and then putting it in each line that its used in a function in files using it as a data type (its gibberish to me compared to other classes how its all inlined and dont even know how the constructor works at all if at all and how tis returning values back etc)

Hopefully this explains it, I’m quite confused as to why its so hard to use a very well defined datatype in std c++.
No matter what I do I constantly get "SOMECLASS - type not recognized must be a UCLASS USTRUCT OR UENUM etc.

Thanks.

Edit: I should note I’ve also replaced all instances of double with float for compatiblity with UE4’s API, I tried copying the stock code into angle.h (which resides in /source/mygamename/public/libraries/ with the doubles left in and no go “angle” seems to just be a totally missing type.

I’ve looked at modules and plugins and linking static libraries, but this is a simple header file… I assume since its a custom type I would have to integrate it into the engine (like the age old double argument).

Better off figuring out how the angle.h file works and replace my regular class where it calls these header functions with that logic?

I created a proper implementation CPP file with the constructors and fuxtions returns and i can use the type. Go figure.

On second thought I dont… I thought IT compiled but now I’m getting unrecognized type again.

I removed every declarared function and implmentation using that type except one for testing, ensured the class was #included in the classes header…

Tried UObject tried basic class with constructor and destructor, tried moving all definitions to the .cpp file, tried removing all cstdlib stuff.

I’m guessing since its not a stock engine data type I cant use a “class” as a data type.

Trying an object based class called FAngle and going to try using that just blank and see.

Anyone have any tips? I’m just doing the math in each call and its very cluttered. Could I create a new Object(Outer); ?