Search Unity

Actor Controller - an advanced character controller

Discussion in 'Assets and Asset Store' started by Tryz, Oct 13, 2015.

  1. Phenomonaut

    Phenomonaut

    Joined:
    Sep 30, 2012
    Posts:
    61
    Hm. With gravity turned on the character just falls off the platform without rotating and walking down the wall. Not sure what I'm missing.
     
  2. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    To do a full wall-walk, the following options should be set (and are set by the basic tab):
    Gravity - Is Gravity Enabled
    Gravity - Is Relative
    Orientation - Orient To Ground
    Orientation - Keep Orientation

    That should do it. If you can get me a screen shot of your settings or better yet... your project... I can take a look.

    Just email it to tim@ootii.com.
     
  3. Dan2013

    Dan2013

    Joined:
    May 24, 2013
    Posts:
    200
    @Tryz
    I will use these wall-walking functions to create my own Super Mario Galaxy. :D

    For this purpose, if a wall-walking (or arbitrary-surface-walking) character does a jump, the character is able to fall back to the surface with right normal direction. Like what Mario does in these boss fights:


    AC and MCv2 are capable of doing that. Right? :)
     
  4. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Awesome!! The answer to all your questions are 'Yes'. :D

    There is a check box in the 'Orient' section called 'Keep Orientation'. If that is checked, you can jump and return to the surface you were on (vs falling to the natural ground).
     
    Dan2013 likes this.
  5. uncones

    uncones

    Joined:
    Sep 19, 2015
    Posts:
    14
    @Tryz How should I go about to make the player rotate his position when changing direction or turning back? If the player is walking straight, but want to turn back the character keep looking on same direction, so it looks like walking backwards, what changes can I do?

    Also, I noticed that, for the 2d scroller, if the player is going back the 'walking on wall' mechanic doesn't work. Only works when you are working straight to the right side of the screen.

    @JohnnyStuntman
    How do you manage to get the player walking on wall when going down? I can walk on wall only for climbing up but to get down it just falls.
     
  6. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Given the great questions, I figured it was time for a tutorial on coding drivers for the Actor Controller. It's a longer video, but here's what we're going to end up with at the end.



    The latest version of the AC (v. 0.53) has the files that will match the longer tutorial video that I'm uploading. The result is a 2.5D driver that supports automatically walking up walls, walking down cliffs, and turning.

    @uncones , I think this will address all your questions. :D

    As I'm uploading the video, you can grab the latest AC and play with the tutorial.
    1. Open the "Assets/ootii/ActorController/Demos/Scenes/Tut01_2D_Scene.unity"
    2. Press play
    3. Press A, D, & space keys

    Once the full video finishes, I'll let you know.
     
    hopeful likes this.
  7. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    The full video is now up. For only 50 lines of actual code, the video is 48 minutes... But, I really tried to go into detail about how things work. :eek:

    It's broken into 5 parts:
    1. Intro - 0:00
    2. Basic 2.5D driver - 7:52
    3. Turning - 18:00
    4. Auto wall-walking - 24:50
    5. Cliff walking - 38:12

    All the files are in the latest AC as well.



    Let me know what you think. Maybe there's too much detail... maybe too little? I don't want to do this if it's not adding value. :confused:
     
    Dan2013 likes this.
  8. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Thanks for the project. That's exactly what I needed.

    The issue was that the capsule's origin wasn't at the base.


    I don't think I said it anywhere... but, I'm expecting that origin of the character is at the "feet". That's where I do all my ground testing, raycasts, etc.

    Since Unity's default capsule has the origin at the center, I put the capsule in a container. Then, I put the Actor Controller and driver on that container/game-object. The "PrototypePlayer" was just the capsule mesh and renderer and I then offset it to get the expected origin.

    With that (and some clean up with the body shapes), one little change and I could orbit all three boxes.

    In the "Orient to Ground" section, there's an option called "Time". This is the time in seconds to orient 180 degrees. The default is 1 second since it creates a slower and smoother change in orientation. However, the tighter your corners, the speed of the orienting was too slow and the capsule couldn't keep up and would eventually fall.

    So, the tighter the corner, the quicker the time had to be. I believe I used 0.1 for the two thicker boxes and 0.01 for the really tight one.



    Here's what the body shapes and time value became.

    With these changes, I was able to orbit all three boxes without falling off.

    I'll definitely have to document the "origin at the bottom" requirement. Believe it or not, I never thought about it NOT being at the bottom and I have to think what that would mean throughout the code. So, for now, it's a hard requirement.
     
    Last edited: Nov 7, 2015
    hopeful likes this.
  9. uncones

    uncones

    Joined:
    Sep 19, 2015
    Posts:
    14
    It works like a charm!!! No regrets of this kit and your support!
     
    Tryz likes this.
  10. Phenomonaut

    Phenomonaut

    Joined:
    Sep 30, 2012
    Posts:
    61
    Ah, thanks, @Tryz! Working great now.

    I was confused a bit when I created a container with an origin at the bottom and a renderable capsule with an origin at the default center, then after making the capsule a child of the container, the container dsiplayed its origin in the center (seeming like it was adopting an origin in the center). But in the end it completely fixed the problem. I really appreciate your time.
     
    Tryz likes this.
  11. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    I'll make sure to document that in the next update. Glad it's working!
     
  12. jonfinlay

    jonfinlay

    Joined:
    Aug 25, 2015
    Posts:
    535
    Hi there, does Actor Controller include Foot IK, or to do that I would need to get Bone Controller as well?
    Thanks
     
  13. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Hi @jonfinlay ,

    Unfortunately, it doesn't do anything with IK.

    The AC is a "core character controller". What I mean by that is that it doesn't do anything with animations or IK directly. It's focus is the whole body and things that affect the body... movement, rotation, gravity, sticking to platforms, collisions, wall-walking, forces, etc.

    Then you'd layer on animations and IK with Unity's native tools or something like the Motion Controller or Bone Controller (as needed). This approach provides the most flexibility as it can be used with any kind of character... not just humanoids.

    Probably more info than you needed, but I hope that helps. :)
     
    jonfinlay likes this.
  14. jonfinlay

    jonfinlay

    Joined:
    Aug 25, 2015
    Posts:
    535
    Thanks, you've got so many handy assets its difficult to know best one :)
     
  15. Gogglehead

    Gogglehead

    Joined:
    Nov 10, 2015
    Posts:
    2
    Hi Tim,
    many thanks for this controller...it saved me so much time :)

    I use the 2.5D controller and driver and it works great.
    But one question.

    If my character has a platform over his head and jumps agains it, the character needs to use the bottom of the platform as new ground.

    Is this possible?

    Thanks and have a nice day :)
     
  16. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    hahaha... thanks!

    When I started creating assets, I didn't really have a plan. Over time, I started figuring out what I needed for my own game and a plan started to emerge. Here's how I see all the assets fitting together:

    Actor Controller - Base character controller responsible for "full body" movement, rotation, gravity, etc.

    Motion Controller - Animation systems that controls Mecanim and provides specific movement capability by blending the Actor Controller, animations, and code. With it, you get things like climbing, sneaking, walking, etc. (The Motion Controller will include the Actor Controller for free).

    Bone Controller - IK system for fine tuning bone positions. It supports things like foot IK, swinging tails, targeted grabs and swings, etc.

    Mount Points - Attachment solution for swapping out skinned meshes and connecting separate objects to your skeleton. It's a great way to swap out cloths, attach shields, mount guns, etc.

    Of course there's the other things, but these have become the core assets for my game when it comes to characters. What's cool about all these is that they aren't just for humanoids. Use them with dogs, cats, birds, aliens, etc.

    Once I get MC v2 out in the next week or two, I plan on showing off how all these things come together to create the entire character.

    I know that's a lot, but hopefully it gives you an idea of how I see the whole character system fitting together. The cool thing is that you can piece together what you care about. If you don't care about IK... no need for the Bone Controller. :)
     
    Last edited: Nov 11, 2015
  17. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    That's awesome to hear. In the next week or two, I'll clean up that sample driver and make it one of the standard drivers.

    Absolutely... with some small customizations.

    When you look at the Tut_2D_Driver_04.cs (that's the 2.5D driver I show in the video), You'll see a function "TestForWallCollision". That does a raycast forward to see if there's a wall hit. If there is, the logic to rotate towards that wall happens (line 230-ish).

    All you have to do is create a TestForCeilingCollision that does the same thing. The only different is that you'll shoot a ray up to determine if there is a ceiling hit. Then, you'd add that function to the conditions at line 230 and the character would rotate towards the ceiling.

    I'm cramming to get MC v2 out. So, I can't do it now. But, after I release MC v2 (in the next 2 weeks), I'll add it. If you want to try tackling it yourself, feel free to email tim@ootii.com if you get stuck and I'll help as I can. :)
     
    jonfinlay likes this.
  18. jonfinlay

    jonfinlay

    Joined:
    Aug 25, 2015
    Posts:
    535
    Thanks, I think bone controller and actor controller are the best for me, as I've got a lot of animals in my scene. I'll no doubt buy them before Christmas, thanks again.
     
  19. uncones

    uncones

    Joined:
    Sep 19, 2015
    Posts:
    14
    Hi Tim,

    I am using the the Tut_2D_Driver_04 and the action controller. One of the thing I really like about this AC is that it can goes on any walls as well upside down for ceilings. I would like to invert the controllers at the moment the character rotates upside down on ceiling. For example, if I'm inside a square walking towards left, when the character reaches the ceiling I have to keep holding down horizontal negative to continue to the right, which feels a little weird. I would like to invert the controller so that if I press horizontal positive my character will go towards right.

    I tried to do it inside the Tut_2D_Driver_04 script in the INPUT section (lines 116 -136) checking for the player rotation and button press, but it doesn't work really well. Am I going on the right direction here?

    Code (csharp):
    1.  if (eulerAngles.z < 180) {
    2. lInput = newVector3 (mInputSource.MovementX, 0f, mInputSource.MovementY);
    3. } elseif (eulerAngles.z >= 180 && ( UnityEngine.Input.GetButton("Horizontal") || UnityEngine.Input.GetButton("Vertical") )) {
    4. lInput = newVector3 (mInputSource.MovementX * -1, 0f, mInputSource.MovementY * -1);
    5. }
    Thank you
     
  20. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    That's right, get cramming brother, I'm holding off some systems waiting to implement MC2 to Voidkeeper.J/K

    I'm gonna see what that puppy can do!!!
     
  21. Phenomonaut

    Phenomonaut

    Joined:
    Sep 30, 2012
    Posts:
    61
    Should the out-of-the box Actor Driver and Actor Controller allow the player to turn instead of just strafe? Trying to figure out where to hook this up. Currently using an Xbox controller as the input.
     
  22. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    The Actor Driver supports both turning and strafing:
    w = move forward
    s = move backwards
    a = strafe left
    d = strafe right
    hold right-mouse button = rotate using mouse

    Xbox left stick = move
    Xbox right stick = rotate

    That felt pretty normal to me and a good default.

    But, lets say you wanted "a" to rotate left and "d" to rotate right (instead of strafing). You could do that by changing 3 lines of code of the Actor Driver's Update() function:

    Code (CSharp):
    1.             if (mInputSource.IsViewingActivated || mInputSource.MovementX != 0f)
    2.             {
    3.                 float lYaw = mInputSource.ViewX;
    4.                 if (lYaw == 0f) { lYaw = mInputSource.MovementX; }
    5.  
    6.                 Quaternion lRotation = Quaternion.Euler(0f, lYaw * mDegreesPer60FPSTick, 0f);
    7.  
    8.                 mActorController.Rotate(lRotation);
    9.             }
    10.  
    11.             // Move based on WASD
    12.             Vector3 lInput = new Vector3(0f, 0f, mInputSource.MovementY);
    13.             Vector3 lMovement = lInput * _MovementSpeed * lDeltaTime;
    The first line (line 118 in the Actor Driver) basically says we'll rotate if you use the mouse OR the horizontal movement keys (MovementX) are active.

    The 4th line is new. This basically says if there was no horizontal mouse movement, use the horizontal movement to rotate.

    The 12th line (line 128 in the Actor Driver) clears out the "x" component for input. Since we use this for movement and we no longer want "a" and "d" to move us, we clear it out.

    Is that was you were looking for?
     
    Last edited: Nov 22, 2015
  23. Phenomonaut

    Phenomonaut

    Joined:
    Sep 30, 2012
    Posts:
    61
    Sure was. Thanks Tim!
     
    Tryz likes this.
  24. ikemen_blueD

    ikemen_blueD

    Joined:
    Jan 19, 2013
    Posts:
    341
    Can you make tutorials about how to make custom drivers for Apex Path AI & Easy Touch using Joystick? I'm just playing with Actor Controller for one hour, already super like it ;)

    About performance, I'm just curious, in what aspects that Actor Controller is better than a normal Physics Controller? I'm not sure if Actor Controller is a Physics Controller or not. If it is, then, in what areas that Actor Controller is better in performance? If it is not a Physics Controller, how is it when dealing with Physics? Character Controller is terrible when dealing with Dynamic Physics Objects.
     
    Last edited: Nov 25, 2015
  25. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Awesome! Glad you're liking it. :)

    I do own Apex Path, so I'll get one up for that in the next couple of weeks. I've got some other priorities ahead of that. :eek:

    However, I don't own Easy Touch. That said, it would just be a matter of creating an "Easy Touch Input Source". Hopefully this will explain how you'd do it:


    The Actor Controller isn't a "physics object" per say, but it does use Unity's PhysX API to do all it's collision detection and response. In my PC based tests, I found it to be about 25% faster than Unity's native Character Controller. However, it really depends on how many objects it's colliding with, the types of objects, etc. In general, I found each AC character takes about 0.02 to 0.04 milliseconds to process.

    The AC will respond to collisions and there's some setting to determine how it responds, but it won't push objects back. For that, you'd still need to add a RigidBody and Unity colliders.

    I hope that helps. ;)
     
    ikemen_blueD likes this.
  26. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    774
    I needed to add a rigid body and capsule collider before AC would be detected by the trigger zone in my Airship test. Before doing that, triggers would not register the presence of the character at all, even if "Collide with objects" and "Move due to colliders" were both checked. Is this also to be expected, or is there a an AC setting that lets it natively interact with triggers? Not that adding the RB and collider is a problem. Just looking for a better understanding of how it's supposed to work.
     
  27. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Everything you said is expected and right.

    In order for Unity's physics world to react to an object (including a character), that object needs a RigidBody and a Unity collider. Note, for some things (like an external raycast) you can get away with just a collider.

    In order for AC to react to Unity's physics world, it doesn't need the RigidBody or Unity colliders. I handle that all internally with body shapes.

    Why did I do it this way?

    1. Stretching and rotating Unity's capsule collider had limitations. This is something I wanted to support with body shapes... meaning tying the ends of the capsule to transforms that animate.

    2. There's an overhead with the RigidBody and Unity colliders that people may not always need. I felt allowing you to add them or ignore them was the most flexible approach.


    Admittedly we may find that this is one of those design ideas that looked better on paper than in practice. I'll be curious to see what the community thinks after it's used for a bit. :)
     
    FargleBargle likes this.
  28. Tony-Lovell

    Tony-Lovell

    Joined:
    Jul 14, 2014
    Posts:
    127
    Will this controller work when walking on physics-driven rigidbody platforms, such as a buoyant ship cruising over waves?

    Others I've tried either insist the platform be "IsKinematic" or slow down the platform's behavior (above and beyond what inertia would dictate).

    Thanks in advance for a quick answer
     
  29. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Short answer...
    Not right now (due to a bug).

    Long answer...
    The platforming is built to not care about IsKinematic or inertia. So, it should work.

    During development, one of the testers had a cool flying ship that we were using to make sure the character would stay planted as expected. It was working as expected even at high speeds. However, after release, he reported the character was slipping off the ship at high speeds and when the ship tilted. I need to go back and see what happened.

    So, it should work as you're wanting, but (based on the report) I don't believe it is right now.
     
  30. Tony-Lovell

    Tony-Lovell

    Joined:
    Jul 14, 2014
    Posts:
    127
    Tryz, I am purchasing. I will help you address whatever issue has arisen. Your dedication and approach to documentation sold me.
     
  31. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Thanks!

    I'm currently finishing up on porting another asset and then I plan on looking at this. It may be a full week, but I will get to it.
     
  32. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    774
    See my new post on the feedback forum for the latest on this. ;)
     
  33. Phenomonaut

    Phenomonaut

    Joined:
    Sep 30, 2012
    Posts:
    61
    Hey Tim where would be a good place to toggle on and off wall-walking during gameplay? I see the EditorWalkOnWalls variable, but it appears that's only usable during editing?
     
  34. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    774
    If you check out the Lab demo, in the new Motion Controller 2 release, you'll see he uses a pair of triggers at the entrance to the wall walking room. One turns it on. The other turns it off. The WallWalkActivator script is included in the package, and simply toggles various items in the Actor Controller needed for wall walking. If you don't have MC2, and are using just AC, I'll let Tim walk you through what's needed, rather than posting the whole script here.
     
    hopeful likes this.
  35. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Happy post-Thanksgiving everyone ;)

    @FargleBargle is exactly right. The "Basic" tabs in the assets are really just short-cuts to toggle things in the "Advanced" tabs. For activating and de-activating wall-walking during run-time, we really care about two properties:
    IsGravityRelative
    OrientToGround

    However you want your trigger volumes to work, just set those properties on the AC to 'true' to have wall-walking work and 'false' to disable it.
     
    Last edited: Nov 27, 2015
  36. Phenomonaut

    Phenomonaut

    Joined:
    Sep 30, 2012
    Posts:
    61
    Thanks! Digging through this now, but this script appears to be getting the error:

    'com.ootii.Geometry.GeometryExt' does not contain a definition for `ContainsPoint'.
     
  37. Tony-Lovell

    Tony-Lovell

    Joined:
    Jul 14, 2014
    Posts:
    127
    Is there a place where the relationship between Motion Controller 2 and Actor Controller is explained? Beyond seeing that MC2 seems to encompass AC and add more, I've not seen it clearly stated what the "more" provides.

    thanks!
     
  38. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Oh right... 'ContainsPoint' isn't part of the AC yet.

    What really matters is setting
    IsGravityRelative = true
    OrientToGround = true

    Do that in your trigger logic and that will enable wall-walking. Set them to false to disable it.
     
  39. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Hey Tony,

    I put this on the first page of the this forum. It's a bit general, but I think it helps to answer the question.

    Actor Controller - Base character controller responsible for "full body" movement, rotation, gravity, etc.

    Motion Controller - Animation systems that controls Mecanim and provides specific movement capability by blending the Actor Controller, animations, and code. With it, you get things like climbing, sneaking, walking, etc. (The Motion Controller will include the Actor Controller for free).

    Bone Controller - IK system for fine tuning bone positions. It supports things like foot IK, swinging tails, targeted grabs and swings, etc.

    Mount Points - Attachment solution for swapping out skinned meshes and connecting separate objects to your skeleton. It's a great way to swap out cloths, attach shields, mount guns, etc.


    So, to be more specific...
    The AC provides for the basic character controller functionality: movement, platforms, gravity, collisions, orienting to the ground, etc. However, the AC doesn't care about animations, movement styles, or anything like that.

    The MC is a "driver" for the AC. That means it tells the AC what to do. As such, it gains all the features of the AC. In addition, the MC is an animation controller. It is able to blend code and animations together in order to create advanced movements like climbing, jumping, pivoting, etc. It also provides a way for you to easily plug in your own character animations.

    Specifically, the motions included are:
    3 walk/run movement styles (MMO, adventure, shooter)
    5 climbs
    2 jumps
    sneaking
    balance beam walking
    etc.

    So, the AC allows you to control the movement of any character and the MC allows you to control the animations, includes pre-built motions for humanoids, and provides different movement styles for third-person games.

    I hope that helps.
     
  40. ikemen_blueD

    ikemen_blueD

    Joined:
    Jan 19, 2013
    Posts:
    341
    Hi, these two guys https://www.youtube.com/user/FreetimeCoder/videos , https://www.youtube.com/user/alexmbr/videos has made lots of cool motions. Can I request something like this for MC, such as Melee combo attack, Fly, Rope Swinging, Zip line, Wall dask walking, Double wall climbing and Vaulting, more Climbings, like Pole climbing, Ceiling climbing, more Ninja moves, etc. Anyway, just want to give you some suggesstions. My "dream" adventure controller of all time, is this one: Overgrowth, https://www.youtube.com/user/WolfireGames/videos ;)
     
  41. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    I certainly don't mind taking requests. I just can't make any promises about when I'll get to them.

    My plan is to get the Adventure Camera out, update the AC and MC, and then do some work on my own game. That helps since my game uses all these assets. As I figure out new things I need, I add to the assets and then make them available to everyone. I'll admit it's not the fastest process in the world, but it helps move my personal project forward while still helping everyone else.

    Totally agree about Overgrowth. I've watched them for a while and it is super impressive what they've done. I think we can get there, but it may take some brave souls to help with the motions. ;)
     
    ikemen_blueD likes this.
  42. Phenomonaut

    Phenomonaut

    Joined:
    Sep 30, 2012
    Posts:
    61
    Forgot to respond to this. Thanks! Flipping these two variables does exactly what I need.
     
    hopeful and Tryz like this.
  43. Rimevel

    Rimevel

    Joined:
    Dec 8, 2015
    Posts:
    10
    Yo! Just got this asset and tried to import it into an existing project. Doing this seem to cause some errors:

    Assets/Extensions/ootii/Framework_v1/Code/Base/BaseMonoObject.cs(26,10): error CS0246: The type or namespace name `SerializationIgnore' could not be found. Are you missing a using directive or an assembly reference?

    Assets/Extensions/ootii/Framework_v1/Code/Base/BaseMonoObject.cs(26,10): error CS0616: `com.ootii.Data.Serializers.SerializationIgnoreAttribute': is not an attribute class

    Assets/Extensions/ootii/Framework_v1/Code/Base/BaseMonoObject.cs(52,10): error CS0246: The type or namespace name `SerializationIgnore' could not be found. Are you missing a using directive or an assembly reference?

    Assets/Extensions/ootii/Framework_v1/Code/Base/BaseMonoObject.cs(52,10): error CS0616: `com.ootii.Data.Serializers.SerializationIgnoreAttribute': is not an attribute class

    Assets/Extensions/ootii/Framework_v1/Code/Data/Serializers/SerializationAttributes.cs(82,6): error CS0641: Attribute `System.AttributeUsageAttribute' is only valid on classes derived from System.Attribute

    Not 100% sure what is causing this :/
     
  44. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Hey @Rimevel

    Wow. I just created a new project in Unity 5.2.2f1 and imported the Actor Controller. I'm not getting any errors like this.

    I was able to open the AC_Demo1 scene and run it no problems.

    Can you confirm you're fine in a brand new project?

    Can you tell me more about the existing project you're using? What OS, what other assets, etc.

    Those errors seem to all reference my SerializationAttributes class. I'm wondering if you've got another asset that's conflicting with it.

    Feel free to post here or email tim@ootii.com and we'll work this out.
     
  45. Rimevel

    Rimevel

    Joined:
    Dec 8, 2015
    Posts:
    10
    Your questions got me thinking so after a while I have managed to fix it. I had a class called Attribute that one of your scripts tried to inherit from :oops: It have now been given a much better name.

    Now everything is working as it should! :)
     
  46. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Awesome!

    Are you using namespaces?
    (If you're not sure what namespaces are, let me know and I'll explain)
     
  47. Rimevel

    Rimevel

    Joined:
    Dec 8, 2015
    Posts:
    10
    I know about them. I have just been a bit lazy when prototyping :p Gonna do a big cleanup of my code soon.
    Thanks anyway :)

    By the way, any tips of a good way to make characters using the actor controller collide with each other?
    Not entirely sure what the best approach would be.
     
  48. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    You can put colliders (and even rigid bodies) on the AC characters if you need to. That will allow them to collide with each other just like any other object.

    I won't take the colliders into account for the actor itself, but it will look at the colliders on other actors as just normal colliders and collide. I hope that makes sense. :confused:
     
    Last edited: Dec 10, 2015
  49. Phenomonaut

    Phenomonaut

    Joined:
    Sep 30, 2012
    Posts:
    61
    I have no problems following the tutorial video and everything works fine, but any public variables that I try to add to the standard ActorDriver.cs aren't visible in the editor. I'm sure I"m missing something fundamental here.
     
  50. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    I wouldn't recommend changing the scripts. If you do, anything you change will get wiped out when up there are updates to Actor Controller. That is pretty much true of any asset you purchase to use in your projects.