Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Easy Decal - Decals everywhere

Discussion in 'Assets and Asset Store' started by Sycoforge, Oct 28, 2014.

  1. angeliapayne

    angeliapayne

    Joined:
    Jul 13, 2012
    Posts:
    30

    Good call on lighting. I am using realtime light sources with precomputed GI. I had already completed precompute before I started adding the decals. Once I deleted the GI cache and then combined atlases, the decals look the same (before and after the combine). However after I run the precompute again, my white decals turn black. I'm not sure if its because I'm on a shadowed side of the building? But even then, I want my white to stay white. I'm going to do some more investigating but wanted to give you an update!
     
  2. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Even when the decals are placed in shaded places, they should not become completely black.

    ed-baked-GI-indoor.jpg

    Thank you for the update! :)
     
  3. angeliapayne

    angeliapayne

    Joined:
    Jul 13, 2012
    Posts:
    30
    Combined atlases still appear to turn black after I run a Precompute GI -regardless of whether in direct light or shadow.

    I did end up using a .25 resolution on my Precompute GI. Also using a transparent PSD file for the texture.
     
  4. SimonsCat

    SimonsCat

    Joined:
    Mar 11, 2015
    Posts:
    49
    Hi, a new user here...

    We just downloaded 1.6.2 and imported the package in an empty project - Unity 5.4.1f1

    I directly loaded the scene_demo and dragged a decal prefab from the
    "nu Assets/Easy Decal/Prefabs/Dirt/" folder. I used the Decal Dirt A prefab.

    When I put the gameobject on the ground I did not see the decal at all, however, I saw the box and the projection plane.

    If I go under the terrain with the camera I see the decal displayed on the other side (below the terrain). I did not do anything else (clicked or set) except the things I described here. And there is no way that I can see the decal on top of the ground mesh(Terrain). Same goes for all prefabs with source mode Material. If I drag a graffiti prefab it gets displayed without a problem. If I use a decal prefab which uses an atlas it works fine. I'm I doing something wrong?

    I tried this also with 1.6.1+patch2 and 1.6.0... always the same result: some decals (prefabs already included) cannot be shown on front faces (only on backfaces).

    I tried to import the package in our current porject and we get all the atlases included corrupted. Are we doing something wrong again?

    Thank you for your response.
    Simon.
     
  5. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Are the normal well aligned when you enabling the normal rendering in the Extras tab?


    ed-normal-orientation.jpg

    Actually it should upgrade without problems as the atlas structure wasn't changed. What exactly did break: The link from Easy Decal component to the atlas asset or the atlas asset itself?
     
  6. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Have enabled the Use Light Probes option?

    ed-decal-light-probe.jpg

    Have you already upgraded to version 1.6.2? The new version automatically reunwrapps the decal's geometry for Enlighten this helps avoiding baking artifacts.
     
  7. angeliapayne

    angeliapayne

    Joined:
    Jul 13, 2012
    Posts:
    30
     
  8. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    You are welcome! :)
    Keep us up to date with your project.
     
  9. SimonsCat

    SimonsCat

    Joined:
    Mar 11, 2015
    Posts:
    49
    Here are some screenshots:

    first_top.jpg

    first_bot.jpg

    The images above are default... straight from the package

    secont_top.jpg

    ssecond_bot.jpg

    The second two images are with normals.. the flip normal otion also does nothing.

    And this is how the imported atlas looks like:

    atlas1.jpg

    Check the error in the cosole too.

    Any ideas?

    I just noticed that the shader used in the prefab above is Particles/Multiply (Double)
     
  10. SimonsCat

    SimonsCat

    Joined:
    Mar 11, 2015
    Posts:
    49
    I have a second question. How is Easy Decal supposed to be used with Unity Terrain? With higher Pixel Error values and lower LOD the box projection decal gets clipped on rough surfaces. Having the decal Distance higher than 0.01 it is not logic. Any suggestions?
     
  11. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    @SimonsCat We could successfully reproduce the first issue (decals not visible using one of the built-in Unity particle shaders). It seems that this is some kind of Unity issue. The decals using one of these shaders are not visible in the perspective rendering mode.

    Orthographic

    ed-particle-shader-iso.jpg

    Perspective

    ed-particle-shader-pers.jpg

    Please download the attached shader package as a replacement for the shaders currently used on said decals. They will also be included in the next update/patch.
     

    Attached Files:

  12. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Unfortunately, this is a know problem when using mesh decals (on Unity terrains) as it's not possible to detect what region of the terrain did change its LOD. The current terrain implementation doesn't allow to grab the LOD geometry data in the component abstraction level.

    One possible (hacky) workaround I could think of would be to implement a specialized decal shader which pushes the vertices along their normals based on the actual LOD.

    The other solution is to switch to screen space/deferred decals. They are completely independent of the actual geometry.
     
    Last edited: Sep 23, 2016
  13. Stormy102

    Stormy102

    Joined:
    Jan 17, 2014
    Posts:
    495
    Hey @nu-assets how performant is this solution with runtime decals? Say I shoot at a car and it leaves several bullet holes on the bonnet. The car then starts to drive away. How performant would this be? Or is it generally good to avoid runtime movement with this solution?
     
  14. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    The decal system will just consume notable amount of CPU time in the frame the decal gets instantiated, as the decals get immediately baked after the projecting when using the API to instantiate. Once a decal is baked, it just have a little overhead for the lifetime and fade out logic.

    So in your case you would use the following method to instantiate and parent the decal to the hit object (your car):
    Code (CSharp):
    1. EasyDecal.ProjectAt(GameObject decalPrefab, GameObject receiver, Vector3 position, Vector3 normal)
    where decalPrefab is your premade decal prfeab, receiver is the hit object (your car), position is tthe actual hit position and normal is the interpolated surface normal at the impact point.

    I hope this answers your question. :)
     
    Stormy102 likes this.
  15. Stormy102

    Stormy102

    Joined:
    Jan 17, 2014
    Posts:
    495
    Cool. So it automatically parents it to the object. Pretty good solution. Will hopefully pick this up in the near future.
     
  16. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Yes. They get automatically parented and baked within the parent's local space.

    Thank you :)
     
    Stormy102 likes this.
  17. Inspeinre

    Inspeinre

    Joined:
    Jun 15, 2013
    Posts:
    44
    Hello ) I download 1.6.2 version from site, Easy_Decal_Doc.pdf in package – version 1.6.0. Online version pdf from site - 1.6.2. In the AssetStore and will be the old version?
     
  18. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    We use SteamVR, many environment assets comes with mesh decals, these do not work very well in VR/3D. If placed closed to the surface they should "stick" to they clip and flicker at a distance, and if placed so they do not flicker at a distance they appear to float in mid air when getting close because of Stereoscopic 3D.

    If i replace our mesh decals with this system will we see not only this problem go away but a performance boost as well?

    We use Unity 5.4.1 with SteamVR and single pass render
     
  19. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Thank you for getting in touch.

    The flickering could be a result of non-optimal shader setup (z-fighting). We heavily use Easy Decal in one of our current projects with Oculus Rift and never encountered the effects that you describe.

    The flickering issue will be gone with Easy Decal (at least when using the included shaders). But it's hard to tell if your project will benefit from it performance-wise.
     
  20. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Thank your for contacting.

    Yesterday, the UAS version has been updated to 1.6.2. You can always view the newest docs here, for the case that the UAS version has a slightly out dated documentation included.
     
  21. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    You are always on a budget with VR since dips below 90 FPS will be noticed directly. But you say your system does not put more strain atleast?
     
  22. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    All the shaders are based on the Unity Standard pipeline, so there will be no difference here (when comparing static decals).
     
  23. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    @LunaTrap
    Internally the system uses a top-down projection approach. But you can switch the transform handles from local to global.

    ed-transform-handles-local.jpg

    ed-transform-handles-global.jpg
     
  24. LunaTrap

    LunaTrap

    Joined:
    Apr 10, 2015
    Posts:
    120
    @nu-assets

    Thanks, i deleted the question because i think is not as important, but this one it is.

    Im spawning decals on runtime, i know how to do it, im using Pathological PoolManager, i tried the way you described of passing the instatiation process to the pool manager, but it gave me error, but for now, i wont post anything about it until i find out if the error is on my side or not, so im using standar pool manager Spawn() method, for now, the more important question is.

    I want my decals to remain in the level for ever until the player goes to the next level, but right now when i spawn the declas, my performance goes to the ground, is there anything i need to do to "bake" the decals so they stop raycasting and such?
     
    Last edited: Oct 8, 2016
  25. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    It seems that reply and post removal overlapped. :)

    You could change the code like this:

    Code (CSharp):
    1.         EasyDecal clone = PoolManager.Pools[PoolName].Spawn(decalPrefab, position, rotation).GetComponent<EasyDecal>();
    2.         clone.Reset(true);
    3.         clone.LateBake();// Bake the decal after one projection cycle
    This will bake the decal in the next frame. Please let me know if everything is working as expected now.
     
  26. LunaTrap

    LunaTrap

    Joined:
    Apr 10, 2015
    Posts:
    120
    I figured out what was wrong with passing the instantiation process to the PoolManager, but now i use the EasyDecals.ProjectAt() method and the projection direction is all wrong, why is it using the forward vector?

    im using the standar method i doing raycast and then set the rotation to the hit.normal



    Code (CSharp):
    1.         Vector3 newRayPosition = transform.position + transform.forward * range;
    2.         Ray scatterRay = new Ray(transform.position, newRayPosition - transform.position);
    3.         RaycastHit scatterRayHit;
    4.         if (Physics.Raycast(scatterRay, out scatterRayHit, range, solidsLayer))
    5.         {
    6.             Quaternion decalRotation = Quaternion.LookRotation(scatterRayHit.normal);
    7.             EasyDecal.ProjectAt(spatterDecalPrefab, scatterRayHit.transform.gameObject, scatterRayHit.point, decalRotation);
    8.         }
    Also, is there anyway i make the decal not change its scale? the only way it keeps its original scale is if i project in the direction of the hit.normal, but if i use the direction of the ray, the scale gets all messed up.



    For clarification, im creating a bullet exit wound, so i raycast multiple times againts solid objects, in this image is againts the wall

     
  27. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Internally the system uses a top-down projection approach. The projection process takes place in the local space of the decal.

    If you want to avoid projective distortion, you have to us the surface normal. Think of a paint ball hitting the floor/wall in a flat angle: the paint splash will be distorted/scaled along the shooting ray. The same applies to the decal.

    You could rewrite your instantiation code to something like the following:
    Code (CSharp):
    1. Quaternion decalRotation  = Quaternion.AngleAxis(rotation, scatterRayHit.normal) * Quaternion.FromToRotation(Vector3.up, scatterRayHit.normal);
    Where the rotation variable specifies the rotation in degress around the impact normal. The rotation could also be randomized.
     
  28. LunaTrap

    LunaTrap

    Joined:
    Apr 10, 2015
    Posts:
    120
    I see, i did not know it had distortion, i was using my onw logic to project different decals depending on the angle of the ray vector and the hit.normal, so diagonal blood spatter will appear and in a right angle drops instead of spatters.

    i will try that code snippet, but i dont understand, i did a very simple test, so nothing im doing will come in play, what is the point of the ProjectAt method when is required to do that code snippet? what im doing wrong?

    Code (CSharp):
    1.         Ray testRay = new Ray(transform.position, transform.forward);
    2.         RaycastHit testRayHit;
    3.         if(Physics.Raycast(testRay, out testRayHit, 100f, solidsLayer))
    4.         {
    5.             EasyDecal test = EasyDecal.ProjectAt(spatterDecalPrefabs[Random.Range(0, spatterDecalPrefabs.Length)], testRayHit.transform.gameObject, testRayHit.point, Quaternion.LookRotation(testRayHit.normal));
    6.             Debug.DrawRay(transform.position, testRayHit.point - transform.position, Color.blue, 3f);
    7.         }
    The ray is being send form the player, and is only 1 raycast

     
    Last edited: Oct 8, 2016
  29. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Sometimes it's useful and appropriate to make compromises between real world behaviour and the game world.

    The posted snippet does basically the same as the
    Code (CSharp):
    1. EasyDecal ProjectAt(GameObject decalPrefab, GameObject receiver, Vector3 position, Vector3 normal, float rotation)
    overloading from the API. I thought you wanted to roll your own instantiation code.
     
  30. LunaTrap

    LunaTrap

    Joined:
    Apr 10, 2015
    Posts:
    120
    One thing i dont understand, is i though the projection method would do the same as using crtl + alt + LMB in the editor does, i guessing you are using raycast with the camera to positioning the decal when doing the smart placement.

    Or atleast have the distortion be optional, nevermind, i think i will stop using the projection method and go back to the pool manager spawning.

    The last code snippet, i fixed it with changing the rotation parameter on the ProjectAt method
    Code (CSharp):
    1. Quaternion.LookRotation(testRayHit.normal)
    to just passing the
    Code (CSharp):
    1. testRayHit.normal
    .
    I dont understand why doing Quaternion.LookRotation(testRayHit.normal) did not worked.
     
  31. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    That's exactly how the Smart Placement system works. But it actually uses the hit point normal to calculate the orientation and not the ray itself.

    There's a missing axis in your expression. You have to calculate the orientation in a completely defined subspace. Like in the snippet posted above (and below :)).

    Code (CSharp):
    1. Quaternion decalRotation  = Quaternion.AngleAxis(rotation, scatterRayHit.normal) * Quaternion.FromToRotation(Vector3.up, scatterRayHit.normal);
     
  32. reptilebeats

    reptilebeats

    Joined:
    Apr 28, 2012
    Posts:
    272
    Hi is there a way to ignore objects or layers when using SSD
     
  33. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Layers can not easily be used for masking purposes when using SSD/DSSD. At least not with a one-camera setup.
    But what you can do is some fake-layering by offsetting the draw order in the shader:

    Code (CSharp):
    1.         Tags
    2.         {
    3.             "RenderType"="Opaque"
    4.             "Queue" = "Transparent+x"
    5.         }
    But unfortunately this will lead to artifacts and sorting issues.

    ed-dssd-render-order.jpg
     
  34. reptilebeats

    reptilebeats

    Joined:
    Apr 28, 2012
    Posts:
    272
    i'll give it ago, it's only for a public opening of a prototype tomorrow so it only needs to be rough.

    basically for the project we have a map overlay of a town showing all the buildings, kinda like gooogle maps at higher resolution which is divided into multiple sections and needs to be projected onto the terrain.
    it's a real town so a lot of images for high quality and SSD works perfectly except from it projecting on buildings

    Thanks
     
  35. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Sounds interesting. Would be great if you could post a screenshot of your use case! :)
     
  36. reptilebeats

    reptilebeats

    Joined:
    Apr 28, 2012
    Posts:
    272
    absolutely, one question im not a shader expert, and Im getting an error when I change the tags
     
  37. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    I'm sorry. Forgot to mention that x (integer) is the actual render queue offset.

    For instance:

    Code (CSharp):
    1.         Tags
    2.         {
    3.             "RenderType"="Opaque"
    4.             "Queue" = "Transparent+20"
    5.         }
     
    Last edited: Oct 12, 2016
  38. reptilebeats

    reptilebeats

    Joined:
    Apr 28, 2012
    Posts:
    272
    doesn't seem to like me, i'll have another try tomorrow, at the moment all i can get is water showing on top
     
  39. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    That was a typo. Actually the offset should be x = 20 (or > 10), as the DSS decal queue is Transparent + 10. Just changed that in the post above.

    Here's a simple example just for completeness.

    For receiving decals (render below them) use the Standard shader or - for the case you're using a custom one - implement it like the following:
    Code (CSharp):
    1. Shader "Easy Decal/Render Below DSSD (Metallic)"
    2. {
    3.     Properties
    4.     {
    5.         _Color ("Color", Color) = (1,1,1,1)
    6.         _MainTex ("Albedo (RGB)", 2D) = "white" {}
    7.         _Glossiness ("Smoothness", Range(0,1)) = 0.5
    8.         _Metallic ("Metallic", Range(0,1)) = 0.0
    9.     }
    10.  
    11.     SubShader
    12.     {
    13.         Tags
    14.         {
    15.             "RenderType"="Opaque"
    16.             "Queue" = "Geometry"// Standard for opaque object -> render index 2000
    17.         }
    18.         LOD 200
    19.      
    20.         CGPROGRAM
    21.  
    22.         #pragma surface surf Standard fullforwardshadows
    23.         #pragma target 3.0
    24.  
    25.         struct Input
    26.         {
    27.             float2 uv_MainTex;
    28.         };
    29.  
    30.         sampler2D _MainTex;
    31.  
    32.         half _Glossiness;
    33.         half _Metallic;
    34.         fixed4 _Color;
    35.  
    36.         void surf (Input IN, inout SurfaceOutputStandard o)
    37.         {
    38.             fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
    39.             o.Albedo = c.rgb;
    40.             o.Metallic = _Metallic;
    41.             o.Smoothness = _Glossiness;
    42.             o.Alpha = c.a;
    43.         }
    44.         ENDCG
    45.     }
    46.     FallBack "Diffuse"
    47. }
    48.  
    To render an object above the DSS decal use a shader as the following:

    Code (CSharp):
    1. Shader "Easy Decal/Render Above DSSD (Metallic)"
    2. {
    3.     Properties
    4.     {
    5.         _Color ("Color", Color) = (1,1,1,1)
    6.         _MainTex ("Albedo (RGB)", 2D) = "white" {}
    7.         _Glossiness ("Smoothness", Range(0,1)) = 0.5
    8.         _Metallic ("Metallic", Range(0,1)) = 0.0
    9.     }
    10.  
    11.     SubShader
    12.     {
    13.         Tags
    14.         {
    15.             "RenderType"="Opaque"
    16.             "Queue" = "Transparent+20" // Render index 3000 + 20
    17.         }
    18.         LOD 200
    19.      
    20.         CGPROGRAM
    21.  
    22.         #pragma surface surf Standard fullforwardshadows
    23.         #pragma target 3.0
    24.  
    25.         struct Input
    26.         {
    27.             float2 uv_MainTex;
    28.         };
    29.  
    30.         sampler2D _MainTex;
    31.  
    32.         half _Glossiness;
    33.         half _Metallic;
    34.         fixed4 _Color;
    35.  
    36.         void surf (Input IN, inout SurfaceOutputStandard o)
    37.         {
    38.             fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
    39.             o.Albedo = c.rgb;
    40.             o.Metallic = _Metallic;
    41.             o.Smoothness = _Glossiness;
    42.             o.Alpha = c.a;
    43.         }
    44.         ENDCG
    45.     }
    46.     FallBack "Diffuse"
    47. }
    48.  
    Using these shader in conjunction with the included DSSD shader, the output should look like the image below.

    ed-dssd-render-queues.jpg
     
  40. LunaTrap

    LunaTrap

    Joined:
    Apr 10, 2015
    Posts:
    120
    Hi, its me again, got all my last problems solved thanks to you, but now im worried, is it normal for the decal to make so much GC when it spawns? its 12ms, thats almost all the cpu time avaliable, i know when its get baked, this stops and it only happens for 1 frame.

    Is this the expected performance? its only 1 decal and having this everytime a bullet hits a wall will kill the fps.

     
    Last edited: Oct 15, 2016
  41. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Unfortunately yes. This is the drawback of mesh decals. They consume a lot of CPU time at their birth, but nearly nothing during their life. Deferred and screen space decals continuously consume a small amount of CPU time (about 0.02ms - 0.06ms). Performance will be increased with the upcoming native projection and load distribution.

    The performance also depends on the use case and the projector technique.

    Plane
    The plane projector uses raycasts to project a plane mesh with a predefined resolution onto a receiver. The plane technique should be used for simple surfaces.

    Performance affected by:
    • Resolution property

    Box
    The box projector cuts out all geometry intersecting the specified bounding box. The box technique should be used for complex surfaces.

    Performance affected by:
    • World space size of decal
    • Geometry complexity of receiver

    Deferred
    The deferred decal projector renders the decal in screen space. The different texture maps get written to the respective g-buffer just before the lighting pass.

    Performance affected by:
    • Screen space size of decal

    Screen Space
    This projector renders the decal in screen space. Currently, only a multiply blending mode is available.

    Performance affected by:
    • Screen space size of decal
     
  42. LunaTrap

    LunaTrap

    Joined:
    Apr 10, 2015
    Posts:
    120
    Im us
    Im using the plane method, is there any tips you can give me for the bullet decals? I noticed that having a fps drop for 1 frame is very hard to notice, 1 frame happens too quick to be noticeable to the human eye, Im correct in thinking this?
    BTW your decal system is awesome and im very happy i bought it, 5 stars :)
     
  43. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    The plane method is sufficient for medium-complex and convex surfaces (walls, floors, ceilings, round columns, etc). But in the average case the box or DSS method may give better results. The box projector offers a bit of a better performance with a small scales and medium-complex receivers.

    The advantage of the deferred decals is that they perform always the same no matter how complex the actual scene/geometry is.

    Thank you! :)
     
  44. imaginationrabbit

    imaginationrabbit

    Joined:
    Sep 23, 2013
    Posts:
    349
    Hello- I recently purchased this asset and was testing it out- I'm using the newest version on the asset store- all the windows in the Decal manager are blacked out like this- is it supposed to be like this as its impossible to read-

    Tried it on Unity 5.3.x and 5.4.x stays like this-
     
  45. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Thank you for reporting. We forgot to change the texture type on some of the background graphics. That's because they become very dark when working in linear color space.

    To fix this just change the Texture Type property to Editor GUI and Legacy GUI (at least) on following textures:
    • Editor Default Resources/nu Assets/Shared/UI/Background/box
    • Editor Default Resources/nu Assets/Shared/UI/Background/box_active
    The blackout should now be gone. :)
     
    imaginationrabbit likes this.
  46. imaginationrabbit

    imaginationrabbit

    Joined:
    Sep 23, 2013
    Posts:
    349
    Thank you- I'm now able to see the text- there also seems to be a problem with the icons as none of them are showing up- it seems there is a white box on top of the icon as you can see the edge of the icon beneath the box on the left side- any ideas? Thanks

     
  47. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    That seems to be a caused by the Unity Personal Theme. This issue will be fixed in the Patch 2 for version 1.6.2. The patch will be soon downloadable from our website.
     
  48. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    imaginationrabbit likes this.
  49. imaginationrabbit

    imaginationrabbit

    Joined:
    Sep 23, 2013
    Posts:
    349
    Thank you- awesome support :)
     
  50. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    You are very welcome! :)