Generally speaking if you want to control multiple characters in UE4 with a free Camera (like IIRC was in BG).
You make a "GOD" player controller - that will have its own Pawn let's say some sphere with an arm and camera attached to it.
Then Process the input inside your player controller - and delegate the commands to your characters.
EDIT per DMGregory'...
In C++ you can just destroy the CapsuleCompoennt, however the ACharacter class is intended to use the CapsuleComponent many of its underlying functions are relying on a CapsuleComponent.
With that said you probably better to use APawn - and add all the bells and whistles manually. - Yes it will lose all the ACharacter's bells and whistles.
Leaving the ...
You actually have 2 ways of doing the frustum check:
1) Every scene component (or most fo them) has a property WasRecentyRendered()
-- so if it was recently rendered - they are 99% in the camera frustum.
2) You can manually check the frustum with something like described here:
To make it all performant you can trigger some object-...
"How to change the up vector of something in Unreal ?" The answer is simple - to change the upvector you simply need to change the object's rotation.
To make your upvector to point to something - you can use innate function of FMath
especially take a look at: MakeRotFromXZ family of functions.
I think I am in the same mindset as you are.
Yes you can work in 100% C++.
My own project is 95% C++ I only use BPs for instantiating stuff (putting actors to the level) but every single BP of mine is nothing else than just a default values setter.
It is much faster to set default values in BPs as well as performing visual stuff - for example moving ...
If you are already familiar with unreal, animation/modeling and simple, I think you could use it.
Especially if you are going to do a simple animation (just moving the cards with simple moves).
Now if you want something more refined, with the cards rotating on some axis, I think it would be easier for the blender. Because I believe that if you need help ...
Getting the camera itself is fairly easy:
APlayerCameraManager *camManager = GetWorld()->GetFirstPlayerController()->PlayerCameraManager;
FVector camLocation = camManager->GetCameraLocation();
FVector camForward = camManager->GetCameraRotation().Vector();
however getting the center of the view is better done via the HUD api and it's project/...
I'am the developer of EMS. There have been several different approaches in handling destroyed Actors with my plugin.
Fake destruction by turning the Actor off. Disable collision, tick and hide it. Just save a bool to check and turn it off again on the Actor Loaded event.
Maintain a list of Actors in your level blueprint(Or your own class) that is saved/...
Perhaps the reflection system doesn't like the
UPROPERTY(BlueprintReadOnly, Category = "Zombie Game Instance")
UQualitySettings *QualitySettings = nullptr; //try to remove the = nullptr from here.
Generally in UE4 we set the variables in constructor because of CDO and reflection system on-behalf.