Add isEnabled Checkbox To The Properties Panel

It would be very helpful to have an checkbox in the properties panel for the isEnabled property of CoreObject. There are many cases in which I would like to have the object start out as disabled, and then enabled it dynamically via code. It would be very helpful to be able to do adjust this property in the hierarchy.

Hi Maple, could you explain more of your usage case here? Say, spawning in the object instead of having isEnabled false and then turned true? Or is this moreso a workflow/convenience feature?

A common example would be having a game that has a different map for each round. In the hierarchy I would store all the maps in a folder, and would set all of them to disabled. Then when the round starts, I would enable one of the maps, while the other maps remain disabled. So essentially I am only showing one map at a time.

Another example would be spawn points. During the lobby phase, I would enable my lobby spawn points, and disable my map spawn points. Then during the round, I would enable my map spawn points, and disable my lobby spawn points. (isEnabled is currently bugged for spawn points, and this would not actually work until the bug is fixed).

In general, any component (object, VFX, etc) which I do not want to show in the game initially, I would set to disabled. Then, later, I would dynamically enable the element when I want it in the game.

Additional Edit:
As you mentioned, some of these things can be done by spawning the objects. In my map example, my worry is that spawning the map template may cause performance issues since it is a large template. A map template may consist of thousands of objects. Do you think this would cause performance issues when spawning?

In other cases, such as the spawn points example, it would definitely be handy to have the isEnabled in the properties panel. That way I can have things disabled initially, until I enable them in code.

1 Like

For now, have you tried disabling them via script?

Yes, for now, any property that is not exposed in the UI, I set via code.