Hey fellow developers. I didn't want to jump right to the feature suggestion platform, but hear other opinions on this first.
In C3 the object types in your project window aren't primitives/prototypes (which I'm used to from all other engines I've used). Instead, if you select an object type and there's no instance on the scene, you can't change any properties.
Usually when you create an object during runtime you'd except it to inherit the properties of the prototype but since there's nothing comparable in C3, here's what it does:
- look for the first layout (lowest index) in your game with an instance of the object
- look for the first instance of the object on this layout (lowest layer index and lowest z index)
- make this instance the prototype
In my opinion this is counterintuitive. You need to know and keep in mind that you need a loading/setup layout on which you place all objects that need some sort of prototype (I guess a lot of you already have this). It needs to be at the very top of your project, if there's an instance of an object on an earlier layout (lower index), that instance will be made the prototype instead.
It's also inconvenient in that whenever you want to change a property of a prototype you have to switch to this layout, change the values there and switch back to the one you're currently working on.
I've created a small project for demonstration purposes. Try changing the order of Layout 1-3 and see the differing results for the instance that gets created during runtime. Then put the "Layers" Layout first, change the order of both "instances" layers, and see the differing results. Am I alone in thinking that this is counterintuitive?
dropbox.com/s/1c3zm04u9gjsk38/types%26instances.zip