Creating combat starts by putting down one enemy in a level. Putting down an enemy in the game always starts by selecting a root template and adding a local instance of that root template to a level.
Wait, what is a root template?
A root template is an object, such as a character, that was created by a designer: it contains information about the art used, the physics capsule, the scale, and other default in-game properties. This is what the SideBar is showing.
A root template is a parent of all its local instances (or children). If anyone ever changes one or more properties of this root template, all its children will inherit these changes automatically, and they will change accordingly, unless the child had an override on the property.
If you ever need to create a new root template, it's easier if you copy an existing one and change its properties, or, if it involves new artwork and/or new animations, ask an artist to set one up for you.
Selecting a root template
Open a test level (preferably a very basic, empty level that just loads very fast). To keep things simple for now, let's pick an existing root template.
Open the root template list, and browse to Characters > Enemies > Undead. All the enemies are in the Characters folder. If you ever create an enemy root template yourself, keep it organized and keep it in Characters > Enemies.
In the root template list, click Undead_Skeleton_Grunt_ALS to select it. Because it is the current selection, the SideBar of the editor will show the root template's properties and values. More on character properties later on.
Adding a new local instance to the level
With this root template selected, drag in into the viewport of your level and click once to place a local instance of it. (Or you can select the root template, click the "Place a new object" button in the toolbar and then click in the viewport.) To go back to selection instead of adding, click on the "Select object" button in the toolbar.
You have now created one local instance of the skeleton. It is in your local Characters list. Open the Characters list and locate your character. Select your local character by either clicking it in the viewport or clicking it in the list.
Naming your locals
The editor probably named it "Undead_Skeleton_Grunt_ALS_000" unless you already had other skeletons in your level.
In actual development, it is a very good idea to rename this instance, or you will be jumping all over the place if you have to come back to this skeleton six months from now.
Talk to your design team about how they name their items and triggers to get an idea of naming convention. What follows is how we do it.
The first part which denotes the location of the character (e.g. CYS_ for Cyseal).
With these two parts, we try to keep characters that belong to one combat in one "group". It allows us to easily filter out all characters in one certain combat. But we still keep information about race in there as well, e.g. CYS_Lighthouse_Skeleton_ and about equipment or role in combat, e.g. CYS_Lighthouse_Skeleton_Archer.
Whatever naming system you choose, just make sure there is a system before it's too late.
Now, go ahead and rename the local instance of your skeleton. (Rename by single clicking the local name in the list, or by pressing F2.)
Overriding the properties of a local instance
No more inheritance
If a property on a local is changed, the local will not inherit that property of the root anymore, even if you change it afterwards on the root.
You can recognize an override in the property list of a local when it is colored green.
To illustrate, select your local skeleton and change its DisplayName. Notice how it turns green.
Reset to parent
If you want to reset a local's overridden property to the root's, right click the name of the property and click "Reset". You can also choose "Reset All" to reset all overridden properties at once.
To illustrate, reset the DisplayName of your local skeleton. Notice that it changes back to the DisplayName value of the root and that is no longer colored green.
Overriding one or more properties of a local makes sense if you need to make the local instance a bit more unique, or if a group of characters are slightly different from the root, but not different enough to justify the creation of a new root.
A lot of enemies and characters in Original Sin have overridden properties. At the very least, the LevelOverride property is filled in to be able to easily identify enemies of a certain level while in the editor.
Organizing your roots and how you use them in the game (locals) is up to you, but we try not to create to many roots if it doesn't make sense.
You will notice that most root templates created for Original Sin are primarily visually very different and many of the roots are re-used throughout the game but with different names and stats and equipment.