Removing prefabs from a majority of examples?


(Kel) #1

Many examples, such as the GLTF loading example, end up with entire important sections confined to their prefabs being loaded. While it may look nicer and more correct than manually initializing that data, it introduces a big cognitive overhead in how the information relevant to that example is split into not only these separate files, but into distantly separate directories as the prefabs are all stored in the examples/assets/prefab folder. What would the documentation team think of pull requests to refactor the initialization of relevant data in non-prefab oriented examples out of prefabs?


(Kel) #2

I wrote this because I was having trouble understanding the gltf example, and now I’ve learned that gltf’s are themselves an extension of the prefab system. I think a good way to demonstrate fixing what I’m having trouble with here would be if the gltf example loaded a gltf as a prefab directly!


(Azriel Hoh) #3

Hm, I haven’t yet gone through the list of examples, but it makes sense to use prefabs when the data of the prefab is less important than the code. It’s pretty overwhelming for someone who doesn’t understand the concept (e.g. if it’s hard to learn how to do X in Amethyst, then it’s going to be harder to learn how to do X and figure out prefabs at the same time).

Given the heavy use of prefabs, we should at least help them learn, perhaps by linking them to the book documentation when it’s released.

Whoa, more extensions. Might need to place a call for documentation help – the list of things to document is ever growing.


(Joël Lupien) #4

Thats why I keep saying: prefab editor!
:wink:

That way you don’t need to know how to manually load the various subcomponents through code except in rare cases.


(Teemu) #5

Yep I kinda dislike the prefab use in non-prefab-example examples. Every time I try to learn something new and see that it’s mostly prefab I curse and often just go do something else.


(Simon Rönnberg) #6

I believe one of the core problems of many of the examples are that they are basically integration tests, not real examples.