<blockquote class="Quote">
<a target="_blank" rel="nofollow">1000h</a> said:
. . . each, what I would call a completed asset, should basically have its own scene... One for each weapon model, one for each character, one for each enemy... etc etc
<br>
</blockquote>
Definitely. Any object that you might want to use more than once should be it's own scene. <br><br>You can organize stuff however you want (that's the point of the scene system), but in my experience it pays to break things down into pretty small chunks. It's also kind of essential if you're working in a team: source control gets a bit tricky if multiple people edit the same scene at once. <br><br>You can make every self-contained piece of stuff it's own scene. For example I have a platformer project with a little guy carrying a sword. The player character is one main scene with a master script for handling physics, movement, input, etc, and communicating with the sub-scenes. Inside that is a scene for the rig with all the sprites and animations, a scene for the health bar with its own animations and stuff, and a scene for the camera. The rig in particular has dozens of nodes, so keeping that separate from everything else has prevented a lot of headaches. <br><br>I often make separate scenes for each special effect. I like to work on them without distractions and then I can easily stick them on anything I want or spawn them dynamically. They usually have a couple Particle emitter nodes, a few sprites, an animation player or two, and a simple script to control it with. Say you wanted a machine to spark when it gets hit. You could make a scene for the spark effect, drop it onto the machine, and whenever the machine's script detects a hit, call a "go()" function on the spark effect. Then you could make any object spark by adding one scene and one line of code. And if you want you could always customize the effect for one particular object by checking "editable children" and tweaking things. <br>