So we're using Perforce for source control with our game. We may also end up having outsourced authors writing some dialog for us, as well as internal folks. What's the right way to handle having multiple people wanting to make/edit dialogue and needing to merge it all into our games database? Are we limited to only one person editing at a time? Is there a way each person can work on a separate database and then we combine them? I'd like to set this up correctly up front rather than get in a bind after we've done a lot of work.
Thanks,
Rick
Best Practices for multiple authors?
Re: Best Practices for multiple authors?
Wise move. I've worked with a number of teams who switched to the Dialogue System from other tools and assets because they got into just such a bind.
You have a few options.
If funding allows, you can use articy:draft or Chat Mapper. Both have multi-user options. The Dialogue System can import both at design-time and runtime.
If you prefer to edit in Unity, each author should work in their own database. The process is summed up in Working With Multiple Databases.
Here's a typical setup:
1. Create a core database containing global data that all authors might want to access. One author should be in charge of this database. Assign it to the Dialogue Manager's Initial Database field.
2. Each author creates their own database. Use the Sync feature to sync assets from the core database to the author's database. This way the author can reference the core content while they're working on their own content.
3. Add an Extra Databases component to the Dialogue Manager GameObject. Assign all of the other databases to this component.
4. Before playing or building, run the Unique ID Tool to ensure that internal IDs are unique across all of the databases. It's easiest if all of the databases are in a single folder; then it only takes one click to select them all.
Misc. notes:
- If you finish with an outsourcer and don't want to keep track of a separate database from the outsourcer, you can merge the outsourcer's database into another database.
- Within a database, contents use internal ID numbers. For example, when you assign an actor to a conversation, the conversation records the actor's ID. But outside of the database -- such as the conversation selection in a Dialogue System Trigger component -- it uses the conversation's title. This means you can use the Unique ID Tool to reassign internal IDs without worrying about breaking components in your scenes.
- Use forward slashes in your conversation titles and quest names. This will group them into submenus. Otherwise you'll quickly end up with long lists that are a hassle to navigate.
You have a few options.
If funding allows, you can use articy:draft or Chat Mapper. Both have multi-user options. The Dialogue System can import both at design-time and runtime.
If you prefer to edit in Unity, each author should work in their own database. The process is summed up in Working With Multiple Databases.
Here's a typical setup:
1. Create a core database containing global data that all authors might want to access. One author should be in charge of this database. Assign it to the Dialogue Manager's Initial Database field.
2. Each author creates their own database. Use the Sync feature to sync assets from the core database to the author's database. This way the author can reference the core content while they're working on their own content.
3. Add an Extra Databases component to the Dialogue Manager GameObject. Assign all of the other databases to this component.
4. Before playing or building, run the Unique ID Tool to ensure that internal IDs are unique across all of the databases. It's easiest if all of the databases are in a single folder; then it only takes one click to select them all.
Misc. notes:
- If you finish with an outsourcer and don't want to keep track of a separate database from the outsourcer, you can merge the outsourcer's database into another database.
- Within a database, contents use internal ID numbers. For example, when you assign an actor to a conversation, the conversation records the actor's ID. But outside of the database -- such as the conversation selection in a Dialogue System Trigger component -- it uses the conversation's title. This means you can use the Unique ID Tool to reassign internal IDs without worrying about breaking components in your scenes.
- Use forward slashes in your conversation titles and quest names. This will group them into submenus. Otherwise you'll quickly end up with long lists that are a hassle to navigate.
Re: Best Practices for multiple authors?
Thanks for the advice!
Rick
Rick