Category variables not showing in editor (Graph editing mode of My Blueprint)

I’m following along the tutorial examples in “Introduction to UE4 Programming - 7- Applying a Dynamic Material Instance to Our Character” and am trying to locate the variables added to the custom class in the previous exercises within the My Blueprint section of Graph editing mode. Here is a screenshot of what the instructors are showing in the video:
Google ChromeScreenSnapz002.png

And here is what I’m seeing when launching Unreal Editor (v4.6.0.xxx) on Mac (10.10.1):

Note there is no “Power” category under variables in the 2nd screenshot above.

Here is the code where the variables are declared from TutorialCodeCharacter.h:


// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "GameFramework/Character.h"
#include "TutorialCodeCharacter.generated.h"

UCLASS(config=Game)
class ATutorialCodeCharacter : public ACharacter
{
	GENERATED_BODY()

	/** Camera boom positioning the camera behind the character */
	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
	class USpringArmComponent* CameraBoom;

	/** Follow camera */
	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
	class UCameraComponent* FollowCamera;

    /** Collection Volume */
    UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Power, meta = (AllowPrivateAccess = "true"))
    class USphereComponent* CollectionSphere;
    
    /** Power level of the character */
    UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = Power, meta = (AllowPrivateAccess = "true"))
    float PowerLevel;
    
    /** Power multiplier for the speed of the character */
    UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = Power, meta = (AllowPrivateAccess = "true"))
    float SpeedFactor;
    
    /** Baseline speed of the character */
    UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = Power, meta = (AllowPrivateAccess = "true"))
    float BaseSpeed;
    
    virtual void Tick(float DeltaSeconds);
    
public:
	ATutorialCodeCharacter(const FObjectInitializer& ObjectInitializer);

	/** Base turn rate, in deg/sec. Other scaling may affect final turn rate. */
	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category=Camera)
	float BaseTurnRate;

	/** Base look up/down rate, in deg/sec. Other scaling may affect final rate. */
	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category=Camera)
	float BaseLookUpRate;

protected:
    /** Called when we press a key, to collect any batteries inside the SphereComponent */
    UFUNCTION(BlueprintCallable, Category = Power)
    void CollectBatteries();
    
    /** Called by CollectBatteries() to use the Blueprinted PowerUp functionality */
    UFUNCTION(BlueprintImplementableEvent, Category = POWER)
    void PowerUp(float BatteryPower);

	/** Called for forwards/backward input */
	void MoveForward(float Value);

	/** Called for side to side input */
	void MoveRight(float Value);

	/** 
	 * Called via input to turn at a given rate. 
	 * @param Rate	This is a normalized rate, i.e. 1.0 means 100% of desired turn rate
	 */
	void TurnAtRate(float Rate);

	/**
	 * Called via input to turn look up/down at a given rate. 
	 * @param Rate	This is a normalized rate, i.e. 1.0 means 100% of desired turn rate
	 */
	void LookUpAtRate(float Rate);

	/** Handler for when a touch input begins. */
	void TouchStarted(ETouchIndex::Type FingerIndex, FVector Location);

	/** Handler for when a touch input stops. */
	void TouchStopped(ETouchIndex::Type FingerIndex, FVector Location);

protected:
	// APawn interface
	virtual void SetupPlayerInputComponent(class UInputComponent* InputComponent) override;
	// End of APawn interface

public:
	/** Returns CameraBoom subobject **/
	FORCEINLINE class USpringArmComponent* GetCameraBoom() const { return CameraBoom; }
	/** Returns FollowCamera subobject **/
	FORCEINLINE class UCameraComponent* GetFollowCamera() const { return FollowCamera; }
};



Question: What do I have to do to get the category variables to show up in the Blueprint editor? I have saved and compiled the code and reloaded the editor, but the variables still do not appear.

Thank you in advance for helping! :slight_smile:

I’m still not having any luck with this and have tried: setting variables to both public: and protected: with no luck; using EditAnywhere instead of VisibleAnywhere with no luck; I’ve tried compiling for both development and debugging with each of the previous efforts with no luck.

Does anyone have any ideas? I’m at my wits end.

Thanks in advance!

This has been solved. Thanks anyways for the help!

Same problem

Could plz tell me what was your solution? Thx

His solution was explained in this “Answers” thread. I just followed it and it does work as far as exposing the variables to the Event Graph. It is a hack, it involves starting the UE4 editor only from within XCode, which while easy, means you can’t open from the .uproject file or from the Epic Game manager. Open XCode separately, select the “Scheme” that shows “ProjectEditor” in the pulldown (for whatever architecture you are building for), then press the right-pointing-arrow to launch the UE4 project. When you right-click in your Event Graph, the variables will be selectable to place in the graph. It would be nice if anyone can tell how the XCode project could be set up so you can open UE4 editor normally.

Edit: From what I can tell, the problem runs deeper than the above. Every time you add a new (or modify and existing) variable that you want to appear in the Event Graph browser, you have to close UE4 editor, do a build in XCode, and then restart the editor from within XCode. If you don’t do this, the added variables will not show up.

I just hit this. This is actually one of those ‘oops’ errors. Check that you are compiling “Development Editor”

If you are compiling to a different target, but running the standard editor (which is Development Editor), the editor doesn’t even look for your changes.

If you are also compiling the editor - make sure if you ever change the compile target, make sure you go back to the one you were using before if you aren’t going to also change which editor exe you are running.

1 Like

This was really troubling me. Switching to “Development Editor” Solution Target in visual studio 2019 then building fixed the issue for me and my new blueprint variables showed up in the details pane. Thanks, VictorRachels!