ADungeonExplorerCharacter::Keys += 1; You do not have object instance here. You are trying to access member though class name. It is possible only for static members.
You either need an instance of object or make mamber static.
What if i need to do this using pointers, so i can act upon the object directly. I.E I want to change that classes values.
Trying to create a pointer to the class throws me an error. ADungeonExplorerCharacter *MyCharacter;
Gives me error C4700: uninitialized local variable 'MyCharacter' used
ADungeonExplorerCharacter *MyCharacter; This is just a pointer. It does not point to anything and unless you will point it to valid object, using it will cause undefined behavior. Error you getting is probably one of the Visual Studio safeguards against common mistakes.
I would suggest to use references instead of pointers. They are safer. Example of use: