How to make new variable type for using in BP via C++?

I’ve created test object UTestObject via menu File → New C++ Class… Inherited from UObject and named it UTestObject. Next in Bleueprint Editor I created a variable TestObjectSample and want to make It’s type TestObject, but I didn’t find It.
When I created object inherited from Actor, It appears.
But I need minimal object, that can appear in Blueprints editor.
So, what object I should inherit from? Or may be there is some way to register objects inherited from UObject to make them appear in Blueprints Editor?
Tell me please!

I’m not sure why it won’t just let you directly make a variable, but you could always try making a blueprint class based on your C++ test object class. It would just be an empty shell of a blueprint class around the C++, but I think surely it would let you make a variable out of it.

@MasterOfDreams
Hi.
If problem in this:

Next in Bleueprint Editor I created a
variable TestObjectSample and want to
make It’s type TestObject, but I
didn’t find It. When I created object
inherited from Actor, It appears.

Please, make sure you have correct definition of your class inherited from UObject with UCLASS define, just like this:

UCLASS(BlueprintType, Blueprintable)
class UMyObject : public UObject

Take a look how inhereted AActor from UObject in Actor.h:
UCLASS(BlueprintType, Blueprintable, config=Engine, meta=(ShortTooltip=“An Actor is an object that can be placed or spawned in the world.”))
class ENGINE_API AActor : public UObject

You need to declare it as “UCLASS(BlueprintType)” if you want to use your custom class in blueprints.