Construct 3 suggestions & ideas

Suggest and vote on ideas for Construct 3! Please note this is only one aspect of planning. We do not guarantee any features here will be implemented, even if they are top-voted ideas. The aim is just to collect feedback. Remember to search for existing submissions before adding an idea, describe your ideas as comprehensively as possible, and vote for plausible ideas that are well thought out. Please see our full guidelines on suggesting features.

90 Vote

Set boolean by expression

Currently you can only set a boolean to True or False via a dropdown list. We need the option to set it to another boolean via expression (such as setting an object's boolean to a function parameter.)

 

This is a pretty hard limitation and currently makes a simple 0 or 1 number variable the better option. I propose one of two solutions:

 

A) Add a "Set boolean by expression" action that has a text field instead of a dropdown list.

 

B) Add "expression" to the dropdown list which either creates or enables a text field underneath.

 

In the case of setting a boolean function param, I suppose it would have to be something like B..

  • Matt Gruber
  • Oct 24 2019
  • No status
  • Attach files
  • Admin
    Ashley Gullen commented
    7 May 10:40am

    Adding entirely new options tends to make compatibility problems worse, not better.

  • Rory S commented
    5 May 08:24pm

    What about adding a new type completely, and leaving old the Booleans around in compatibility mode for the foreseeable future, but not allow them to be added. I would love to also be able to use functions that return true/false etc. with deeper integration of booleans into the engine.

  • Everade commented
    5 May 03:29pm

    We also understand that some features are not easy to be implemented.
    But please take a look at it from the perspective of thousands of game devs that are using booleans in Construct 3 on a daily basis.

    "Just because" due to an inconvenient design of a tool, you're saying that devs have to suffer for the rest of the existence of Construct 3 and bossibly beyond?


    This is obviously a really hard limitation for all of us, as stated by Matt.
    So please, drop backwards compatibilty entirely, or simply throw a warning info box at our faces if we start up a project that still uses the old boolean types.

    It would make much more sense to consider this change as high priority, way above backwards compatibility.


    "Workaround" is no solution.
    It just tells us that the tool doesn't do the job.

  • Admin
    Ashley Gullen commented
    5 May 01:43pm

    I think this would be a pretty time-consuming and complicated thing to do mainly because of backwards-compatibility considerations. The checkbox parameter type - effectively our boolean parameter type - is actually relatively new. There are a vast number of conditions and actions across lots of plugins and behaviors that use a dropdown list with two options instead of a checkbox, merely because they were all originally added before the checkbox parameter type. For this feature to work with all of those, an extensive review would have to be done and switch over loads of old features using dropdown lists to use checkboxes instead. This also affects the project file format, and so great care would have to be taken to ensure that for a wide range of old features, the legacy file format using dropdown lists can be correctly imported and converted to the new boolean format. This could would also need to be kept indefinitely to avoid breaking old projects.

    Unfortunately all that means this suggestion would involve a lot of pretty difficult and risky work for what is probably a fairly minor feature overall. I understand the popularity of it, but it can be straightforwardly worked around in events, even if that makes your event sheets a bit longer. So it seems difficult to justify all the work that this would involve when we could probably get better features for less work in other areas.

  • tarek2 commented
    5 Apr, 2020 11:23am

    For some reason did post the Link on my first Post and I can't find the ability to edit it so I will post it again sorry for that
    https://construct3.ideas.aha.io/ideas/C3-I-1330

  • tarek2 commented
    5 Apr, 2020 11:20am

    Awesome idea voted, but why just stop on booleans?

    Why not extended to any Variable (Global, Local, Instance Variable, Booleans) etc..... that definitely will give the power to do any crazy advance stuff easily, also why not add swell the ability to reference or change any Variable Dinamicly without having to pick and reference first the Object

    I requested here the ability to refference dynamically any Variable but it could be merged with this so we have the combo (Reference or Change) any variable dynamically



    What do you think?

  • Geoff Burrows commented
    28 Nov, 2019 10:06am

    Adding my votes for this. Since the overhaul of Functions, being able to manipulate booleans would expand on the power of Construct significantly. 

     

    For example, the following would be possible:

    1) Parse strings as booleans: if a string is "" then 0, else 1.

    2) An option to set one boolean's state to another's.

    3) The ability to read visible/enabled/etc. states from objects and behaviours and set booleans based on the results.

     

    While this is all possible with integers dressed up as booleans, having "native" support would make functions and general use far more streamlined.

     

    I realise this would require quite some work on the boolean system, but this functionality would be very useful and much appreciated! :)

  • Guest commented
    26 Nov, 2019 03:57am

    A visual to why this idea is pure gold. The  lines below could have been half and have the spaces in between them removed without compromising clarity.

  • Guest commented
    6 Nov, 2019 11:35am

    +1

    https://construct3.ideas.aha.io/ideas/C3-I-1124

  • Guest commented
    2 Nov, 2019 01:02am

    Big agree

  • Everade commented
    26 Oct, 2019 08:28pm

    Yes please!
    1 = true
    0 = false

    Opens up so many possibilties.

    This is another case where something that's supposed to be newbie friendly, ends up limiting normal and advanced users.


    Would be really great if it's either entirely replaced or being added as a second option as stated by Matt.

  • +47