Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Technical Support
 UE4 function 'create implementation' is not workin

You must be registered to post a reply.
Click here to register.

Screensize:
UserName:
Password:
Format: BoldItalicizeUnderlineStrikethrough Align leftCenterAlign right Insert horizontal ruleUpload and insert imageInsert hyperlinkInsert email addressInsert codeInsert quoted textInsert listInsert Emoji
   
Message:

Forum code is on.
Html is off.

 
Check to subscribe to this topic.
   

T O P I C    R E V I E W
Xandr0s Posted - Nov 08 2019 : 07:26:58 AM
Hi, I get 'UFunction is already fully implemented' error when trying to create implementation from header files. It was working earlier, started getting link errors, removed intermediates, regenerated visual studio files, and viola. Create Implementation is not working anymore.

It needs to generate func_Implementation() implementation for BlueprintImplementatbleEvent tag




3   L A T E S T    R E P L I E S    (Newest First)
sean Posted - Feb 20 2020 : 11:02:10 PM
case=141477 is addressed in build 2366 via an updated error message.
https://support.wholetomato.com/default.asp?W404#2366
feline Posted - Nov 11 2019 : 10:22:57 AM
I agree that VA is doing something wrong here, but I am not sure what VA should be going on here.

Using VS2017 and Unreal Engine 4.22.3 I have created a simple Flying game, and added a C++ Actor class to the game. I have added these functions to the class, and then tried various combinations, to see what will and will not compile. For me, neither function will compile when given either a normal function body, or an _Implementation() function body.

The full code that I have ended up with, with comments explaining what I am seeing, is this:

UCLASS()
class FLYING_4_22_3_API AFelineActor : public AActor
{
	GENERATED_BODY()
	
public:	
	// Sets default values for this actor's properties
	AFelineActor();
	
protected:
	// Called when the game starts or when spawned
	virtual void BeginPlay() override;
	
public:	
	// Called every frame
	virtual void Tick(float DeltaTime) override;

	// no body, compiles just fine
	UFUNCTION(BlueprintImplementableEvent)
	void OkaySoThisWorks();
	
	// this does NOT compile, because the function already has a body
	UFUNCTION(BlueprintImplementableEvent)
	void OkaySoThisWorksInline() { int nLocalOne = 2; }
	
	UFUNCTION(BlueprintImplementableEvent)
	void OkaySoThisWorksRenamed();
	
	UFUNCTION(BlueprintCallable, BlueprintImplementableEvent, Category = "TimeManager")
	void ButWhyWontThisWork();
	
	// this does NOT compile, because the function already has a body
	UFUNCTION(BlueprintCallable, BlueprintImplementableEvent, Category = "TimeManager")
	void ButWhyWontThisWorkInline() { int nLocalThree = 2; }
	
	UFUNCTION(BlueprintCallable, BlueprintImplementableEvent, Category = "TimeManager")
	void ButWhyWontThisWorkRenamed();
};

// this does NOT compile, this is not a member of the class
void AFelineActor::OkaySoThisWorksRenamed_Implementation() { int nLocalTwo = 2; }

// this does NOT compile, this is not a member of the class
void AFelineActor::ButWhyWontThisWorkRenamed_Implementation() { int nLocalFour = 2; }


which makes a degree of sense, given what this page says about BlueprintImplementableEvent, which is that "The function can be implemented in a Blueprint or Level Blueprint graph."

https://docs.unrealengine.com/en-US/Programming/UnrealArchitecture/Reference/Functions/Specifiers/index.html
feline Posted - Nov 08 2019 : 3:23:52 PM
Thank you for the clear example, I am seeing the same problem here:

case=141477

Does it actually make sense to have an implementation for functions marked with "BlueprintImplementableEvent"? Or does it depend on the other parameters that are passed to UFUNCTION?

© 2021 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000