Search Unity

Coherent UI - HTML5-based User Interface middleware

Discussion in 'Assets and Asset Store' started by stoyannk, Oct 30, 2012.

  1. DimitarT

    DimitarT

    Joined:
    Apr 8, 2013
    Posts:
    99
    Hi, iOS Pro is not required. You can use Coherent UI with the regular iOS plugin for Unity3D Pro.
     
  2. Darkoo

    Darkoo

    Joined:
    Feb 4, 2013
    Posts:
    96
    Is it possible to upgrade from mobile version to standard and pay the difference or douse one have to pay the complete price of standard?
     
  3. AnchoV

    AnchoV

    Joined:
    Jun 5, 2013
    Posts:
    17
    Hi Darkoo, yes, you can only pay the difference between the two products.

    Please contact us at sales@coherent-labs.com and give us your invoice number of the mobile version.

    Regards,
    Angel
     
  4. Darkoo

    Darkoo

    Joined:
    Feb 4, 2013
    Posts:
    96
    Hello,

    I have been fiddling with Coherent UI for the past 2 days and I have come to understand that it is extremely easy to create your HUD/Menu system, since you can do pretty much everything you can do with CSS,HTML and JavaScript.

    The hard/confusing part has been the to figure out how to use Coherent UI. I feel that the sample demos and CoherentUI_Unity3d_Guide.pdf doesn't do Coherent UI the justice. Going through them they made me feel more confused than enlightened, that is probably because I'm more of a graphics artist than a programmer.

    To make this more appealing to everyone else with less knowledge of programming, I would suggest a different approach to tutorials.
    An ideal tutorial would be an step by step explanation of the concept behind using Coherent UI by having the user create a simple HUD/Menu project and building on it more and more until all the available features/parts of Coherent UI is covered .
    This is something many other plugins lack in unity's asset store.

    All tutorials I have seen so far is the same approach where you get presented to a scene and some parts are explained(mostly by lines of codes where you have to read and understand every line in hopes of understanding the overall concept) and the other part are left unexplained which leaves you confused.

    And again let me say I really have come to like Coherent UI!! And I'm sure I will come to love it when I fully grasp all of it.
     
  5. DimitarT

    DimitarT

    Joined:
    Apr 8, 2013
    Posts:
    99
    Hi,

    We know that the samples and documentation are lacking in terms of clarity and details. We are considering several alternatives and additions to them such as knowledge bases and video tutorials. Adding a step-by-step guides in the current documentation is good idea, we'll think about that for one of the next releases.
     
  6. AnchoV

    AnchoV

    Joined:
    Jun 5, 2013
    Posts:
    17
    Coherent UI Mobile Beta for Unity3D now features Android support !


    We are very pleased to announce that CoherentUI Mobile Beta is now supporting both iOS and Android mobile platforms. All of our clients, using Basic or Standard version of Coherent UI for Unity3D will get mobile support as a free update! :)



    $ipad_half.png $ams.jpeg



    Coherent UI Mobile features:
    - In-game browser
    - Easy exposure of game objects to the UI
    - Hardware-accelerated CSS3, canvas and WebGL
    - Fully functional preview on Windows and Mac OS X
    - iOS and Android support.

    Coherent UI Mobile Beta is available on Unity Asset Store. Try us now and get 30% discount!
     
    Last edited: Oct 8, 2013
  7. Darkoo

    Darkoo

    Joined:
    Feb 4, 2013
    Posts:
    96
    AWESOME on getting android in so fast!!

    A question, how do I get sound playing, this works in browser but not in unity.

    Code (csharp):
    1. <audio id="soundHandle">
    2.     <source src="audio/clicking.mp3" type="audio/mp3"></source>
    3. </audio>
    4. <script>
    5. $(".playAudio").click(
    6.     function() {$("audio")[0].play();}
    7. );
    8. </script>
     
    Last edited: Jul 25, 2013
  8. stoyannk

    stoyannk

    Joined:
    Oct 30, 2012
    Posts:
    35
    Playing mp3 requires licensing as the codec is proprietary and we cannot redistribute it. Coherent UI uses a 'patent-free' build of ffmpeg to play sound and in this way we protect our clients too. Just for testing you could use the ffmpeg library distributed with chrome - it will work. However mi advice is to use some open format like ogg vorbis for your audio.
     
  9. Krileon

    Krileon

    Joined:
    Oct 30, 2012
    Posts:
    642
    Is it possible to do UnBindCall to remove the binding for an event added by BindCall as well as UnRegisterEvent to remove the event registration added by RegisterForEvent yet? It's hard to follow your change logs as several of them go out of order and are missing dates so I can't tell what all has been added, etc..

    http://coherent-labs.com/UIChanges/

    I also like to know what "Control over time in views" and "Execution of scripts at view creation" means.

    Oh, as of today am no longer free trial! Full standard user now! Woohoo!
     
  10. Darkoo

    Darkoo

    Joined:
    Feb 4, 2013
    Posts:
    96
    How come unity's audio manager won't effect the ui audio, I am turning the volume down to zero but can still hear sound made by ui.. :S
     
  11. DimitarT

    DimitarT

    Joined:
    Apr 8, 2013
    Posts:
    99
    Hi,

    Unfortunately we were quite busy with the Android beta, so un-binding and un-registering handlers is not ready yet. I can't rely promise when they will be ready, but it will be soon since that is a quite useful feature.

    "Control over time in views" means you can control how fast the time is going in a view - you can make it slower or faster - this affects everything from CSS animations to JavaScript Date.now . This featured is exposed only in the C++ API of Coherent UI at the moment, but we'll make it accessible from Unity3D in one of the next releases.

    "Execution of scripts at view creation" means you can provide a JavaScript snipped to be executed when the JavaScript context is created before any JavaScript from the loaded HTML has executed. It can be used to provide same configuration to the view before it has loaded. In Unity3D it is accessible from a property of CoherentUIView in the inspector called "Initial Script".
     
  12. DimitarT

    DimitarT

    Joined:
    Apr 8, 2013
    Posts:
    99
    We haven't yet connected the volume in Coherent UI with that in Unity3D.
    You can control the volume in Coherent UI using the following component


    Code (csharp):
    1.  
    2.  
    3. using Coherent.UI.Binding;
    4.  
    5. public class VolumeControl : MonoBehaviour {
    6.    
    7.     CoherentUIView m_View;
    8.     float m_Volume = 2.0f; // must be outside [0.0, 1.0]
    9.  
    10.     void Start () {
    11.         m_View = GetComponent<CoherentUIView>();
    12.     }
    13.    
    14.     void Update () {
    15.         if (m_Volume != AudioSource.volume  m_View.View != null) {
    16.             m_Volume = AudioSource.volume;
    17.             m_View.View.TriggerEvent("setVolume", m_Volume);
    18.         }
    19.     }
    20. }
    21.  
    And in the page:
    Code (csharp):
    1.  
    2. engine.on('setVolume', function (volume) {
    3.     var elements = document.getElementsByTagName('audio'),
    4.          n = elements.length;
    5.     for (var i = 0; i < n; ++i) {
    6.         elements[i].volume = volume;
    7.     }
    8. });
    9.  
     
    Last edited: Jul 25, 2013
  13. PTrefall

    PTrefall

    Joined:
    Nov 5, 2012
    Posts:
    10
    After upgrading to Unity Pro 4.2, Coherent UI seems not too happy. Dependency walker doesn't seem to make much sense :-/ Any ideas? Thanks.

    EDIT: Solution was evident in the first image all along :) Didn't realize I had to reinstall/reactivate Coherent UI after installing the new Unity version... makes sense!

    $ibchJFWsdXCXJr.png
    $i3GeLZmFljKeE.png
     
    Last edited: Jul 25, 2013
  14. Krileon

    Krileon

    Joined:
    Oct 30, 2012
    Posts:
    642
    Ah, ok, no worries; just checking up on progress. :)

    Ooh, nice!

    Ah, that'll be pretty handy for my language script; great, thank you!
     
  15. PTrefall

    PTrefall

    Joined:
    Nov 5, 2012
    Posts:
    10
    Ah, I didn't realize I needed to reinstall/reactivate Coherent UI from the Unity menu... makes sense :) My bad!
     
  16. Darkoo

    Darkoo

    Joined:
    Feb 4, 2013
    Posts:
    96
    Hello again,

    So I read through the CoherentUI_Unity3D_Guide.pdf a few times trying to get a grasp on the core concept of using Coherent UI. And along the way I created this as a guideline for myself. Within this guideline I have comments starting with a couple of question marks like: "???????" to pinpoint what I can't figure out(had a few more question marks starting :D).

    If someone could go through this and answer my questions and see if I have gotten something wrong I would greatly appreciate it!!
    Thanks before hand!


    Code (csharp):
    1.  
    2. /* Unity3D can call JavaScript using events while JavaScript can call Unity3D using events and or calls.*/
    3.  
    4.  
    5. /*-----------------------------------------------------------------------------*/
    6. /*--Unity3D-->JavaScript--Using Event------------------------------------------*/
    7. /*-----------------------------------------------------------------------------*/
    8.     /*How Unity3D calls JavaScript using Event:*/
    9.         coherentUIView.View.TriggerEvent("MyEvent", args);
    10.        
    11.     /*How JavaScript handles the event call from Unity3d:*/
    12.         engine.on("MyEvent", function(args) {...});
    13. /*-----------------------------------------------------------------------------*/
    14.  
    15.  
    16. /*-----------------------------------------------------------------------------*/
    17. /*--JavaScript-->Unity3D--Using Event------------------------------------------*/
    18. /*-----------------------------------------------------------------------------*/
    19.     /*How JavaScript calls Unity3D using Event:*/
    20.         engine.trigger("MyEvent", args);
    21.        
    22.     /*How Unity3D handles the event call from JavaScript:*/
    23.         coherentUIView.View.RegisterForEvent("MyEvent", handlerMethod);
    24.             /*???????? No handlerMethod examples found "for RegisterForEvent".. :S,
    25.             might it be the same as BindCall but only without the return value possibility?*/
    26. /*-----------------------------------------------------------------------------*/
    27.  
    28.  
    29. /*-----------------------------------------------------------------------------*/
    30. /*--JavaScript-->Unity3D--Using Calls---!! Using calls you can return values!!-*/
    31. /*-----------------------------------------------------------------------------*/
    32.     /*How JavaScript calls Unity3D using Calls:*/
    33.         engine.call("MyCall", args);
    34.        
    35.     /*How Unity3D handles the call from JavaScript:*/
    36.         coherentUIView.View.BindCall("MyCall", handlerMethod);
    37.             /*???????? handlerMethod types found:
    38.                 (System.Action)functionName     ------> use when not using return values and not receiving arguments?
    39.                 (Action<typeName>)functionName  ------> use when not using return values and receiving arguments?
    40.                 (func<int>)functionName         ------> use when using return values and receiving arguments?*/
    41. /*-----------------------------------------------------------------------------*/
    42.  
    43.  
    44.  
    45. /*-----------------------------------------------------------------------------*/
    46. /*-------------------------------Usage Example--,Example is in UnityScript-----*/
    47. /*-----------------------------------------------------------------------------*/
    48.  
    49.     /*///////////// In Unity3D:*/                              
    50.         var View : Coherent.UI.View;
    51.        
    52.         Start () {
    53.             View = gameObject.GetComponent(CoherentUIView);
    54.             View.Listener.ReadyForBindings += HandleReadyForBindings;
    55.         }
    56.        
    57.         /* ??????? int frameId, string path, bool isMainFrame*/
    58.         function HandleReadyForBindings (frameId : int, path : String, isMainFrame:boolean)
    59.         {
    60.             if (isMainFrame)
    61.             {
    62.                 /* binding this Functions so that JavaScript can call them*/
    63.                 View.BindCall("funcCall01", (System.Action)this.Func01);
    64.                 View.BindCall("funcCall02", (Action<int>)this.Func02);
    65.                 View.BindCall("funcCall03", (Func<int>)this.Func03);
    66.                
    67.                 /* Here Unity3D calls a JavaScript function using an event call and also sends an argument with it*/
    68.                 var argument = "Unity3D sais hello!!";
    69.                 coherentUIView.View.TriggerEvent("AlertTest", argument);               
    70.                
    71.             }
    72.         }  
    73.        
    74.         function Func01()
    75.         {
    76.             Debug.Log('This is the result of this function.');
    77.         }
    78.         function Func02(arg)
    79.         {
    80.             Debug.Log('This function can recieve an ' + arg +'from JavaScript.');
    81.         }
    82.         function Func03(arg:int)
    83.         {
    84.             Debug.Log('This functions recieves an in int argument multiplies it by 2 and returns it´s product to JavaScript.');
    85.             return arg * 2;
    86.         }      
    87.     /*/////////// END*/
    88.        
    89.    
    90.     /*////////// In JavaScript/Html */
    91.         <!DOCTYPE HTML>
    92.         <html>
    93.         <head>
    94.             <title>Coherent UI ROCKS!!<title>
    95.             <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    96.         </head>
    97.         <body>
    98.             <button id="CallFunc01_OnUnity3D" type="button">Call function 01</button><br><br>
    99.             <button id="CallFunc02_OnUnity3D" type="button">Call function 02</button><br><br>
    100.             <button id="CallFunc02_OnUnity3D" type="button">Call function 03</button><br><br>
    101.            
    102.             <script type="text/javascript">
    103.                 /*Here when AlerTest event has been called from Unity3D this gets triggered*/
    104.                 engine.on("AlertTest", function(argument)
    105.                                         {
    106.                                             alert(argument);
    107.                                         });
    108.                 $("#CallFunc01_OnUnity3D").click(function() {
    109.                     /*<!--Here we call our first function that was bound in Unity3D*/
    110.                     engine.call("funcCall01");
    111.                 });
    112.                 $("#CallFunc02_OnUnity3D").click(function() {
    113.                     /*Here we call our second function that was bound in Unity3D*/
    114.                     var arg = 'ARGUMENT';
    115.                     engine.call("funcCall02", arg);
    116.                 });
    117.                 $("#CallFunc03_OnUnity3D").click(function() {
    118.                     /*Here we call our third function that was bound in Unity3D, but also get a return that we use alert to show you*/
    119.                     var arg = 8;
    120.                     alert( engine.call("funcCall02", arg) );
    121.                 });            
    122.             </script>
    123.         </body>
    124.         </html>
    125.     /*////////// END */
    126.  
     
    Last edited: Jul 26, 2013
  17. DimitarT

    DimitarT

    Joined:
    Apr 8, 2013
    Posts:
    99
    The handlerMethods are almost arbitrary .Net delegates. The limitation is that the type of the arguments must be supported by Coherent UI.
    That means any .Net type without user defined types with indexed properties (that is the limitation we are aware at the moment).

    From your samples I am not sure whether you've got the JavaScript invocation syntax correctly.

    Code (csharp):
    1.  
    2. public void BindingsReady()
    3. {
    4.     m_View.BindCall("Login", (System.Func<string, string, bool>)this.Login);
    5.     m_View.RegisterForEvent("startGame", (System.Action<int, int>)this.StartGame);
    6. }
    7.  
    8. public bool Login(string username, string password)
    9. {
    10.     // ...
    11. }
    12.  
    13. public void StartGame(int level, int avatarId)
    14. {
    15.     // ...
    16. }
    17.  

    Please note that the arguments are gives normal parameters, they are not wrapped in an array or some special object

    Code (csharp):
    1.  
    2. engine.call("Login", "Username", "Secret42").then(function (loggedIn) {
    3.     if (loggedIn) {
    4.         engine.trigger('startGame", 1, 2);
    5.    }
    6. });
    7.  
    So to the questions:

    Handlers for RegisterEvent and BindCall can be absolutely the same, only the return value of an event handler is ignored.


    As I said, handlerMethods are arbitrary .Net delegates, there are not restrictions on number of arguments and having a return value.
    The casts to System.Action and System.Func are just to tell the compiler to generate a delegate from the method group this.Method.
    You can use your own defined delegate types instead of the generic ones.

    In future versions of Coherent UI it will be possible to bind specific functions for each frame/iframe in the page. So to avoid changing the API, we have
    already provided all arguments for the function - frameId is the internal frame id and path is its URL.

    I hope I've answered the questions.
     
  18. Darkoo

    Darkoo

    Joined:
    Feb 4, 2013
    Posts:
    96
    @DimitarT: thank you for clearing thing up for me. It seems that I am unfamiliar with "Delegates" thus not understanding the (System.Action) and (System.Func). Will have to read up on that Since my programming knowledge is very small and mostly confined to JavaScript.

    I have redone my example and this time testing it in unity:

    *in unity3d:
    Code (csharp):
    1.  
    2. #pragma strict
    3. #if !UNITY_IPHONE || UNITY_EDITOR
    4. import Coherent.UI.Binding; // to use View.TriggerEvent with extra arguments
    5.        
    6.        private var m_View : CoherentUIView;
    7.  
    8.        function Start () {
    9.  
    10.             m_View = GetComponent(typeof(CoherentUIView)) as CoherentUIView;
    11.  
    12.             m_View.Listener.ReadyForBindings += HandleReadyForBindings;
    13.  
    14.         }
    15.  
    16.        
    17.  
    18.      
    19.         function HandleReadyForBindings (frameId : int, path : String, isMainFrame:boolean)
    20.  
    21.         {
    22.  
    23.             if (isMainFrame)
    24.  
    25.             {
    26.  
    27.                 /* binding this Functions so that JavaScript can call them*/
    28.                
    29.                 m_View.View.BindCall("funcCall01", this.Func01);
    30.  
    31.                 m_View.View.BindCall("funcCall02", this.Func02);
    32.  
    33.                 m_View.View.BindCall("funcCall03", this.Func03);
    34.  
    35.                
    36.  
    37.                 /* Here Unity3D calls a JavaScript function using an event call and also sends an argument with it*/
    38.  
    39.                 var argument = "Unity3D says hello!!";
    40.  
    41.                 m_View.View.TriggerEvent("AlertTest", argument);                
    42.  
    43.                
    44.  
    45.             }
    46.  
    47.         }  
    48.  
    49.        
    50.  
    51.         function Func01()
    52.  
    53.         {
    54.  
    55.             Debug.Log('This is the result of this function.');
    56.  
    57.         }
    58.  
    59.         function Func02(arg:String)
    60.  
    61.         {
    62.  
    63.             Debug.Log('This function can recieve an ' + arg +' from JavaScript.');
    64.  
    65.         }
    66.  
    67.         function Func03(arg:int)
    68.  
    69.         {
    70.  
    71.             Debug.Log('This functions recieves an in int argument multiplies it by 2 and returns it´s product to JavaScript.');
    72.  
    73.             return arg * 2;
    74.  
    75.         }    
    76. #endif
    77.  

    *In HTML/JavaScript:
    Code (csharp):
    1.  
    2. <!DOCTYPE HTML>
    3. <html>
    4. <head>
    5.     <title>Coherent UI ROCKS!!</title>
    6.     <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    7.     <script src="js/coherent.js"></script>
    8. </head>
    9. <body style="color: white;">
    10.     <div id="CallFunc01_OnUnity3D" style="background-color: #2E2E2E; text-align:center;">Call function 01</div><br>
    11.     <div id="CallFunc02_OnUnity3D" style="background-color: #6E6E6E; text-align:center;">Call function 02</div><br>
    12.     <div id="CallFunc02_OnUnity3D" style="background-color: #2E2E2E; text-align:center;">Call function 03</div><br>
    13.    
    14.     <script>
    15.         /*Here when AlerTest event has been called from Unity3D this gets triggered*/
    16.         engine.on("AlertTest", function(argument)
    17.                                 {
    18.                                     alert(argument);
    19.                                 });
    20.         $("#CallFunc01_OnUnity3D").click(function() {
    21.             /*<!--Here we call our first function that was bound in Unity3D*/
    22.             engine.call("funcCall01");
    23.         });
    24.         $("#CallFunc02_OnUnity3D").click(function() {
    25.             /*Here we call our second function that was bound in Unity3D*/
    26.             var arg = 'ARGUMENT';
    27.             engine.call("funcCall02", arg);
    28.         });
    29.         $("#CallFunc03_OnUnity3D").click(function() {
    30.             /*Here we call our third function that was bound in Unity3D, but also get a return that we use alert to show you*/
    31.             var arg = 8;
    32.             alert( engine.call("funcCall02", arg) );
    33.         });            
    34.     </script>
    35. </body>
    36. </html>
    37.  
    Testing this out result:
    As soon as ReadyForBindings is fired I get an alert saying "Unity3D says hello!!"

    Clicking the "Call function 01" div I get the debug message in unity saying "This is the result of this function."

    Clicking the "Call function 02" div I get the debug message in unity saying "This function can recieve an ARGUMENT from JavaScript."

    Clicking the "Call function 03" div nothing happend, should get and alert

    So As I said earlier I have to figure out what delegates are and how they work in UnityScript
     
  19. DimitarT

    DimitarT

    Joined:
    Apr 8, 2013
    Posts:
    99
    Hi, there are two div's with id CallFunc02_OnUnity3D, so $("#CallFunc03_OnUnity3D") doesn't do anything.
    You will call Func02, which takes an string with an integer. Coherent UI enforces the strict typing of .Net and will refuse to call Func02.
    You can see the error if you add an error handler for the promise
    Code (csharp):
    1.  
    2.  engine.call("funcCall02", arg).otherwise(console.error.bind(console));
    3.  
     
  20. AnchoV

    AnchoV

    Joined:
    Jun 5, 2013
    Posts:
    17
    Coherent UI now works in Linux !


    We are really glad to let you all know, that our bug report about Unity not working with native rendering plugin callbacks for linux has been fixed and plugins are now enabled with the new Unity 4.2.

    We started on with integrating Coherent UI to Unity3D in Linux and here is a little teaser :)

    $Screenshot - 07232013 - 02_58_43 PM.png
     
  21. Darkoo

    Darkoo

    Joined:
    Feb 4, 2013
    Posts:
    96
    Linux.. :) droooooling awesome!!

    @DimitarT: sweet, thanks for spotting the div id.

    Also I had forgotten to catch the return in JavaScript using .then() as following:
    Code (csharp):
    1.  
    2. $("#CallFunc03_OnUnity3D").click(function() {
    3.     /*Here we call our third function that was bound in Unity3D, but also get a return that we use alert to show you*/
    4.     var arg = 8;
    5.     engine.call("funcCall03", arg).then(function() {
    6.         alert(arguments[0]);
    7.     });
    8. });            
    9.  

    I think I now understand the necessary parts of Coherent UI to do what I need and lots more.

    Again Coherent UI ROOOCKS!! Anyone wanting endless possibilities, workflow speed, ease of use and decreasing performance drain of you unity project, do yourself a favor and get Coherent UI!!!!!
     
  22. PTrefall

    PTrefall

    Joined:
    Nov 5, 2012
    Posts:
    10
    Yeah, I'm very pleased with it so far too. For me it's been an excuse to finally learn HTML5/CSS3/JavaScript!

    I've been meaning to ask... is there any hope to be able to use Node, jade-lang, sass-lang or any such extensions? I'm guessing not, but can't hurt asking if it's at all possible :)
     
    Last edited: Jul 26, 2013
  23. sloopidoopi

    sloopidoopi

    Joined:
    Jan 2, 2010
    Posts:
    244
    Hi,
    has anybody some information about how to build a pdf-viewer with coherentUI? It was mentioned that some javascript based solution should work , Any Information how this setup has to be and what libraries I have to use?
    Thanks
     
  24. DimitarT

    DimitarT

    Joined:
    Apr 8, 2013
    Posts:
    99
    Hi,

    You can use http://browserify.org/ to write your JavaScript in Node.js style, but using ready made Node.js probably won't work because they depend on the Node.js API.

    You can use jade and sass in your UI, then use their build tools to create plain old HTML and CSS and give that to Coherent UI.
    There are experiments in using jade without node (http://stackoverflow.com/questions/6575743/using-jade-templates-jade-lang-com-client-side), but we haven't tried it and can't give any guarantee it will work.

    As a whole any workflow or framework that you have used to create a web application should be working with Coherent UI as the client side of the application.
     
  25. DimitarT

    DimitarT

    Joined:
    Apr 8, 2013
    Posts:
    99
    Hi,

    you can use https://github.com/mozilla/pdf.js
    Here is a demo of it http://mozilla.github.io/pdf.js/web/viewer.html.

    Please note that if you are not going to serve your pdf files from http or https you may need to modify pdf.js source to allow coui to be treated as valid protocol.
     
  26. fanjules

    fanjules

    Joined:
    Nov 9, 2011
    Posts:
    167
    Is there still a demo or evaluation version available?
     
  27. DimitarT

    DimitarT

    Joined:
    Apr 8, 2013
    Posts:
    99
  28. sloopidoopi

    sloopidoopi

    Joined:
    Jan 2, 2010
    Posts:
    244
    Many thanks for the info, Do i always have to use the coui protocol for local files? Or can I use also "file://......." ?
     
  29. fanjules

    fanjules

    Joined:
    Nov 9, 2011
    Posts:
    167
    I too am intrigued by the handling of local files, since most of the way I would interact with Coherent would be with local files.

    Are local files support, e.g. local jpegs which can then be rendered by the browser?

    Would this work with local files which are compiled by Unity in the Resources folder, but also files that I have saved myself. e.g. If I was to create my own JPEG in Unity (say from a texture), and save it to the local storage - would Coherent be able to use that?

    Does the browser perform exactly the same on all different platforms or will we still have to allow for browser/os inconsistencies?

    Lastly a question related to local image files... does this extend to local font files and character encoding for localisation? i.e. If I want to provide a display in chinese characters I will change the text strings and also the font from local files... can that be done?
     
  30. DimitarT

    DimitarT

    Joined:
    Apr 8, 2013
    Posts:
    99
    No, you can use any standard protocol as well as file:///. Coherent UI just uses coui:// to load files through Unity3D.
     
  31. DimitarT

    DimitarT

    Joined:
    Apr 8, 2013
    Posts:
    99
    Local files are first class citizen in Coherent UI, so you can do everything you asked.

    About the browser/os inconsistencies - Coherent UI is based on webkit on all platforms, so there shouldn't be significant differences between any OS.
    You can load any font in Coherent UI and display Chinese characters or any other characters as long as the font supports them.
     
  32. fanjules

    fanjules

    Joined:
    Nov 9, 2011
    Posts:
    167
    All this is music to my ears. I have requested an evaluation version about half an hour ago so look forward to experimenting and hopefully purchasing your product - it sounds like just what I've been looking for and it's the way UI should have been handled all along.
     
  33. fanjules

    fanjules

    Joined:
    Nov 9, 2011
    Posts:
    167
    I've been experimenting with it and finding it quite exciting - to the point I'm really having to recalibrate what I can do with my project! This is great.

    I was working through the helper PDF but it's probably out of date now. For instance, I noticed when I change the page size as suggested in the "Samples" section I get an error message that the render texture size cannot be changed. Has the means to do this been changed or is it a temporary fault or permanent change?

    Lastly - and I've read every single post in this thread to check it's not been asked before - but I notice Unity is now supporting 3 new platforms, Windows RT, Windows Phone 8, and Blackberry 10. Are there any plans to support some of these platforms? I've just done a survey of the players that play my browser games and was surprised to see an alarming number of them have Windows Phone 8 handsets for example.
     
    Last edited: Jul 31, 2013
  34. DimitarT

    DimitarT

    Joined:
    Apr 8, 2013
    Posts:
    99
    Hi,

    The error message for changing the view size is a regression. We will see to have it fixed for the next release.

    We are considering support for these platforms, but I can't say anything for sure. We want to see how Coherent UI support for iOS and Android is going to affect its usage and see what is the demand for the other mobile platforms.
     
  35. fanjules

    fanjules

    Joined:
    Nov 9, 2011
    Posts:
    167
    I notice that for input to work on the Android version, Coherent.js must be included on the webpage. Does this mean that external websites on the web cannot be interacted with from Android?
     
  36. DimitarT

    DimitarT

    Joined:
    Apr 8, 2013
    Posts:
    99
    No, you can interact with external websites by setting the Input State property of the view to "Take All". This makes the view take all input events. If you need to consume only part of the events (like only clicking on buttons and not clicking on the background) you'll need coherent.js. You can include in an external page using the view.ExecuteScript method.
     
  37. fanjules

    fanjules

    Joined:
    Nov 9, 2011
    Posts:
    167
    I can't seem to get it to work... what am I doing wrong with the Android build? It works fine testing it in the editor, but no matter what options I try running it on Android (lot's of different Android devices in fact) it just ignores touches entirely.

    "Take All" is on and I've tried with and without "Support Click Through" enabled, as well as various permutations of the other options.

    This is the trial version, building from Windows and the exact same problem building to Android on the Mac. Is there something I have overlooked?

    I don't know if it is related but when I build the mobile sample, again it works fine on desktop but on Android it flags up an error browser page saying it can't find the coui://UIresources/etc files. I have set the correct folder in the editor via Project Settings - Coherent UI - Select UI Folder, and the desktop examples work correctly whereas without this set they didn't.
     
  38. DimitarT

    DimitarT

    Joined:
    Apr 8, 2013
    Posts:
    99
    Hi,

    It turns out that I have mislead you. As the documentation says it is necessary to have coherent.js in the page to support input on Android.
    To load it in a external page, you have to read it and use view.ExecuteScript to execute it. We'll try to remove this requirement in future versions.

    About the missing resources - can you tell what version of Unity3D you are using and whether there are any error messages while exporting the project from Unity3D and building it with Eclipse?
     
  39. w00dn

    w00dn

    Joined:
    Apr 28, 2010
    Posts:
    275
    Can anyone else confirm that alt-tabbing from builds running in fullscreen is not working when this plugin is active? I'm using unity 4.2 and the lastest version of Coherent UI from the asset store.
     
  40. fanjules

    fanjules

    Joined:
    Nov 9, 2011
    Posts:
    167
    Do you have an example of how to do that? view.ExecuteScript appears nowhere in the documentation.

    That would be ideal.

    I'm currently on the Mac. On Windows, there *appears* to be no problem, but since I'm unable to currently build to Android due to a bug in Unity 4.2 with Android API 18 I can't be sure.

    On the Mac, I get the following warning when I hit PLAY (but not build):

    [Coherent UI] (Warning) PID: 2875 | -1 19:07:18.383887 Requesting resource read for file:////Users/fanjules/Library/Caches/DefaultCompany/MAC_01_coherent_test/cookies.dat with internal id 0 reported FAIL
    UnityEngine.Debug:Log(Object)
    Coherent.UI.UnityLogHandler:WriteLog(Severity, String, UInt32) (at Assets/Standard Assets/Scripts/CoherentUI/Detail/LogHandler.cs:19)
    Coherent.UI.ILogHandler:SwigDirectorWriteLog(Int32, String, UInt32) (at /Volumes/MacBuild/PandoStatic/Coherent/UI/DotNET/swig/ILogHandler.cs:67)
    Coherent.UI.CoherentUI_NativePINVOKE:UISystem_Update(HandleRef)
    Coherent.UI.UISystem:Update() (at /Volumes/MacBuild/PandoStatic/Coherent/UI/DotNET/swig/UISystem.cs:50)
    CoherentUISystem:Update() (at Assets/Standard Assets/Scripts/CoherentUI/CoherentUISystem.cs:617)

    When I do a Build to Android on the Mac I then get the additional warnings:

    Assets/Standard Assets/Scripts/CoherentUI/Detail/ViewListener.cs(177,29): warning CS0414: The private field `Coherent.UI.Mobile.UnityViewListener.m_Width' is assigned but its value is never used
    Assets/Standard Assets/Scripts/CoherentUI/Detail/ViewListener.cs(178,29): warning CS0414: The private field `Coherent.UI.Mobile.UnityViewListener.m_Height' is assigned but its value is never used
    Assets/CoherentUI/Samples/Standard Assets/Character Controllers/Sources/Scripts/ThirdPersonController.js(193,54): UCW0003: WARNING: Bitwise operation '|' on boolean values won't shortcut. Did you mean '||'?
    java: I: Baksmaling...
    I: Loading resource table...
    I: Loaded.
    I: Decoding AndroidManifest.xml with resources...
    I: Loading resource table from file: /Users/fanjules/Library/apktool/framework/1.apk
    I: Loaded.
    I: Regular manifest package...
    I: Decoding file-resources...
    I: Decoding values */* XMLs...
    I: Done.
    I: Copying assets and libs...

    UnityEngine.Debug:LogWarning(Object)
    AndroidPostProcessor:StartProcess(String, String) (at Assets/CoherentUI/Editor/CoherentUI/AndroidPostProcessor.cs:152)
    AndroidPostProcessor:UnpackAPK(String, String) (at Assets/CoherentUI/Editor/CoherentUI/AndroidPostProcessor.cs:264)
    CoherentPostProcessor:OnPostprocessBuild(BuildTarget, String) (at Assets/CoherentUI/Editor/CoherentUI/CoherentPostProcessor.cs:181)
    UnityEditor.HostView:OnGUI()
    java: I: Checking whether sources has changed...
    I: Smaling...

    I: Checking whether resources has changed...
    I: Building resources...
    I: Copying libs...
    I: Building apk file...

    UnityEngine.Debug:LogWarning(Object)
    AndroidPostProcessor:StartProcess(String, String) (at Assets/CoherentUI/Editor/CoherentUI/AndroidPostProcessor.cs:152)
    AndroidPostProcessor:RepackAPK(String, String) (at Assets/CoherentUI/Editor/CoherentUI/AndroidPostProcessor.cs:275)
    CoherentPostProcessor:OnPostprocessBuild(BuildTarget, String) (at Assets/CoherentUI/Editor/CoherentUI/CoherentPostProcessor.cs:244)
    UnityEditor.HostView:OnGUI()

    Assets/CoherentUI/Samples/Standard Assets/Character Controllers/Sources/Scripts/ThirdPersonController.js(193,54): UCW0003: WARNING: Bitwise operation '|' on boolean values won't shortcut. Did you mean '||'?
     
  41. nikxio

    nikxio

    Joined:
    Oct 30, 2012
    Posts:
    69
    Hi fanjules,

    We we unable to reproduce the missing resources issue. We tested the MobileInput sample without modifications on a 10.8 Mac with Unity3D 4.2 and JDK 1.7 and it was working as expected. If you could send us your project to support@coherent-labs.com we can investigate it further.

    The warnings you see when building the APK are not to worry about, it's just Java writing info messages when we're repacking the file. Other than that I can give you some general pointers so you can verify the problem is not in the deployment:

    • Make sure you're testing on a device/simulator with Android API level 10+; the coui:// protocol is not available on lower API levels
    • Build the APK in the root of your project and open a terminal there. Type
      Code (csharp):
      1. java -jar Assets/CoherentUI/Editor/apktool1.5.2/apktool.jar d -f YourAPKFile.apk YourAPKFileUnpacked
      This will unpack the APK file so you can verify that there is a UIResources folder under YourAPKFileUnpacked/assets containing the HTML files
    • Try requiring permission to access Internet in the player settings before building the APK. This shouldn't be required but you can give it a try.
    • Check the LogCat output for errors and send it to us. It's easiest if you export an Eclipse project instead of building the APK directly. Note that the current version of CoherentUI in the Asset Store was submitted before Unity 4.2 was release, so if you're using the 4.2 version you need to do a small modification in the CoherentPostProcessor.cs file to export the project correcly - just add the following
      Code (csharp):
      1. if (target == BuildTarget.Android)
      2. {
      3.     outDir = pathToBuiltProject;
      4.     projName = PlayerSettings.productName;
      5. }
      after the line
      Code (csharp):
      1. var resourcesFolder = PlayerPrefs.GetString("CoherentUIResources");
     
  42. Molt

    Molt

    Joined:
    Sep 6, 2011
    Posts:
    103
    Waaay back when PDF readers were first mentioned it was said that Coherent supports plugins and so the Adobe one may work. Are there any guidelines to how to add this plugin into the system, which files it needs and where to put them and so forth?
     
  43. fanjules

    fanjules

    Joined:
    Nov 9, 2011
    Posts:
    167
    I am building to modern devices (Android 4, various test machines include Google's products as well as HTC). I have set the player settings permission to require the Internet.

    Please remember however I am using the trial version, not that from the Asset Store (though I do wonder if that version is more recent?).

    I have built the APK to the root of the project and still no success. I have unpacked the APK, and the CoherentUI folder is in the correct place. I have included the logcat output, but I am not particulary skilled with it on the Mac so unsure if the log is of any use:

    Code (csharp):
    1. --------- beginning of /dev/log/system
    2. --------- beginning of /dev/log/main
    3. E/Unity   (27109): Unable to find __Internal
    4. E/Unity   (27109): Unable to find __Internal
    5. E/Unity   (27109): Unable to find __Internal
    6. E/Unity   (27109): Unable to find __Internal
    7. I/Unity   (27109): Coherent UI system initialized..
    8. I/Unity   (27109):  
    9. I/Unity   (27109): (Filename: ./Runtime/ExportGenerated/AndroidManaged/UnityEngineDebug.cpp Line: 54)
    10. I/Unity   (27109):
    11. E/Unity   (27109): Unable to find __Internal
    12. E/Unity   (27109): Unable to find __Internal
    13. E/Unity   (27109): Unable to find __Internal
    14. E/Unity   (27109): Unable to find __Internal
    15. E/Unity   (27109): Unable to find __Internal
    16. E/Unity   (27109): Unable to find __Internal
    17. E/Unity   (27109): Unable to find __Internal
    18. E/Unity   (27109): Unable to find __Internal
    19. E/Unity   (27109): Unable to find __Internal
    20. E/Unity   (27109): Unable to find __Internal
    21. E/Unity   (27109): Unable to find __Internal
    22. E/Unity   (27109): Unable to find __Internal
    23. E/Unity   (27109): Unable to find __Internal
    24. E/Unity   (27109): Unable to find __Internal
    25. E/Unity   (27109): Unable to find __Internal
    26. E/Unity   (27109): Unable to find __Internal
    27. E/Unity   (27109): Unable to find __Internal
    28. D/Unity   (27303): Creating OpenGL ES 2.0 context (RGB24 888 24/8)
    29. D/Unity   (27303): GL_EXT_debug_marker GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_OES_surfaceless_context GL_ARM_mali_program_binary
    30. E/Unity   (27303): Unable to find __Internal
    31. E/Unity   (27303): Unable to find __Internal
    32. E/Unity   (27303): Unable to find __Internal
    33. E/Unity   (27303): Unable to find __Internal
    34. E/Unity   (27303): Unable to find __Internal
    35. E/Unity   (27303): Unable to find __Internal
    36. E/Unity   (27303): Unable to find __Internal
    37. E/Unity   (27303): Unable to find __Internal
    38. E/Unity   (27303): Unable to find __Internal
    39. E/Unity   (27303): Unable to find __Internal
    40. I/Unity   (27303): Coherent UI system initialized..
    41. I/Unity   (27303):  
    42. I/Unity   (27303): (Filename: ./Runtime/ExportGenerated/AndroidManaged/UnityEngineDebug.cpp Line: 54)
    43. I/Unity   (27303):
    44. E/Unity   (27303): Unable to find __Internal
    45. E/Unity   (27303): Unable to find __Internal
    46. E/Unity   (27303): Unable to find __Internal
    47. E/Unity   (27303): Unable to find __Internal
    48. E/Unity   (27303): Unable to find __Internal
    49. E/Unity   (27303): Unable to find __Internal
    50. E/Unity   (27303): Unable to find __Internal
    51. E/Unity   (27303): Unable to find __Internal
    52. E/Unity   (27303): Unable to find __Internal
    53. E/Unity   (27303): Unable to find __Internal
    54. E/Unity   (27303): Unable to find __Internal
    55. E/Unity   (27303): Unable to find __Internal
    56. E/Unity   (27303): Unable to find __Internal
    57. E/Unity   (27303): Unable to find __Internal
    58. E/Unity   (27303): Unable to find __Internal
    59. E/Unity   (27303): Unable to find __Internal
    60. E/Unity   (27303): Unable to find __Internal
    61. D/Unity   (27587): Creating OpenGL ES 2.0 context (RGB24 888 24/8)
    62. D/Unity   (27587): GL_EXT_debug_marker GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_OES_surfaceless_context GL_ARM_mali_program_binary
    63. E/Unity   (27587): Unable to find __Internal
    64. E/Unity   (27587): Unable to find __Internal
    65. E/Unity   (27587): Unable to find __Internal
    66. E/Unity   (27587): Unable to find __Internal
    67. E/Unity   (27587): Unable to find __Internal
    68. E/Unity   (27587): Unable to find __Internal
    69. E/Unity   (27587): Unable to find __Internal
    70. E/Unity   (27587): Unable to find __Internal
    71. E/Unity   (27587): Unable to find __Internal
    72. E/Unity   (27587): Unable to find __Internal
    73. I/Unity   (27587): Coherent UI system initialized..
    74. I/Unity   (27587):  
    75. I/Unity   (27587): (Filename: ./Runtime/ExportGenerated/AndroidManaged/UnityEngineDebug.cpp Line: 54)
    76. I/Unity   (27587):
    77. E/Unity   (27587): Unable to find __Internal
    78. E/Unity   (27587): Unable to find __Internal
    79. E/Unity   (27587): Unable to find __Internal
    80. E/Unity   (27587): Unable to find __Internal
    81. E/Unity   (27587): Unable to find __Internal
    82. E/Unity   (27587): Unable to find __Internal
    83. E/Unity   (27587): Unable to find __Internal
    84. E/Unity   (27587): Unable to find __Internal
    85. E/Unity   (27587): Unable to find __Internal
    86. E/Unity   (27587): Unable to find __Internal
    87. E/Unity   (27587): Unable to find __Internal
    88. E/Unity   (27587): Unable to find __Internal
    89. E/Unity   (27587): Unable to find __Internal
    90. E/Unity   (27587): Unable to find __Internal
    91. E/Unity   (27587): Unable to find __Internal
    92. E/Unity   (27587): Unable to find __Internal
    93. E/Unity   (27587): Unable to find __Internal
    94. D/Unity   (27633): Creating OpenGL ES 2.0 context (RGB24 888 24/8)
    95. D/Unity   (27633): GL_EXT_debug_marker GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_OES_surfaceless_context GL_ARM_mali_program_binary
    96. E/Unity   (27633): Unable to find __Internal
    97. E/Unity   (27633): Unable to find __Internal
    98. E/Unity   (27633): Unable to find __Internal
    99. E/Unity   (27633): Unable to find __Internal
    100. E/Unity   (27633): Unable to find __Internal
    101. E/Unity   (27633): Unable to find __Internal
    102. E/Unity   (27633): Unable to find __Internal
    103. E/Unity   (27633): Unable to find __Internal
    104. E/Unity   (27633): Unable to find __Internal
    105. E/Unity   (27633): Unable to find __Internal
    106. I/Unity   (27633): Coherent UI system initialized..
    107. I/Unity   (27633):  
    108. I/Unity   (27633): (Filename: ./Runtime/ExportGenerated/AndroidManaged/UnityEngineDebug.cpp Line: 54)
    109. I/Unity   (27633):
    110. E/Unity   (27633): Unable to find __Internal
    111. E/Unity   (27633): Unable to find __Internal
    112. E/Unity   (27633): Unable to find __Internal
    113. E/Unity   (27633): Unable to find __Internal
    114. E/Unity   (27633): Unable to find __Internal
    115. E/Unity   (27633): Unable to find __Internal
    116. E/Unity   (27633): Unable to find __Internal
    117. E/Unity   (27633): Unable to find __Internal
    118. E/Unity   (27633): Unable to find __Internal
    119. E/Unity   (27633): Unable to find __Internal
    120. E/Unity   (27633): Unable to find __Internal
    121. E/Unity   (27633): Unable to find __Internal
    122. E/Unity   (27633): Unable to find __Internal
    123. E/Unity   (27633): Unable to find __Internal
    124. E/Unity   (27633): Unable to find __Internal
    125. E/Unity   (27633): Unable to find __Internal
    126. E/Unity   (27633): Unable to find __Internal
    127. I/Unity   (27731): gles_mode = 2 (integer)
    128. I/Unity   (27731): splash_mode = 0 (integer)
    129. I/Unity   (27731): hide_status_bar = True (bool)
    130. I/Unity   (27731): 32bit_display = True (bool)
    131. I/Unity   (27731): 24bit_depth = False (bool)
    132. I/Unity   (27731): default_aa = 0 (integer)
    133. I/Unity   (27731): useObb = False (bool)
    134. I/Unity   (27731): development_player = True (bool)
    135. D/Unity   (27731): This message is harmless: 32bits and selecting config with EGL_BIND_TO_TEXTURE_RGBA = 0
    136. D/Unity   (27731): This message is harmless: 32bits and selecting config with EGL_BIND_TO_TEXTURE_RGBA = 0
    137. I/Unity   (27731): onResume
    138. I/Unity   (27731): windowFocusChanged: true
    139. D/Unity   (27731): surfaces: attach glview
    140. I/Unity   (27731): onResume
    141. D/Unity   (27731): This message is harmless: 32bits and selecting config with EGL_BIND_TO_TEXTURE_RGBA = 0
    142. D/Unity   (27731): Creating OpenGL ES 2.0 context (RGB24 888 24/8)
    143. I/Unity   (27731): onSurfaceCreated
    144. I/Unity   (27731): onSurfaceChanged 1600x2464
    145. I/Unity   (27731): view is 1600x2464
    146. I/Unity   (27731): windowFocusChanged: true
    147. I/Unity   (27731): initUnity
    148. I/Unity   (27731): glGetString (GL10.GL_VERSION)='OpenGL ES 3.0'
    149. D/Unity   (27731): SystemInfo CPU = ARMv7 VFPv3 NEON, Cores = 2, Memory = 1102mb
    150. D/Unity   (27731): [SHA1] ccf25f2bbd8cba1a2844a1356fa55f4e85074d7f   14732956 bytes ~ lib/armeabi-v7a/libunity.so
    151. D/Unity   (27731): Mono path[0] = '/data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed'
    152. D/Unity   (27731): Mono config path = 'assets/bin/Data/Managed'
    153. D/Unity   (27731): PlayerConnection initialized from /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data (debug = 0)
    154. D/Unity   (27731): PlayerConnection initialized network socket : 0.0.0.0 55252
    155. D/Unity   (27731): PlayerConnection initialized unix socket : Unity-com.at32.coherent_mac_test
    156. D/Unity   (27731): Multi-casting "[IP] 192.168.1.16 [Port] 55252 [Flags] 2 [Guid] 1738927565 [EditorId] 3037185595 [Version] 1048832 [Id] AndroidPlayer(samsung_Nexus_10:192.168.1.16) [Debug] 0" to [225.0.0.222:54997]...
    157. D/Unity   (27731): InitializeMonoFromMain OK (75c68ee0)
    158. D/Unity   (27731): PlayerConnection already initialized - listening to [192.168.1.16:55252]
    159. D/Unity   (27731): PlayerInitEngineNoGraphics OK
    160. D/Unity   (27731): Renderer: Mali-T604
    161. D/Unity   (27731): Vendor:   ARM
    162. D/Unity   (27731): Version:  OpenGL ES 3.0
    163. D/Unity   (27731): GL_EXT_debug_marker GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_OES_surfaceless_context GL_ARM_mali_program_binary
    164. D/Unity   (27731): Creating OpenGLES2.0 graphics device
    165. D/Unity   (27731): InitializeGfxDevice OK
    166. D/Unity   (27731): Initialize engine version: 4.2.0f4 (38efbd14869d)
    167. D/Unity   (27731): Begin MonoManager ReloadAssembly
    168. D/Unity   (27731): Platform assembly: /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/UnityEngine.dll (this message is harmless)
    169. D/Unity   (27731): Loading /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/UnityEngine.dll into Unity Child Domain
    170. D/Unity   (27731): Platform assembly: /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/Assembly-CSharp-firstpass.dll (this message is harmless)
    171. D/Unity   (27731): Loading /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/Assembly-CSharp-firstpass.dll into Unity Child Domain
    172. D/Unity   (27731): Platform assembly: /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/Assembly-CSharp.dll (this message is harmless)
    173. D/Unity   (27731): Loading /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/Assembly-CSharp.dll into Unity Child Domain
    174. D/Unity   (27731): Platform assembly: /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/Assembly-UnityScript.dll (this message is harmless)
    175. D/Unity   (27731): Loading /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/Assembly-UnityScript.dll into Unity Child Domain
    176. D/Unity   (27731): Platform assembly: /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/CoherentUIMobileNet.dll (this message is harmless)
    177. D/Unity   (27731): Loading /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/CoherentUIMobileNet.dll into Unity Child Domain
    178. D/Unity   (27731): Platform assembly: /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/CoherentUINet.dll (this message is harmless)
    179. D/Unity   (27731): Loading /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/CoherentUINet.dll into Unity Child Domain
    180. D/Unity   (27731): - Completed reload, in  0.098 seconds
    181. D/Unity   (27731): PlayerInitEngineGraphics OK
    182. D/Unity   (27731): Found 15 native sensors
    183. D/Unity   (27731): config_reverseDefaultRotation = 0
    184. D/Unity   (27731): EnableNativeSensor
    185. D/Unity   (27731): Sensor :        Accelerometer ( 1) ; 0.039227 / 0.00s ; MPL Accelerometer / Invensense
    186. D/Unity   (27731): SetNativeSensorEventRate
    187. D/Unity   (27731): Sensor :        Accelerometer ( 1) ; 0.039227 / 0.00s ; MPL Accelerometer / Invensense
    188. D/Unity   (27731): Platform assembly: /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/System.Core.dll (this message is harmless)
    189. E/Unity   (27731): Unable to find __Internal
    190. E/Unity   (27731): Unable to find __Internal
    191. E/Unity   (27731): Unable to find __Internal
    192. E/Unity   (27731): Unable to find __Internal
    193. I/Unity   (27731): windowFocusChanged: true
    194. D/Unity   (27731): ResumeNativeSensors
    195. D/Unity   (27731): Sensor :        Accelerometer ( 1) ; 0.039227 / 0.00s ; MPL Accelerometer / Invensense
    196. E/Unity   (27731): Unable to find __Internal
    197. E/Unity   (27731): Unable to find __Internal
    198. E/Unity   (27731): Unable to find __Internal
    199. E/Unity   (27731): Unable to find __Internal
    200. E/Unity   (27731): Unable to find __Internal
    201. E/Unity   (27731): Unable to find __Internal
    202. I/Unity   (27731): Coherent UI system initialized..
    203. I/Unity   (27731): UnityEngine.Debug:Internal_Log(Int32, String, Object)
    204. I/Unity   (27731): UnityEngine.Debug:Log(Object)
    205. I/Unity   (27731): CoherentUISystem:Start() (at /Users/fanjules/Work/Projects/UnityLearning/MAC_01_coherent_test/Assets/Standard Assets/Scripts/CoherentUI/CoherentUISystem.cs:463)
    206. I/Unity   (27731):  
    207. I/Unity   (27731): (Filename: /Users/fanjules/Work/Projects/UnityLearning/MAC_01_coherent_test/Assets/Standard Assets/Scripts/CoherentUI/CoherentUISystem.cs Line: 463)
    208. I/Unity   (27731):
    209. D/Unity   (27731): Platform assembly: /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/Boo.Lang.dll (this message is harmless)
    210. E/Unity   (27731): Unable to find __Internal
    211. E/Unity   (27731): Unable to find __Internal
    212. E/Unity   (27731): Unable to find __Internal
    213. E/Unity   (27731): Unable to find __Internal
    214. E/Unity   (27731): Unable to find __Internal
    215. E/Unity   (27731): Unable to find __Internal
    216. E/Unity   (27731): Unable to find __Internal
    217. E/Unity   (27731): Unable to find __Internal
    218. E/Unity   (27731): Unable to find __Internal
    219. E/Unity   (27731): Unable to find __Internal
    220. E/Unity   (27731): Unable to find __Internal
    221. E/Unity   (27731): get_visible can only be called from the main thread.
    222. E/Unity   (27731): Constructors and field initializers will be executed from the loading thread when loading a scene.
    223. E/Unity   (27731): Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function.
    224. E/Unity   (27731):  
    225. E/Unity   (27731): (Filename: /Applications/buildAgent/work/cac08d8a5e25d4cb/Runtime/ExportGenerated/AndroidManaged/Handheld.cpp Line: 221)
    226. E/Unity   (27731):
    227. I/Unity   (27776): gles_mode = 2 (integer)
    228. I/Unity   (27776): splash_mode = 0 (integer)
    229. I/Unity   (27776): hide_status_bar = True (bool)
    230. I/Unity   (27776): 32bit_display = True (bool)
    231. I/Unity   (27776): 24bit_depth = False (bool)
    232. I/Unity   (27776): default_aa = 0 (integer)
    233. I/Unity   (27776): useObb = False (bool)
    234. I/Unity   (27776): development_player = True (bool)
    235. D/Unity   (27776): This message is harmless: 32bits and selecting config with EGL_BIND_TO_TEXTURE_RGBA = 0
    236. D/Unity   (27776): This message is harmless: 32bits and selecting config with EGL_BIND_TO_TEXTURE_RGBA = 0
    237. I/Unity   (27776): onResume
    238. I/Unity   (27776): windowFocusChanged: true
    239. D/Unity   (27776): surfaces: attach glview
    240. I/Unity   (27776): onResume
    241. D/Unity   (27776): This message is harmless: 32bits and selecting config with EGL_BIND_TO_TEXTURE_RGBA = 0
    242. D/Unity   (27776): Creating OpenGL ES 2.0 context (RGB24 888 24/8)
    243. I/Unity   (27776): windowFocusChanged: true
    244. I/Unity   (27776): onSurfaceCreated
    245. I/Unity   (27776): onSurfaceChanged 1600x2464
    246. I/Unity   (27776): view is 1600x2464
    247. I/Unity   (27776): initUnity
    248. I/Unity   (27776): glGetString (GL10.GL_VERSION)='OpenGL ES 3.0'
    249. D/Unity   (27776): SystemInfo CPU = ARMv7 VFPv3 NEON, Cores = 2, Memory = 1102mb
    250. D/Unity   (27776): [SHA1] ccf25f2bbd8cba1a2844a1356fa55f4e85074d7f   14732956 bytes ~ lib/armeabi-v7a/libunity.so
    251. D/Unity   (27776): Mono path[0] = '/data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed'
    252. D/Unity   (27776): Mono config path = 'assets/bin/Data/Managed'
    253. D/Unity   (27776): PlayerConnection initialized from /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data (debug = 0)
    254. D/Unity   (27776): PlayerConnection initialized network socket : 0.0.0.0 55010
    255. D/Unity   (27776): PlayerConnection initialized unix socket : Unity-com.at32.coherent_mac_test
    256. D/Unity   (27776): Multi-casting "[IP] 192.168.1.16 [Port] 55010 [Flags] 2 [Guid] 494317740 [EditorId] 3037185595 [Version] 1048832 [Id] AndroidPlayer(samsung_Nexus_10:192.168.1.16) [Debug] 0" to [225.0.0.222:54997]...
    257. D/Unity   (27776): InitializeMonoFromMain OK (75c5aee0)
    258. D/Unity   (27776): PlayerConnection already initialized - listening to [192.168.1.16:55010]
    259. D/Unity   (27776): PlayerInitEngineNoGraphics OK
    260. D/Unity   (27776): Renderer: Mali-T604
    261. D/Unity   (27776): Vendor:   ARM
    262. D/Unity   (27776): Version:  OpenGL ES 3.0
    263. D/Unity   (27776): GL_EXT_debug_marker GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_OES_surfaceless_context GL_ARM_mali_program_binary
    264. D/Unity   (27776): Creating OpenGLES2.0 graphics device
    265. D/Unity   (27776): InitializeGfxDevice OK
    266. D/Unity   (27776): Initialize engine version: 4.2.0f4 (38efbd14869d)
    267. D/Unity   (27776): Begin MonoManager ReloadAssembly
    268. D/Unity   (27776): Platform assembly: /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/UnityEngine.dll (this message is harmless)
    269. D/Unity   (27776): Loading /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/UnityEngine.dll into Unity Child Domain
    270. D/Unity   (27776): Platform assembly: /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/Assembly-CSharp-firstpass.dll (this message is harmless)
    271. D/Unity   (27776): Loading /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/Assembly-CSharp-firstpass.dll into Unity Child Domain
    272. D/Unity   (27776): Platform assembly: /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/Assembly-CSharp.dll (this message is harmless)
    273. D/Unity   (27776): Loading /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/Assembly-CSharp.dll into Unity Child Domain
    274. D/Unity   (27776): Platform assembly: /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/Assembly-UnityScript.dll (this message is harmless)
    275. D/Unity   (27776): Loading /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/Assembly-UnityScript.dll into Unity Child Domain
    276. D/Unity   (27776): Platform assembly: /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/CoherentUIMobileNet.dll (this message is harmless)
    277. D/Unity   (27776): Loading /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/CoherentUIMobileNet.dll into Unity Child Domain
    278. D/Unity   (27776): Platform assembly: /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/CoherentUINet.dll (this message is harmless)
    279. D/Unity   (27776): Loading /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/CoherentUINet.dll into Unity Child Domain
    280. D/Unity   (27776): - Completed reload, in  0.118 seconds
    281. D/Unity   (27776): PlayerInitEngineGraphics OK
    282. D/Unity   (27776): Found 15 native sensors
    283. D/Unity   (27776): config_reverseDefaultRotation = 0
    284. D/Unity   (27776): EnableNativeSensor
    285. D/Unity   (27776): Sensor :        Accelerometer ( 1) ; 0.039227 / 0.00s ; MPL Accelerometer / Invensense
    286. D/Unity   (27776): SetNativeSensorEventRate
    287. D/Unity   (27776): Sensor :        Accelerometer ( 1) ; 0.039227 / 0.00s ; MPL Accelerometer / Invensense
    288. D/Unity   (27776): Platform assembly: /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/System.Core.dll (this message is harmless)
    289. E/Unity   (27776): Unable to find __Internal
    290. E/Unity   (27776): Unable to find __Internal
    291. E/Unity   (27776): Unable to find __Internal
    292. E/Unity   (27776): Unable to find __Internal
    293. I/Unity   (27776): windowFocusChanged: true
    294. D/Unity   (27776): ResumeNativeSensors
    295. D/Unity   (27776): Sensor :        Accelerometer ( 1) ; 0.039227 / 0.00s ; MPL Accelerometer / Invensense
    296. E/Unity   (27776): Unable to find __Internal
    297. E/Unity   (27776): Unable to find __Internal
    298. E/Unity   (27776): Unable to find __Internal
    299. E/Unity   (27776): Unable to find __Internal
    300. E/Unity   (27776): Unable to find __Internal
    301. E/Unity   (27776): Unable to find __Internal
    302. I/Unity   (27776): Coherent UI system initialized..
    303. I/Unity   (27776): UnityEngine.Debug:Internal_Log(Int32, String, Object)
    304. I/Unity   (27776): UnityEngine.Debug:Log(Object)
    305. I/Unity   (27776): CoherentUISystem:Start() (at /Users/fanjules/Work/Projects/UnityLearning/MAC_01_coherent_test/Assets/Standard Assets/Scripts/CoherentUI/CoherentUISystem.cs:463)
    306. I/Unity   (27776):  
    307. I/Unity   (27776): (Filename: /Users/fanjules/Work/Projects/UnityLearning/MAC_01_coherent_test/Assets/Standard Assets/Scripts/CoherentUI/CoherentUISystem.cs Line: 463)
    308. I/Unity   (27776):
    309. D/Unity   (27776): Platform assembly: /data/app/com.at32.coherent_mac_test-1.apk/assets/bin/Data/Managed/Boo.Lang.dll (this message is harmless)
    310. E/Unity   (27776): Unable to find __Internal
    311. E/Unity   (27776): Unable to find __Internal
    312. E/Unity   (27776): Unable to find __Internal
    313. E/Unity   (27776): Unable to find __Internal
    314. E/Unity   (27776): Unable to find __Internal
    315. E/Unity   (27776): Unable to find __Internal
    316. E/Unity   (27776): Unable to find __Internal
    317. E/Unity   (27776): Unable to find __Internal
    318. E/Unity   (27776): Unable to find __Internal
    319. E/Unity   (27776): Unable to find __Internal
    320. E/Unity   (27776): Unable to find __Internal
    321. E/Unity   (27776): get_visible can only be called from the main thread.
    322. E/Unity   (27776): Constructors and field initializers will be executed from the loading thread when loading a scene.
    323. E/Unity   (27776): Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function.
    324. E/Unity   (27776):  
    325. E/Unity   (27776): (Filename: /Applications/buildAgent/work/cac08d8a5e25d4cb/Runtime/ExportGenerated/AndroidManaged/Handheld.cpp Line: 221)
    326. E/Unity   (27776):
    327. D/Unity   (28210): Creating OpenGL ES 2.0 context (RGB24 888 24/8)
    328. D/Unity   (28210): GL_EXT_debug_marker GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_OES_surfaceless_context GL_ARM_mali_program_binary
    329. E/Unity   (28210): Unable to find __Internal
    330. E/Unity   (28210): Unable to find __Internal
    331. E/Unity   (28210): Unable to find __Internal
    332. E/Unity   (28210): Unable to find __Internal
    333. E/Unity   (28210): Unable to find __Internal
    334. E/Unity   (28210): Unable to find __Internal
    335. E/Unity   (28210): Unable to find __Internal
    336. E/Unity   (28210): Unable to find __Internal
    337. E/Unity   (28210): Unable to find __Internal
    338. E/Unity   (28210): Unable to find __Internal
    339. I/Unity   (28210): Coherent UI system initialized..
    340. I/Unity   (28210):  
    341. I/Unity   (28210): (Filename: ./Runtime/ExportGenerated/AndroidManaged/UnityEngineDebug.cpp Line: 54)
    342. I/Unity   (28210):
    343. E/Unity   (28210): Unable to find __Internal
    344. E/Unity   (28210): Unable to find __Internal
    345. E/Unity   (28210): Unable to find __Internal
    346. E/Unity   (28210): Unable to find __Internal
    347. E/Unity   (28210): Unable to find __Internal
    348. E/Unity   (28210): Unable to find __Internal
    349. E/Unity   (28210): Unable to find __Internal
    350. E/Unity   (28210): Unable to find __Internal
    351. E/Unity   (28210): Unable to find __Internal
    352. E/Unity   (28210): Unable to find __Internal
    353. E/Unity   (28210): Unable to find __Internal
    354. E/Unity   (28210): Unable to find __Internal
    355. E/Unity   (28210): Unable to find __Internal
    356. E/Unity   (28210): Unable to find __Internal
    357. E/Unity   (28210): Unable to find __Internal
    358. E/Unity   (28210): Unable to find __Internal
    359. E/Unity   (28210): Unable to find __Internal
    360. D/Unity   (28523): Creating OpenGL ES 2.0 context (RGB24 888 24/8)
    361. D/Unity   (28523): GL_EXT_debug_marker GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_OES_surfaceless_context GL_ARM_mali_program_binary
    362. E/Unity   (28523): Unable to find __Internal
    363. E/Unity   (28523): Unable to find __Internal
    364. E/Unity   (28523): Unable to find __Internal
    365. E/Unity   (28523): Unable to find __Internal
    366. E/Unity   (28523): Unable to find __Internal
    367. E/Unity   (28523): Unable to find __Internal
    368. E/Unity   (28523): Unable to find __Internal
    369. E/Unity   (28523): Unable to find __Internal
    370. E/Unity   (28523): Unable to find __Internal
    371. E/Unity   (28523): Unable to find __Internal
    372. I/Unity   (28523): Coherent UI system initialized..
    373. I/Unity   (28523):  
    374. I/Unity   (28523): (Filename: ./Runtime/ExportGenerated/AndroidManaged/UnityEngineDebug.cpp Line: 54)
    375. I/Unity   (28523):
    376. E/Unity   (28523): Unable to find __Internal
    377. E/Unity   (28523): Unable to find __Internal
    378. E/Unity   (28523): Unable to find __Internal
    379. E/Unity   (28523): Unable to find __Internal
    380. E/Unity   (28523): Unable to find __Internal
    381. E/Unity   (28523): Unable to find __Internal
    382. E/Unity   (28523): Unable to find __Internal
    383. E/Unity   (28523): Unable to find __Internal
    384. E/Unity   (28523): Unable to find __Internal
    385. E/Unity   (28523): Unable to find __Internal
    386. E/Unity   (28523): Unable to find __Internal
    387. E/Unity   (28523): Unable to find __Internal
    388. E/Unity   (28523): Unable to find __Internal
    389. E/Unity   (28523): Unable to find __Internal
    390. E/Unity   (28523): Unable to find __Internal
    391. E/Unity   (28523): Unable to find __Internal
    392. E/Unity   (28523): Unable to find __Internal
    393. ^[                              
    Do you still want me to send the project file? It's simply an empty project with the trial package imported. The zipped project is over half a GB, is there a way to send the project with only the important files? I don't mind uploading it but it will be an overnight task I think!
     
  44. AnchoV

    AnchoV

    Joined:
    Jun 5, 2013
    Posts:
    17


    Hi everyone,

    We are proud to present to you our first training video for Unity3D. This tutorial covers the basics of using the Coherent UI package, from importing and installing the package to assigning UI Views to different surfaces. You'll see how to render your HTML files projected on the camera or on a 3D object inside the world of your game. You'll also learn how to use our custom coui:// protocol to display files from your local filesystem.

    We'll put the cherry on the top by showing you a peek at the Coherent UI Debugger which allows live editing of your HTML. It gives you much more flexibility than you'll see in the video of course, but showing them requires a tutorial of it's own... which is coming soon



    For the purposes of this video tutorial, we have used our Standard package of Coherent UI.

    You can request your free trial from here, or purchase a Mobile, Basic, Standard or Pro version of Coherent UI for Unity3D from here.

    All versions of Coherent UI for Unity3D are also available on the asset store!

    Please stay tuned for more video tutorials, coming out soon :)
     
  45. nikxio

    nikxio

    Joined:
    Oct 30, 2012
    Posts:
    69
    Hi there,

    I tested the trial again with some arbitrary local HTML files and everything was working fine. At the moment the trial and Asset Store variants are the same version so you shouldn't worry about that.

    The log file you sent looks a bit odd, is it from a single run? You shouldn't receive the "Coherent UI system initialized.." message multiple times in a single run and you should be seeing the view properties for each view you're creating which is missing in the log. I asked you for the project in case you have some non-trivial scenario but if you could reproduce it in a simple scene you could just describe the steps to do that, no need to send gigabytes of data :)

    To help us replicate the environment, please specify the versions of the software you're using such as Unity version, Coherent UI version, JDK, ADT and anything else relevant that you can think of, plus the scene setup and devices/simulator that you're testing on. I'd also like to direct you to support@coherent-labs.com where you can submit a ticket for the issue so we can use our support system instead of this topic :)
     
  46. Sytto

    Sytto

    Joined:
    Jul 20, 2010
    Posts:
    28
    Hello! I am using the evaluation version of Coherent UI. It is amazing! but i have 2 issues.

    First one - I am getting heavy performance issues on a high end PC (my gui is just 2 inputs, 2 "labels", 1 button. Like a login box) - the scene has just one view and some particles in the background, nothing more (it is not because the particles. this problem persists without them too). It is not like a low FPS problem but just that little test has a huge impact in the FPS (like 200 fps without GUI to 40 fps with GUI and I guess it will keep going down as I add more GUI)

    Second one - I was trying to fix the issue number one. So I took my laptop and sent the build from my PC to my laptop. The problem is that the gui just does not work on my laptop (it's a new laptop, not even one week old!) I installed the directx runtimes but it didn't fix it.. I read the documentation but couldn't find anything more than the directx thing..

    PC 1 - Windows 7 64 bits
    Laptop - Windows 8 64 bits

    if you need more information just tell me ! Thanks in advance!!
     
  47. nikxio

    nikxio

    Joined:
    Oct 30, 2012
    Posts:
    69
    Hi there,

    Can you please send us the log file so we can examine it for any unexpected behaviour? You could also try updating your drivers on the desktop machine. You can also send us your project at support@coherent-labs.com if you like so we can try reproducing the problem.

    As for the laptop, the problem is most likely that you haven't activated the trial on it. Built games with the trial version must be activated on any machine that they're used on. You can find instructions how to do that in the documentation in section "2.5 Trial Version Registration". There should be a message in the log file that says something along the lines of "Coherent UI is not activated" that confirms this.
     
  48. nikxio

    nikxio

    Joined:
    Oct 30, 2012
    Posts:
    69
    Hi Molt,

    We advise you to use pdf.js because it is pure JavaScript and does not depend on any plugins.

    For a very simple example, take the helloworld example. I've attached all the needed files for convenience so you can extract them in the UIResources folder of a project that you already imported Coherent UI in. Then, make a view with page URL "coui://UIResources/hellopdf/index.html" to see the PDF.

    In general, you can load the PDF files in two ways - either using XmlHttpRequest (XHR) or via Coherent UI binding to JavaScript. The XHR transport is easier and more efficient at the moment. It boils down to:
    Code (csharp):
    1. PDFJS.getDocument("<URL of the file>").then(ShowThePDF)
    To change the way the PDF files are read, you can provide your own FileHandler implementation as shown in our Custom_ArchiveResource sample.

    When using the Coherent UI binding, you can send the bytes of the PDF document to the view. In C#:
    Code (csharp):
    1. bytes[] data = ReadPDFFile();
    2. View.TriggerEvent("showPDF", data);
    And in JavaScript:
    Code (csharp):
    1. engine.on('showPDF', function (data) {
    2.     PDFJS.getDocument(new Int8Array(data)).then(...);
    3. });
    Hope this helps.
     

    Attached Files:

  49. Sytto

    Sytto

    Joined:
    Jul 20, 2010
    Posts:
    28
    Thanks for your response. I've been testing and I have the same problem in an empty scene without GUI (only <html><head></head><body></body></html>), my problem is. Say I set the resolution at 1240x768 and it runs fine, but when I set a higher resolution like 1920x1080 it begins to stutter (at 45 fps give or take, but the stutter is very noticeable) and the main thread goes from 10 ms to 20+ ms, so it's not as fast responsive as it is in a small resolution. I don't know if only me have this problem or everyone.. I was thinking about buying coherent but this thing is keeping me away. I have the latest catalyst drivers and a good videocard (Sapphire radeon hd 5970)

    On the other hand I suspected the trial thingy ^^ I guess I'll install it on my laptop and test if this is only a problem with my computer
     
  50. nikxio

    nikxio

    Joined:
    Oct 30, 2012
    Posts:
    69
    Are you using DirectX 9 rendering? If so, can you try running your sample using DirectX 11, or on a Mac? We can use the DX11/Mac shared surfaces which yield performance improvements, however even on DX9 hardware there is no such visible perf hit.

    You can try disabling VSync for a test (by default it's disable when playing built games an the "Fast" quality settings or lower), I've just imported the CoherentUI package in a new project and ran the Menu And HUD scene in full HD and got almost 2000 FPS according to this script even when using VSync. Please make sure you're testing on an empty scene so there are no additional plugins or other circumstances that might bias the result.