Search Unity

Motion Controller

Discussion in 'Assets and Asset Store' started by Tryz, Feb 21, 2014.

  1. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,225
    The BowCore has a function for CreateProjectile() and ReleaseProjectile(). I can add a message on those. That should help.
     
  2. tcz8

    tcz8

    Joined:
    Aug 20, 2015
    Posts:
    293
    Thanks, this was indeed part of the initial problem which was fixed when I reinstalled the assets. The other issue was with a bug in the demo scene which was discussed in the posts above.

    Cheers.
     
    Tryz likes this.
  3. Deadlyapples

    Deadlyapples

    Joined:
    Dec 30, 2013
    Posts:
    54
    I am working on a UI-less inventory and equipment system and just wondered on how I might integrate what I have made with Motion Controller for my project. It is all just for fun and I am learning so much.

    The basic gist of it is that characters can pick up and drop items from either hand independently, items when equipped are stored on the character on slots on parts of the characters skeleton. This removes the need for an inventory UI because all items and objects are handled in game most of the time. I always wanted an inventory system like this but thought I would try the traditional UI inventory system first but being that I am new to scripting I found a hierarchical approach that takes place in the game more understandable.

    Now I could spend hundreds of hours making my own controller and it would never be as good as yours so figured I might as well shell out and get your systems as they look so damn good, just wondering how I might merge my interaction and equipment system on-top of the motion controller.

     
    Tryz and boysenberry like this.
  4. boysenberry

    boysenberry

    Joined:
    Jul 28, 2014
    Posts:
    342
    Great idea! Inspiring :)
     
    Tryz likes this.
  5. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,225
    Hey @Deadlyapples ,

    That's really cool. The video is a great showcase too.

    The key is the "Inventory Source".

    The way I integrate with most other assets and functionality is through a "source": Input Source, Attribute Source, Inventory Source, etc. A "source" is really just code that implements my interface. In this case, the "IInventorySource.cs" interface.

    This is how we integrate with my "Basic Inventory" (which implements IInventorySource) and Inventory Pro (which implements IInventorySource). So, your inventory solution would simply implement the properties and functions of my IInventorySource too.

    These would be functions like:
    StoreItem()
    EquipItem()
    GetItemProperty()
    etc.

    You can use my BasicInventory.cs as an example. Now, it's more advanced with things like weapon sets, but none of that is required. Just the StoreItem(), EquipItem(), etc.

    I hope that make sense.
     
    nirvanajie likes this.
  6. Deadlyapples

    Deadlyapples

    Joined:
    Dec 30, 2013
    Posts:
    54
    Yeah I think I get it! Thanks :)
    I wish I was better at scripting ahaha :p
     
    Tryz likes this.
  7. Assambra

    Assambra

    Joined:
    May 22, 2017
    Posts:
    2
    Hello,
    i use the Third Person Motion Controller ver. 2.72 and the Camera Controller ver. 3.30 in a empty Project without any modifications with the following Settings. Two things happends Fast Turn(after changing the direction) give a endless turn run, turn run, turn... if i move in same direction. The Second thing is if i rotate the Camera with the RMB and after this my Character cant walk forward he is allwas turning while im walking forward; I hope you can help me to get it to work. I want take this settings it looks fine for me. Thanks in advance!

    ootii_settings.jpg


     
    Last edited: Mar 15, 2018
  8. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,225
    Hey @Assambra ,

    It looks like the issue is that you have the 3rd Person Fixed camera motor's "Rotate With Anchor" checked while you're using Walk Run Pivot.

    Think of it like an endless loop...
    Character pivots based on the direction of the camera
    Camera rotates based on the direction of the character


    You don't want the camera rotating based on the character (anchor) when you're using the Walk Run Pivot motion.

    You're using the Walk Run Pivot motion because it has the same priority as Walk Run Rotate and is lower down on the list.

    That should do it. If you need more help, please email tim@ootii.com and include your Unity Order ID. I'll be happy to help. :)
     
  9. andonsky

    andonsky

    Joined:
    Jun 19, 2015
    Posts:
    25
    Hi @TeagansDad, I hope this offer goes for anyone else on this board.:)

    I am currently trying to get the MotionPacks setup with the Kubold Animations and I've run into a problem I didn't expect. Just to clarify, I am currently using the scripts from the Ootii Vault that integrate with the Kubold Animations.

    Once I have a weapon instantiated and attached through InventoryPro the Equip motions are activated just fine, however, once I return from the Inventory UI and try to move the character with the Kubold Animations I can't get him to move.

    Everything works fine, though, if I stick to the BasicWalkRunPivot or Strafe Motions. I suspect this is happening because the MAP motions from Ootii's Vault does not contain the transitions which the BasicWalkRunPivot Animations have, specifically the transitions to the Swordshield and Bow Animations. (I have not installed the Spellcasting Pack yet to simplify matters).

    If you have updated these Packs in any way that they can now be used for the other animation packs could you kindly share them with the community through Ootii's Vault? I'm sure this would really be appreciated by a lot of people and make the motion controller truly compatible with all of Kubold's Animations. This, I suspect is why most people gravitated towards Ootii as defacto Motion Controller, as it's modular approach achieves the best compatibility with the animation packs available in the Asset Store.

    Hoping for your kind consideration to this request.
     
    boysenberry likes this.
  10. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    802
    Hi, @andonsky.

    Of course my offer applies to anybody on this board. :) That goes for anybody who has messaged me privately about it and hasn't received a response, too (there are a few of you; sorry about that).

    The version of my MAP motions on the Vault is super-outdated; I believe it predates the "Basic" motions being added to Motion Controller. I think I did submit an updated version that used the Basic motions, but I found a handful of bugs before Tim posted it and I asked him not to post that version. That was quite a few months back... I've had this in the back of my mind as a to-do, but obviously I've never gotten around to it.

    In part, I got hung up on how to package all of these motions. The MAP package now doesn't contain any actual motions, just the pack setup script and the .meta files for the animations. But its pack setup script uses some base functionality shared by all of my other pack setup scripts, so I'll need to ensure that's included.

    The situation with all of the weapon animation packs is more complicated. They're all built off the same core scripts which extend the melee combat as presented in ootii's Sword & Shield MP, and I've gone back and forth as to whether I should bundle them up as an "Advanced Combat Pack" or release them individually with all of the shared files present in each pack (there's a lot of them).

    And with all of these (especially the weapon packs), I start to have trouble figuring out what belongs in a "generic" motion pack and what is more of a game-specific preference on my part. I have no intention of supporting two versions of the same thing, and I've already significantly slowed down my own development in an attempt to make sure what I'm working on can be shared at some point.

    Also, I can't decide on a good name for the root folder and namespace for everything. ;) I don't really like any of the ones I've used so far -- and I don't want to keep changing those every time I update, as I can imagine that would really be annoying.

    So... Yeah, the actual motions and additional components all work pretty well. I just got stuck on how to name and organize all of this. Sounds trivial, but it matters to me.

    I'll try and package up the MAP set and get it out there for you shortly though. I won't make you wait until I find a name and structure for the whole works. :D
     
    Tryz, JUBA-C4, andonsky and 2 others like this.
  11. andonsky

    andonsky

    Joined:
    Jun 19, 2015
    Posts:
    25
    Thanks, @TeagansDad for your continued support and generosity, not to mention help in making the Ootii products the go-to Character Controller and Motion Controller. We will look forward to this addition in the near future.

    I hope you don't mind if I take this opportunity to request for the InventoryPro integration as well, if there have been any changes that you have been made to the Inventory Pro scripts that you have previously published in this forum and if there have been any modifications to integrate them into the Ootii Actor Core or Reactors please do share them if you don't mind as I'm sure the community would really appreciate this gesture as well.
     
    boysenberry and JUBA-C4 like this.
  12. JUBA-C4

    JUBA-C4

    Joined:
    Aug 16, 2014
    Posts:
    12
    please if you can share the kubold sword motions it will help a lot :)
    thank you <3
     
  13. andonsky

    andonsky

    Joined:
    Jun 19, 2015
    Posts:
    25
    Hi @Tryz, I have a quick question on the Interactables. is it possible to make the raycast an option?

    I've been trying to deactivate the Raycast on the object and this line starting at 233 from the BasicInteraction script "if (_IsInteractableRaycastEnabled) " upon failure continues to check if an Interact button has been pressed but nothing happens when I disable the Interactable conditions on the object and/or character.

    Reading through the script I was hoping I could simply disable the raycast check and have the trigger collider activate a UI button to prompt the user or have the object color change as it is set up currently. Please advice the best way to move forward with this.
     
  14. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,225
    You can, but if there's no raycast then there's really no way for the motion to know which interactable you're trying to activate.

    So, you have to tell the Basic Interaction motion what GameObject you want to activate on the key press.

    To do this, you would use a trigger or other approach that would set the interactable on the motion like this:
    BasicInteraction lInteractionMotion = lMotionController.GetMotion<BasicInteraction>();
    lInteractionMotion.Interactable= X;

    My InteractableCore won't do this, but I'll beef it up.

    If you want to email tim@ootii.com with your Unity Order ID, I can send you the change. I'll push it out with the next update.
     
    boysenberry likes this.
  15. andonsky

    andonsky

    Joined:
    Jun 19, 2015
    Posts:
    25
    Hi, @Tryz I've already sent the Order ID since December, but I'll resend it again. My thought's on this is let the trigger on the object activate the Interactable. This simplistic approach may limit what can be activated at any given time but I believe this is the way it's been done for games like Assassins Creed, TombRaider, Shadow of Mordor, Shadow of War, etc. The raycast works well on Doors or objects straight on the camera but for chest or items on the ground, it's more of a chore to find the angle where the Interactable will activate.
     
  16. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    802
    @andonsky - you can get around that issue by placing separate "interaction" colliders on those objects (on an empty child GameObject). Make the colliders large enough that it's not a chore to target them with the raycast. Put all such colliders on a different layer than the parent object, and make sure the Actor Controller is set to not collide with that layer.

    So if the mesh objects are on the Default layer, the player will collide with them accurately, but the colliders on the Interaction layer won't block movement.

    Alternatively, displaying the targeting reticle in the center of the screen makes it very easy to find the right spot. This is essentially what Skyrim does (it has a small and relatively unobtrusive reticle).
     
    Tryz and hopeful like this.
  17. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,225
    Thanks. I sent you the code too.

    They work a bit different than that. Take Assassin's Creed Origins for example... What is interactable is based on the view of the camera. For example, by shifting the camera a bit I can interact with different jars (the character didn't move):




    In order to keep the process as fast as possible, we don't want all the objects determining if they are interacted with. Instead, the character is in control.

    In this case, we use one short raycast and then we ask the target object if it's ok to interact (using the trigger collider). @TeagansDad is right. You can resize the raycast collider and trigger collider any way you want or add other colliders as needed.

     
    Last edited: Mar 20, 2018
    FargleBargle likes this.
  18. andonsky

    andonsky

    Joined:
    Jun 19, 2015
    Posts:
    25
    @TeagansDad thanks for throwing me a bone there. I'll test this suggestion out and see if I can get this to work - wherein I no longer need to align the camera in a specific angle just to get the interactable to activate. I was initially looking to perhaps build it with a trigger/collider and a UI like the image below.


     
    Tryz likes this.
  19. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,225
    With the code I sent, you should be able to do that.

    Basically, the code will set the InteractableCore property of the motion when you enter the front trigger area of the chest. Then, when you press the interact button, the motion will see there's an InteractableCore set and activate it.

    Just remember to uncheck the "Use Raycast" options on the InteractableCore of the chest and the BasicInteraction motion.
     
    andonsky likes this.
  20. andonsky

    andonsky

    Joined:
    Jun 19, 2015
    Posts:
    25
    @Tryz Thanks so much Tim. I uderstand what you're trying to say now and indeed it makes sense, so in a general case where we only have one object in the scene a simple trigger mechanism can activate the object but with multiple objects on the screen we can then use the raycast/trigger collider together. Does this make sense? I'm thinking perhaps the user decides depending on the complexity of the scene?
     
    Tryz likes this.
  21. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,225
    Exactly. :)
     
    andonsky likes this.
  22. andonsky

    andonsky

    Joined:
    Jun 19, 2015
    Posts:
    25
    @Tryz and @TeagansDad Thanks so much for the advice, making the Raycast area bigger and turning off its mesh renderer, instantly makes the object glow and ready for the keystroke.
    On the Interacting demo, the chest uses the lid as the raycast, which made it harder to detect, changing this to the RaycastArea object and increasing the size made it instantly light up like a Christmas Tree. Woohoo!!

    Thank you for the changes you made to the script, Tim, it works perfectly for my needs. Now all I need to do is get the prompt from the UI to appear. God Bless you, gentlemen.
     
    TeagansDad and Tryz like this.
  23. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    802
    I've built something like this already, which I've integrated with Inventory Pro's trigger system (for picking up items, opening containers, etc). Oh, and for Dialogue System's conversation triggers as well. ;)

    I just need to do some cleanup and refactoring before it's ready to share. But I know you're using Inv Pro, so I figured I'd let you know.
     
  24. The_Darkwing_Duck

    The_Darkwing_Duck

    Joined:
    Jun 16, 2017
    Posts:
    20
    Hello ooti, I seem to be having a little trouble getting my animation to work. What happens is I press the button(In this case TeleportSelf) and the character just goes to default position, it does this with all of them including Spell Stance

    I imported and setup everything said in the Setup Guide (Mixamo's animations(FBX for Unity, 30fps))
    Screenshot (17).png
     
  25. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,225
    Hey @The_Darkwing_Duck ,

    That's a sure fire sign that the animations aren't found. Anytime someone reports an issue like this, it's one of three things:

    1. A step was missed in downloading the animations from Mixamo and the right ones weren't downloaded.
    2. My .meta files weren't unzipped and put in the folder with the animations (and then re-boot Unity).
    3. The animations (or .meta files) weren't put in the folder I specify in the documentation.

    If you can double-check all of these, I'd appreciate it.

    It's easy to go quickly and miss a step, but I promise it all works. :)

    If you still have an issue, feel free to email tim@ootii.com and we can figure out what's missing.

    [EDIT]
    I just went through the whole process again following the user’s guide and everything worked without an issue. I even re-downloaded the animations from Mixamo.

    [EDIT]
    Just as a follow up, the issue was #2. :)
     
    Last edited: Mar 22, 2018
  26. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    396
    Hi Tim,

    Would this also be efficient for a Top-Down game with a fixed camera (no rotation)? Because I'd take the code too in this case! I got issues with most of things that does Raycast from the camera (I already asked you some weeks ago about the lock-on that doesn't work well in top-down)
     
  27. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    396
    Already using IP and planning to buy Dialogue System, I'm also interested into that integration :)
     
    boysenberry likes this.
  28. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,225
    That makes total sense.

    I plan on pushing the change out next week, but if you want it earlier just email tim@ootii.com with your Unity Order ID and I'll send you the file. :)
     
  29. The_Darkwing_Duck

    The_Darkwing_Duck

    Joined:
    Jun 16, 2017
    Posts:
    20
    Excuse me Tim, I'm having some trouble with your spell creation tutorial. My projectile does its thing, but doesn't disappear or do damage, the node is there though... Can you help me?
     
  30. StevanJay

    StevanJay

    Joined:
    Feb 5, 2014
    Posts:
    75
    Hey! I'm just getting started with the Motion Controller and Sword & Shield packs, experimenting to see what I can do with them. I'm about to start playing around with the Motion scripts, but thought I'd look for a little advice before getting too far...

    My first idea is to to try splitting the basic attack into strong and fast variants, on different key bindings. My initial thought was to simply change TestActivate() in BasicMeleeAttack to check for either of two input options, and then update the attack style depending on that input.

    Does that make sense? Thanks for any help as I take my first steps in exploring these assets...! :)
     
  31. lmakor

    lmakor

    Joined:
    Oct 31, 2016
    Posts:
    14
    hi!

    Does this character controller support box-based character colliders (as opposed to capsule based ones)?
     
  32. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,225
    I got your emails too. Responding now. ;)
     
  33. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,225
    Hey @StevanJay ,

    What you're saying about changing TestActivate() to support multiple key bindings makes sense. What you may want to do is create a new motion that inherits from BasicMeleeAttack. Then, you can override the TestActivate() function and add your extra check. This allows me to modify the motion without undoing what you've done.

    The other thing that could probably help is Reactors. Check out this link and it will explain more:
    https://ootiigames.com/?p=386

    If you're creating your own version of BasicMeleeAttack you may not need the reactor approach, but understanding it doesn't hurt. :)
     
  34. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,225
    Hi @lmakor ,

    For performance reasons, the MC uses custom "body shapes" to define the collisions for the character when it comes to movement. Out-of-the-box, I support spheres and capsules, but not boxes... It's just that no one has ever asked for them before. :)
     
    Last edited: Mar 22, 2018
  35. StevanJay

    StevanJay

    Joined:
    Feb 5, 2014
    Posts:
    75
    Cool, thanks for the reply - yep, I can see creating a new motion that inherits from BasicMeleeAttack makes more sense.

    And Reactors look super useful - I think I'll have a go at using them to make a charge attack next based on character movement... :)

     
  36. The_Darkwing_Duck

    The_Darkwing_Duck

    Joined:
    Jun 16, 2017
    Posts:
    20
    With you Spell Editor, how would you make a shield that only blocks Arcane type projectiles?
     
  37. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,225
    In some of my spells, I create objects with colliders. For example, if you check out the "Dragon Breath" spell, that creates a trigger area and attaches it to the character's "HeadForward" bone.

    So, in your spell you can create a shield and attach it to your character as needed.

    The tricky part is probably making the shield only block "Arcane" projectiles. The "Magic Missile" spell shows you how to create a projectile and it uses the "Projectile 001" prefab. That uses the "Projectile Core" component to make the missile fly and test for impact. The Projectile Core doesn't know about Unity Layers, but I think it should... So, I've added that now.

    So, there's probably a couple of ways you could do this:

    1. Use Unity's Layers and the new "Collision Layers" property. On your shield, you'd set the Unity Layer to some value. Then, on the projectile, you'd set the Collision Layers to that Unity Layer.

    You also have to make sure your other projectiles DO NOT include the shield's Unity Layer in their Collision Layers. This will allow them to ignore the shield.

    2. The projectiles themselves don't know anything about the kind of damage type they do (Arcane). You could add a Basic Attribute component to the projectile prefab and shield prefab and set that values. Then, you could customize the Projectile Core's TestImpact() function to compare those values and ignore the impact if it's not what you want.

    #2 requires some coding, but would give you a ton of control.

    I hope that helps.

    If you email me at tim@ootii.com, I can send you the new Projectile Core with the Collision Layers. I think I know who you are from other emails, but if you'll just confirm you are The_Darkwing_Duck, that would help. :)
     
  38. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,677
    I've seen this problem before, but I can't remember how to fix it. Does anyone know what to do when all the object references are long hex numbers like this image:

    upload_2018-3-24_8-26-46.png

    If I right-click on the Ootii folder and re-import then I end up with the following kind of error on 26 items:

    Broken text PPtr in file(Assets/ootii/_Demos/MotionControllerPacks/Archery/Scenes/Archery.controller). Local file identifier (110251988) doesn't exist!

    [EDIT]
    The Broken text PPtr error goes away after closing and re-opening Unity, but the strange hex numbers are still there.
     
  39. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,225
    This is a known Unity bug when you have a controller created in Unity 5, but open it in Unity 2017.

    Wow. That I've never seen.

    It's weird because the "Toggle Set Alias" is literally just a string on the BasicInventory MonoBehaviour. That means there's no tricky serialization or anything. It's like Unity's deserialization of the component is off.

    I'm really not sure. Any chance the type of serialization used change (ie Edit | Project Settings | Editor | Asset Serialization Mode)?
     
  40. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,677
    I think I found the place to fix it, but it's still re-serializing everything. There is an Editor settings to Force to Text or Force to Binary on import on Asset Serialization. If I recall correctly, switching this will fix it. I'll report back if it does.

    [EDIT]
    I found the Unity issue tracker for this:

    https://issuetracker.unity3d.com/is...ed-in-mixed-mode-results-bad-string-variables
     
    Last edited: Mar 24, 2018
    Tryz likes this.
  41. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,677
    Changing asset serialization didn't work exactly. It re-serialized everything, but it was still broken. So I tried Mixed mode asset serialization and same thing. So then I removed the Ootii folder completely and re-imported with Mixed Mode asset serialization and then it worked.
     
    Tryz likes this.
  42. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,225
    Was this one of my demo scenes or a scene you created?
     
  43. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,677
    It was everything in your packages. I didn't create anything yet in this project. I was importing all the latest packages in a new project and just setting up the Sword & Shield pack first.

    [EDIT]
    Using Unity 5.6.4p3
     
    Tryz likes this.
  44. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,225
    Once I get some time, I'll try setting the serialization setting and importing the packs to see if can force the issue to happen. This way I can document it.

    I'm glad you're moving forward. :)
     
    magique likes this.
  45. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    802
    @Tryz - what asset serialization mode is your master project (the one you export from) set to?

    I used to run into this all the time in pre-5.6 versions, and I've seen it with your assets, Gaia, Inventory Pro, and others.

    I don't think I've ever seen it happen with packages exported in Force Text mode. Of course I also thought this bug was fixed, as I didn't experience it again after moving up to Unity 5.6.

    @magique - If your project was started in an older Unity version and then upgraded to 5.6, maybe it hangs on to some of these weird serialization bugs? I don't even know if it works that way -- just tossing out ideas. :)
     
  46. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,225
    My master project (U2017.3.0f3) is set to "mixed".

    When I upload to the Asset Store, upload through U5.5.0f3 projects for compatability. The asset mode for those are "mixed" too.

    I'm pretty sure I just left them at the defaults.
     
  47. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,677
    Yeah, as the Unity Tracker issue says, if it was exported as Mixed and then imported into a project with Force Text then it happens.
     
  48. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    802
    That's probably it then... I wonder if it would do it if uploaded through 5.6 projects?

    You can upload different packages for different Unity versions, right? I know that's a big pain in the rear though.

    EDIT: Uploading through 5.5 as Force Text is probably the easiest thing to try though. :)
     
    Tryz likes this.
  49. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,225
    What's odd is that I don't remember changing the mode to "Mixed". I would have left the default. However, Unity's docs say that Force Text is now the default.

    My only worry about changing this is if it will mess someone else up who has used the assets for years. :eek:

    I guess I'll just have to test...
     
  50. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    802
    "Mixed" was the default in Unity 5 versions. I believe that the default changed to "Force Text" in 2017.1. Basically, when Collaborate became a core feature.
     
    Tryz likes this.