UTAGE Unity Text Adventure Game Engine [RELEASED]

Utage is a tool to create visula novel. Made in Japan.
You can edit a scenario using Excel!

1645169--102250--$ScreenClip [13].png

Japanese Web player demo
Japanese Site

English Web player demo
English Document

Features
You can edit a scenario using Excel!
Optimized file manager
Supports download content
Work with Unity Basic
Full open source C#
2D drawing-based SpriteRenderer
Supports simple UI

Text adventure Features
Text display (color change, variable display tab)
Character display and facial expression change
Background, event CG, sprite display, and fade out.
Voice, BGM, ambient audio, SE playback and fade out
Choices, dialog branches, scenario jump
Tween animation
Embed parameter (Int, Bool, Float, String) formulas
SendMessage function

Really interested in this asset but firstly I would like to know if you are planning to update Utage and integrate the new uGUI of unity 4.6. If that is the case, when do you plan to release that update?
Thank you!

It is currently in preparation. Trial version is there already.
Is still only Web page in Japanese.

That was a fast reply! Thank you very much goodtime, keep up the good work and give us more English documentation! :smile:

I’m having difficulty with the ‘param’ feature. I’m setting a param in one scene and then attempting to retrieve it in another. The scene all happens within the same scenario xls file. If I just jump scenes, the params are maintained. The moment I do a LoadLevel, however, the param values revert to their initial states (as specified by the scenario XLS file). Is there any way to maintain params across scenarios?

Edit: Found a way! I made a handler that writes each param to the PlayerPrefs, along with an index of params and loads them again when the scene loads. This allows for doing that, but is a bit hacky.

Please use “Don’t Destroy on Load” component. It’s attached to ‘Adv Engine’ and ‘Manageres’.
If necessary, please Add also to other objects.
This is very simple script.
refer Unity - Scripting API: Object.DontDestroyOnLoad

Hello,

I am considering purchasing your engine, but I have some questions.

Which platforms are supported? (e.g. Windows, Android, XBox, etc.)

Also, how well does it “plug in” to other game systems? If I have a game that has a text adventure element, but is then interrupted by a different game mechanic (e.g. text adventure chapter 1, then Mario-style platform-er, then text adventure chapter 2…). Can I turn Utage on/off at runtime? Can I read/write Utage params from my own script?

Also, under which license is Utage distributed? After I purchase it, am I free to use it in commercially sold products?

Thank you!

Thank your purchase.

Which platforms are supported? (e.g. Windows, Android, XBox, etc.)
I tested Android,iPhone,WindowsPC,MaxOsX,WebPlaeyer. Others are not tested, but may work.
I have confirmed that there is a problem to build Windows Store App. It will be fixed later.
Not yet support Keyboad or Joystick Contoler.

Can I turn Utage on/off at runtime?
Yes. Please use Method of JumpScenario and IsEndScenario.
Sample code…

using UnityEngine;
using System.Collections;
using Utage;
public class TalkArea : MonoBehaviour {
    public AdvEngine engine;
    public string scenarioLabel;
    void OnCollisionEnter()
    {
        StartCoroutine( CoTalk() );
    }
    IEnumerator CoTalk()
    {
        engine.JumpScenario( scenarioLabel );
        while(!engine.IsEndScenario)
        {
            yield return 0;
        }
    }
}

Detail document. But this is Japanese.

Can I read/write Utage params from my own script?
Sample Code

        public AdvEngine engine;
        void Hoge()
        {
            engine.Param.GetParameter(“flag1");
            engine.Param.TrySetParameter(“flag1”,true);
        }

Also, under which license is Utage distributed?
It is the same with the other license of AssetStore.
Asset Store Terms of Service and EULA

After I purchase it, am I free to use it in commercially sold products?
No problem. Use it.

Thank you very much for your prompt reply! =D

Hi. I tried running Utage on Android but I’m getting "LoadResource Error"s. The strange thing is in logcat the errors have the last slash reversed into a backslash so instead of:

Game/Texture/Character/Character.png

it says:

Game/Texture/Character\Character.png

Could this be the problem? What would cause something like this?

I tried to examine this error, but did not know the cause.

This slash is programmed like this.

Assets\Utage\Scripts\ADV\DataManager\SettingData\AdvBootSetting.cs

        public void BootInit( string resorceDir )
        {
            characterDirInfo = new DefaultDirInfo { defaultDir = @"Texture/Character", defaultExt = ".png" };

[...]

            InitDefaultDirInfo(resorceDir, characterDirInfo);
[...]
        }
        void InitDefaultDirInfo(string root, DefaultDirInfo info)
        {
            info.defaultDir = root + "/" + info.defaultDir + "/";
        }

If you were rewritten source code, may occur an error.

Thank you for the prompt response. Figured out what’s wrong. Because I am keeping my character images in separate folders inside the characters folder I was calling them out as “CharacterName\CharacterName.png” instead of “CharacterName/CharacterName.png”. I changed to “CharacterName/CharacterName.png” and everything is working fine now. Thanks for looking into it!

I was also able to understand.
Thank you for your report.

Hi, just bought this asset, it looks really good, and it supports Live2D now which is really cool. I just started a new project following the tutorial, however, the start screen is in Japanese. Is there a language setting you can change it to English? Thanks.

Hey, YyFiRe, I’ve been using Utage for a bit, and I had the same problem when I started.

Use the Language Manager at Utage/Template/ScriptableObject/LanguageManager.asset, and uncheck “Ignore Localize Ui Text” (false), then save the project. Don’t change any other settings.

Let me know if this doesn’t work for you.

Also, (in case you haven’t already found it), here is the English documentation (scroll to the bottom of the page)

and the English example file
www.madnesslabo.com/UtageDemo/En/Sample%20English.xls

Hi cowlinator, thank you! It works.

Need a Quick answer here. I want to create an RPG game that has Visual Novel like conversation.
but as I see the example (the excel) it looks like I have to set everything in the excel.
Indeed this is convenient to make the VN element, but can I achieve this with UTAGE?

  1. Suddenly creates the Conversation GUI via script, without having to edit the XLS? Like
  • Talking to an NPC (and having different conversation everytime I talk. until reaching certain point)
  • Using “your name” or “your skill” or “quest item name and amount” in the conversation
  1. Using NGUI

‘UTAGE’ is using ‘Unity GUI System’ to gui.
Customize is possible, but not easy.
Sorry

Hi johanesnw.

For “having a different conversation every time”, you can lay out all the conversations one character will speak as sets of dialogs in the .xls, label them, and then you can start any of them in code (at random, or by any other order).

For using “your name” or “your skill” in the dialog, yes, you can do that. Example:
advEngine.Param.TrySetParameter(“skillName”, “gopher herding”);
Then, in the .xls, you embed “<param=skillname>” in the text.

For NGUI, that would be rather difficult.

Hi!

Adapts to different screen resolutions?