Blueprints, Actors and Objects

It seems that I can make blueprints that extends the Object class, but I can’t instantiate them, or use them at all.
What I need is a lot of classes and objects that don’t extend Actor, since they will never see the light of the scene graph. The problem is that either I make a blueprint extending actor, and spawn it with ‘Spawn Actor From Class’, or give up on the idea of using blueprints for it.

For instance, I have an Hero blueprint (extends Actor)

A Resource(health, mana, etc…) struct (which I wish I could make an object instead)

A Party class, that groups and manages the Heroes

A Battle class, that pits two parties against each other, manages turn order, execute attacks, etc…

A Region area that spawns parties to battle yours

Then a Inventory class, Item class, Skill class, etc…

They just pile up, the only way I’ve found to do them was extending Actor, and none of them will ever be rendered by the camera, or use any of these multiplayer components, and whatever Input, Replication and Tags are for.

I would not mind having to implement them in C++ instead, but then, how do I add them to the blueprints?

I know this is a pretty big question, or maybe not even a question. But I have no idea how to solve this dilemma, right now I am going to just keep going by extending Actor.

The only reason I choose UE4 was because of the blueprints.

Well, I know this is an old question, but with the current version 4.7.6 there are some hackish ways to do some of these with blueprints using components.

Your Party class could be a component (and is actually probably better as a component, honestly).
Your Battle Class could also be a component.
Not sure what you meant by region area.

Ah… the inventory… the bane of my existence. Right now, the work arounds in pure blueprint are gnarly. You can use a component for the inventory itself, and again, this works better as a component than a class. However, the problem is in handling the data that goes into the inventory as opposed to the inventory itself, and unfortunately UE4’s elegance does not extend to this area very well.

One thing you might try for your inventory is to create a struct that contains all of your item info. Create a Base Item Actor, and when you initialize the actor, (take it out of your inventory) it generates the object via construction script. When you put it in your backpack, toss offload the struct to an array(inventory), and destroy the actor. It’s sloppy, but it would work.

One area I would disagree on is with them never using replication or tags. If you are not doing multiplayer, then replication will not be an issue, but if you are… As for tags, tags are your bosom buddy when it comes to data sorting because as is, unreal is not very graceful in the data/asset management department.

I know this is old, but I’d like to post to chime in with my support for inheriting from ‘object’ as well.

Inheriting from objects was something done all the time in the UE3 UScript days, using the ‘NEW’ rather than ‘SPAWN’ method of deploying them…and it was used for things exactly like what the OP is talking about. There seems to be no graceful way to handle this in UE4’s blueprint system…Like the OP, I’ve leaned on structs, invisible spawned actors, and components… they just feel like a they add a few unnecessary steps–and unneeded overhead.