can I expose to blueprint?

Hi,
Thanks in advance. I’m making a game based on ShooterGame but as non-programmer designer I can only do few things in blueprint. ShooterGame is C++ (mainly). Is there a way to expose the whole code from C++ class to Blueprint? or getting access to variables, functions and events to edit them?

Variables/Functions I would like to edit:
1-Winner Team and Game Over
2-Respawn Timer
3-Hide the “player-x killed player-y”

Many thnaks

At the moment I’ve found that you can create BP class based on C++ class but still can’t edit anything. The main thing I want I edit, for now, is the Bot respawn time. I think he respawns every second. I also want to edit the Bot controller but it worries me that If I do On begin play then I will overwrite other things. I just want to make sure that I’m not ruining what’s already there but only add to it and occasionally edit it.

To call functions in blueprints you can do


UFUNCTION(BlueprintCallable, Category = Functions)
MyFunction();

To get access to variables do


UPROPERTY(VisibleAnywhere, BluePrintReadWrite,Category=Variablet)
bool IsMyVariable;

To implement functions in blueprints do


UFUNCTION(BlueprintImplementableEvent)
void UpdateHealth();

Thank you TheAgent.
I tried those. I was able to call function but not event. One of things that I want to edit is the respawn time for the bots. I can’t find it anywhere (It doesn’t help when I’m not a coder) I tried searching the whole solution for respawn but maybe it was called something else!

I did this in GameMode, saved then recompiled (compile button in the editor). Then I created a new Blueprint based on GameMode But still in blueprint I can only Get. I can’t Set.

UPROPERTY(EditDefaultsOnly, BluePrintReadWrite, Category = Inventory)
TArray<TSubclassOf<class AShooterWeapon> > DefaultInventoryClasses;

I tried on inventory in the ShooterCharacter.h. I can now see the array in blueprint, get and set but It doesn’t seem to do anything. The problem is I still can’t change weapon in game. I created a weapon pickup and would like to swap the weapon in Inventory Array(0) with the weapon I’ve picked up!

Any suggestion please?