Forum rules - please read before posting.

Version 1.45 - Keeping up with Unity edition

edited May 2015 in Official news
A small update, admittedly, but it's come to my attention that a couple of features have stopped working because of some hugely obscure tweaks with the more recent versions of Unity, so please pay special attention to the upgrade notes if you're working in 2D.  Still, a few nice features thrown in for good measure, particularly for 3D games.

Sprite-based NPCs
Up until Unity 4.5, Box Collider 2D components placed on an NPC's root object would remain the same size as the NPC turns, so long as a Rigidbody was also attached.  This is no longer the case.  This means that you'll need to move both the Box Collider 2D (The Trigger collider than makes the NPC interactive), and the Hotspot component onto the sprite child instead.  The easiest way to do this is to copy the components from one object to the other, by clicking the cog icon to the top right of each.

Save game resources
AC is able to save/load certain changes assets in your game, such as a Character's walk sound, or (in the case of Legacy-based Characters) standard animation clips, provided that these assets are placed in a Resources folder.  Pre-Unity 5, their placement in a Resources folder was the only requirement - but now, their filenames must also be unique.  This is because instantiated prefabs no longer share their Instance ID with their linked asset file (I told you it was obscure!)

And the full changelog:

Upgrade notes
  • Save game files made pre-1.45 will not be compatible with 1.45
  • Due to changes in Unity 5, Resources assets referenced by save game files must have unique filenames
  • With sprite-based NPCs, is is now advised to place their Hotspots and Box Collider 2Ds on the sprite child, rather than their root
Mecanim
  • Added: Ability for Mecanim characters to play head and mouth animations within the Dialogue: Play speech Action
  • Added: Ability to define a neck bone to Mecanim-based characters, for more accurate head turning
  • Fixed: Mecanim characters rarely playing walk animations inappropriately
Cameras
  • Added: GameCamera pitch angles can now be driven by more than just the target’s height
  • Fixed: GameCameras not always returning to their original position when restarting a scene in Unity 5
Hotspots
  • Added: Ability to override a Hotspot’s centre point (as used by icons and head-turning) with a separate transform
  • Changed: Ability to disallow Interactions when cursor is unlocked is no longer limited to Ultimate FPS games
  • Fixed: Player characters stopping abruptly, rather than smoothly, when reaching Hotspots
  • Fixed: Characters rarely not being able to move toward Hotspots with Direct-control movement
3D Characters
  • Added: Ability to temporarily lock Hotspot facing with “Player: Constrain” Action
  • Added: 3D character head-turning is now more natural-looking
Ultimate FPS
  • Fixed: Rotation problems with UFPS characters
Sound
  • Fixed: Paused sound occasionally resuming while a pause Menu is still turned on
  • Fixed: Volume of music set to play while paused not immediately updating when change in Options menu
Inventory
  • Added: Ability to display Crafting Menu elements as text-only
  • Fixed: Error when crafting a recipe that requires one of a particular ingredient
  • Fixed: Inventory icons showing at cursor even if set not to in the Cursor Manager
  • Fixed: Inventory interactions occasionally being ignored if they are enabled mid-game
Editor
  • Changed: Actions can no longer be copied while a game is running
  • Fixed: Creation of scene prefabs not being registered in Undo buffer
2D Characters
  • Fixed: 2D NPCs walking off the NavMesh when told to keep out of the Player’s way
  • Fixed: Characters lip-syncing with Salsa 2D not reverting to phoneme “0” when they stop talking
Other
  • Added: RememberMaterial component - add beside Renderer components to record changes in materials
  • Fixed: The start delay of a Cutscene being ignored if the Cutscene is re-run by itself
Don't forget to back your project up!  Upgrade instructions can be found in section 1.6 of the Manual.
«1

Comments

  • Interesting the layer approach to head/mouth animation.

    Just a quick question, since the axis velocity update the walking controls/camera feel a lot more "slippery", any suggestion on how to configure the inputs ?
  • What are you referring to exactly?  Do you mean with this update, or with v1.44?  They've both had some tweaks to Direct control (but not camera).
  • 1.44, I think the camera now takes de acceleration of the axis, I'm using my notebook right now so I have to use the touchpad, and it feels like the camera kinda slips off, putting more deceleration works better, but still feels kinda off, specially when walking/runnin and then stopping.

    After updating to 1.45 the movement of the character seems less "slidy" (a good thing).

    BTW cool to be able to change the center point of the hotspot, really handy.
  • awesome cant wait to try out head and mouth anims, I wonder if I can use the mixamo facial blend stuff for this :) look forward to installing this.. although my game is semi working so im worried about rebreaking it lol.
  • I've just learnt that AC is now 50% on the Asset Store until 15th May.  Any help spreading the word would be massively appreciated!

    @shredingskin: v1.44 brought an option to tie movement speed to axis magnitude, but that's all - check the movement settings within the Settings Manager.

    @radiantboy: The anim features aren't anything you couldn't do with the Character: Animate Action, but I found myself running such animations on new layers like that with my own game, so it made sense to add functionality there.
  • Congratulations Chris on the asset store feature! AC is the first entry in the Unity newsletter. Must feel awesome and it's rightfully earned. Hope you get lots of new sales.
  • Chris,

    I'm a new AC user, and I just wanted to take a moment to say what an impressive and full featured asset this is! Honestly, as I trolled through the possibilities, I came away stunned and excited. Fantastic work, and thanks!

    And I'll keep you posted as to the status of my global domination (and your private island)
  • Hello,

    Thanks for the update. Unfortunately I have a small issue now. The speed in which "Turn before walking" is done is to small and takes to much time to turn. Is there any way to adjust this?

    Also my Player ignores and moves through my NPC, and no longer pushes him aside.

    Thanks.
  • @Nick: What animation engine is your character using?  The turn speed should be the same then as when turning any other time - you can adjust the value in the inspector.

    The update fixed an issue where NPCs wouldn't adhere to the NavMesh when avoiding the Player.  Have you got a NavMesh assigned?  NPCs will need one to be able to move, now.
  • edited May 2015
    Thanks for the quick replay. The problem with "Turn before walking" was inside some custom script I made, I fixed it.

    Here is the problem with the NPC. I have a NavMesh, I don't want it to move out of my way(Keep out of Players way), just to stay on one spot and the Player to either move it and then make the NPC move back, or make that position like a dynamic hole inside NavMesh.

    image
    image

    Before the player moved the NPC when their collider meet. Thanks.
  • You can't make the NPC move-and-then-move back, but you can make the Player attempt to pathfind around him.  Select your NavMesh object, and look at the Navigation Mesh component - there'll be a checkbox marked Attempt to move around characters when pathfinding?  Is that set?
  • edited May 2015
    Yes, I have that checked, and I managed to get the NPC to move-and-then-move back using triggers.

    What I found out is that if OnStart Cutscene, for the NPC I use the Pathfinding checked at MoveToPoint then the Player ignores the entire game all the NPC colliders (navigation only). If I don't check Pathfinding then the Player "moves" the NPC when getting close to him, but now, having the Hotspot and BoxCollider2D on the Sprites GameObject for the NPC, both colliders, the circle-one from the parent and the box interact with movement and navigation.

    Is there any way to have those colliders to be treated separately? As in the BoxCollider2D from sprites not to be used by movement?

    I also made a small clip showing you what I mean: Video

    I added a screenshots:
    image
  • Hey Chris, another great update! Good to see it all works well with Unity 5. I just ugraded my project from 1.42 + Unity 4.6 over to the latest version of everything, and nothing really broke! 

    There were some weird things following changes in the way depth sorting and mecanim animation work, but I managed to figure out most of them. Had to uncheck root motion on all the Animators, some cameras had changed over to orthographic where they should be perspective or vice versa, and by far the one that took the longest to fgure out was that I had to turn off Frame Flipping for the characters, because now they actually flipped the entire character around instead of just the sprite. But everything seems to work more elegantly this way, I could remove a few rendering hacks I had in some cutscenes.

    Oh one question though: previously I had my setgeometry on different sorting layers - Background, Midground, Default (all characters and objects) and Foreground. I used this to sandwich characters inbetween layers and control their scale and sorting there using order in layer and sorting maps. But I found that in 1.45 the sorting layers don't really seem to do anything, I had to actually push the setgeometry on the Z axis to get it to look right again. This works fine, but was this an intended change?

    Also, did you change something about the menu transition speed setting? All menus faded wayyy slower than they used to so I had to crank it up.
  • @Nick: The script specifically looks for the Circle Collider when trying to move around an NPC, and the only other caveat is that the NPC is not moving.  You're saying that it all works if the NPC doesn't move to begin with?  This is getting too technical for this thread - please open a new one and we can continue there.

    @hedgefield: Have you been through the Upgrade notes for each release?  That's a fair jump between updates, so the notes in the changelog.txt will tell you of any such changes.  I don't quite follow you re: the setgeometry, so please also open a new thread for this.
  • edited May 2015
    @ChrisIceBox I checked the notes yeah, LOTS of changes to catch up on :)
    And about the setgeometry, simply put: I had everything in a scene positioned on Z-depth 0 and used sorting layers to seperate things. But in 1.45 it seems like characters ignore sorting layers and I have to physically push the setgeometry apart on the Z-axis for them to not render behind it. It's not a big deal but just wondering if that's a known thing.
  • @hedgefield: No - that sounds like a serious bug.  I will have to look into it, thanks for letting me know.  Does it occur right from when the game begins, or when you re-enter the scene?
  • @hedgefield: I can't find anything wrong with this - check your sorting order in layer values, which will also affect drawing order.  If you need to reply, please post in a new thread.
  • edited May 2015
    @ChrisIceBox I am also getting some sorting layer issues. I made a post in Engine Development for more specifics.
  • Same here, please specify when find you find out how to make the demo work properly with sorting. Also I'd export and send the scene if you need.
  • edited May 2015
    @zodiac13: Do you mean the included 2D Demo?  I can't see anything wrong with it.  Please be very clear about what trouble you're having - if you post a new thread with screenshots that demonstrate the issue, I'll be better able to help.
  • Ok, I've attached Follow the Sorting Map script to the player and now demo runs well. However, when I look at the Sorting Map in the Inspector I see that the Position value of the lowest red area is constantly increasing as cursor goes over the scene in the editor, seems wrong but I'm not if it's important.
  • The included player prefab for the 2D Demo, Brain, already has a FollowSortingMap component on his sprite child.  Are you referring to another player, or did it not import correctly?

    Thanks for the alert about the wavering end position.  It's so small as to be unimportant, but I will look to see if I can fix it anyway.
  • edited May 2015
    Well Brian from the demo works ok now, the problem was in that there was no NavMesh in Tags and Layers and Menu in Edit that you tell about in Tutorial.

    As for my own char - there really is a bunch of problems with it. It's made in Puppet2D so it has really many sprites at once. I've tried to attach Follow Sorting Map to every separate sprite and it still goes below objects. Wavering is present in all of the Sorting Layer areas. And also the char pathfinds with its 0 axis position which its chest and not the 2D Collider at feet.
  • If you download from the Unity Asset Store, then the Tags and Layers should import as well.  If you don't have them, the very first section of the manual, 1.1, covers what to do.

    Rather than placing many FollowSortingMaps on your character, I would recommend just placing one on the top-level sprite if you can, and then checking "Also affect children" in the Inspector, as well as "Offset original order".  This will allow you to use the original sprite's Order In Layer as an offset value, which will be added onto the value calculated by the Sorting Map, and is useful if you have multiple sprites on a character.  Brain uses this feature to give him a shadow displayed underneath him, as covered at the end of the 2D Tutorial.
  • A stupid but critical error was reported today, so v1.45a is now out.  The urgency of this bug meant I couldn't wait for the other reported issues to be included, unfortunately:
    • Fixed: Conversation Inspector not showing all fields
  • zodiac: Do it the way Chris recommended. You have to add a SpriteRenderer component (with no sprite attached) to the global control object as well, because the FollowSortingMaps script passes the sorting layer of the object itself to its children. If you have no renderer in the global ctrl, it won't work. Had the same issue just today.
  • Empty in what way - you mean the Interaction field is blank, or missing completey?  What is your "Interaction source" set to, at the top of the Conversation Inspector.
  • Hey Chris, sorry, is it ok for me to update? Since we did a file replacement for my problem... if that file won't get replaced again then I guess I should be fine?
  • For which problem?  v1.45a only fixed hidden conversation fields - everything else is scheduled for 1.46.
  • edited May 2015
    The resolution\variables one. Since I had replaced a script with a file that you sent me (RuntimeVariables), and, as you say, this update only fixes another problem, and I don't know exactly which files this update wants to overwrite, can I do it safely, without risking that it will revert this file to the previous one?
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Unity's Adventure Creator.