Avoid Default Pawn Class

In my MyCharacter Class I’m having a UPROPERTY pointer to a MyActor Class:

UPROPERTY(EditAnywhere)
AMyActor* MyActor;

Since I use Default Pawn Class to setup the character, I cannot change its components before I start the game.
I thought creating a BP of my Character and using this as a default might be a solution to my problem. When I did this I could not assign any MyActor of the world outliner to the pointer in the BP.

Is there any way I can fix this, like using Character that’s already in the world instead of spawning a new one?

You can’t do so in blueprint defaults, because there no guaranty that object you pointing to will exist once object of blueprint is spawned. Remeber that Blueprint is a class and it works the same as C++, it does not magicly exists out of no where, first you need to spawn object of it in to the world, the same limitation apply to C++. You need make your classes work regardless of level they are in, you need to make them search for right object in initiation, you can do other way around and make actor you want to point to register it self to that object (this is most suitable if you making GameMode or PlayerController). You can access spawned defult pawn pretty easily so it should not be much of a issue to get it.

But you can do so in property editor of objects on the level, so you place your object on level and then in property editor (not blueprint defaults, this wont change what i said above) on such pointer property you will be able to choose object that are on same level. Only issue is that you need to place object on the level first.

Thx for your response! I will try it asap. Just one more question: how can i access the spawned default pawn? I googled but I couldn’t find anything that helped.

Is there still any way to use an object that’s already in the level as player? I’m asking because I actually don’t even want a new player to be spawned, but rather use one thats already existing in the level!

In case anyone is having a similar problem, It seems I finally found the answer to my problem: When I drag my Character BP into my level, in its details under “Pawn” there is the option “Auto Possess Player”. If this is set to Player 0 no new Pawn will be spawned.