Dependson not working in 4.2, cannot compile

#Dependson

the dependson system doesnt seem to be working for my setup in 4.2

I have an enum that is defined in a UObject extending class

My PlayerController class depends on this UObject class. And it is not finding the enum that is in that class at compile time.

The ESolusDamageType is not being found:

UFUNCTION(BlueprintImplementableEvent)
virtual void SolusPlayerReceivesDamage(ESolusDamageType::Type SolusDamageType, const int32 & DamageAmountTaken, const int32& NewPlayerHealth);

The error is reported on line 9 which is actually this line

UCLASS(dependson=USolusSaveSystem)

the dependson line!

All of this worked perfectly well 4.1.1, I had done compiles just fine earlier today.

#More Info

The Damage type enum is stored in a uobject class like this:

#The UObject Class

#pragma once

//Generated
#include "SolusCore.generated.h"

//~~~~~~~~~~~~~~~~~~~~~~
//			Solus Damage Types
//~~~~~~~~~~~~~~~~~~~~~~
UENUM(BlueprintType)
namespace ESolusDamageType
{
	//256 entries max
	enum Type
	{
		Generic		UMETA(DisplayName="Generic"),
		Drowning 		UMETA(DisplayName="Drowning"),
		Electrocution 	UMETA(DisplayName="Electrocution"),
		Burning	 	UMETA(DisplayName="Burning"),
		Explosion		UMETA(DisplayName="Explosion"),
		Falling			UMETA(DisplayName="Falling"),
		Freezing		UMETA(DisplayName="Freezing"),
		Dehydration	UMETA(DisplayName="Dehydration"),
		Starvation		UMETA(DisplayName="Starvation"),
		H2S			UMETA(DisplayName="H2S"),
		HeatStroke	UMETA(DisplayName="HeatStroke"),
		//~~~
		
		//256th entry
		ESolusDamageType_Max		UMETA(Hidden),
	};
}



UCLASS()
class USolusCore : public USolusCoreFileIO
{
	GENERATED_UCLASS_BODY()
	

	
};

My player controller depends on this UObject extending class, and is trying to use the enum stored there.

#The Entire Dependency Chain


USolusCore = Has the Enum

USolusSaveSystem = depends on USolusCore

Player Controller = depends on USolusSaveSystem and uses the Damage Enum


This worked in 4.1.1 and it is not compiling now.

Rama

#Update

I gathered that dependson was not functioning properly in 4.2 so I have instead added my essential headers manually

here’s what it looks like now

//Cant use Dependson anymore....
#include "SolusCore.h"
#include "SolusSaveSystem.h"

#include "SolusCharacterSoul.generated.h"

UCLASS(dependson=USolusSaveSystem)
class ASolusCharacterSoul : public ACharacter
{
	GENERATED_UCLASS_BODY()


:)

So whereas before, the two includes for the Core and SaveSystem were unnecessary, now they are, or I get compile errors.

//Cant use Dependson anymore....
    #include "SolusCore.h"
    #include "SolusSaveSystem.h"

Is this considered a bug and will it ever be fixed?

Rama

#Another Example

Here’s another example of what I’ve had to do in 4.2 that I did not have to do in 4.1.1

I’ve had to add all the include paths for classes were formerly it was sufficient to just add dependson

//Cant use Dependson anymore....
#include "SolusCore.h"
#include "SolusSaveSystem.h"
#include "SolusViewportClient.h"
#include "SolusHUDMesh.h"
#include "SolusBlueprint.h"
#include "SolusBaseHud.h"

//Base
#include "SolusPCSoul.generated.h"

//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//PLAYER CONTROLLER DEPENDS ON SAVE SYSTEM
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
UCLASS(
	dependson=USolusSaveSystem, 		//ESSENTIAL SUN LINK
	dependson=USolusViewportClient,
	dependson=ASolusBaseHud,
	dependson=ASolusHUDMesh,
	dependson=ASolusBlueprint
)