So finally diving into actual UE4 C++ coding after many years away from the fold. And I have a question.
I’m starting work on a conversation system and I’m looking into how you’d go about creating a ‘stage’ for placing actors on.
Functionally, it works like this:
We have a container ‘object’ that contains a set of ‘markers’ that Actors can be bound to.
There can be 1-n number of ‘markers’ on that stage object.
Each of those markers can be moved, rotated in-editor but are not visible in-game.
My first guess at implementing this is that the stage is derived from an Actor, as well as each marker node. My question is how do we set these markers as visible in-editor only? I see that you can set the bitflag to be bHidden, but I’d like to disable the editor from changing that.
That’s more for tools though imo. If he did that, his actors would not spawn and thus his conversations would not work.
As @ryan20fun said you can use the ‘Actor Hidden in Game’ toggle on any visible componant (static meshes, billboards, etc).
To disable it from being changed, implement the following function:
OnConstruction runs any time any value is changed, allowing you to modify actors in the editor. The above will automatically set it to hidden every time, even if someone tries to inhide it, it will be set back to hidden.