Search Unity

  1. All Pro and Enterprise subscribers: find helpful & inspiring creative, tech, and business know-how in the new Unity Success Hub. Sign in to stay up to date.
    Dismiss Notice
  2. Dismiss Notice

[RELEASED] Corgi Engine - Complete 2D/2.5D Platformer [new v7.0 : procedural gen, sound mgmt...]

Discussion in 'Assets and Asset Store' started by reuno, Dec 18, 2014.

  1. hotpeperoncino

    hotpeperoncino

    Joined:
    Apr 11, 2019
    Posts:
    6
    Hi, I'm newbie. I want to use 3D humanoid character, I could use the character in your 2.5d demo, but its foot does not touch on slope, it looks lacking IK. I tried to use an very simple IK, but i could not succeed in applying it.
    If you have an example to use foot IK in 2.5D scene with corgi engine, please teach the material or key point or URL . Thank you.
     
  2. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
    @hotpeperoncino > As I was saying in the posts right above yours, the engine doesn't do animation, Unity does. So you could setup feet IK like you would in any other Unity project. A simple way to do it would be to have a script hold references to both feet IK targets, raycast downwards from the waist, find hit points, and move the targets there. You can learn more about IK in Unity at https://docs.unity3d.com/Manual/InverseKinematics.html
     
  3. LaurieCF

    LaurieCF

    Joined:
    Jul 8, 2013
    Posts:
    10
    Hi Reuno,
    Thanks for your recent e-mail support. Asking this question here so future users might find it, since this is something you seem to be asked about periodically :) - using the weapons system to create a 'charge shot' (as in Megaman, for example).
    Looking at your earlier answers around this, I can see you've pointed users to the very helpful 'Delay Before Use' variable. This is a great start for what I'm looking for, as I need to hold the button down for the duration of the delay, and letting go before this cancels the 'charge'.
    I was wondering how you would advise setting it up so that once the shot is 'charged' it is not fired until the player lets go of the shoot button.
    I'm unsure what would be the best way to go about, but I can see a few functions in Weapon.cs, which seems like the area I would need look at.

    Many thanks in advance!
     
    Last edited: Jan 1, 2021
  4. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
    @LaurieCF > Right now there is no such feature, what I'd suggest would be to override the Weapon class, and add extra checks to its CaseWeaponDelayBeforeUse. Right now it just looks at elapsed time to see if it should proceed, you'd want to add an input condition.
     
  5. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
    @AltIvan > No, I didn't do anything. I don't care about your review (let's be real, nobody does), and didn't "get it deleted" (feel free to contact Unity to confirm that, if you've got time to spare). And please stop with the baseless accusations and insults, and maybe just move on with your life.
     
  6. neapolitanstudios

    neapolitanstudios

    Joined:
    Feb 17, 2011
    Posts:
    63
    Hi Reuno,

    I'm using Unity 2020.2.1f1 and I'm using v6.6 of the engine (according to the package manager) however, I am missing the automovement ability and demo scene. I've seen the comment on the FAQ, and I believe this should be working in this version of Unity.

    Edit: Nevermind, I got it working by redownloading the package in an older version of unity. It seems to be a package manager issue.
     
    Last edited: Jan 4, 2021
  7. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
    @neapolitanstudios > I'm glad you figured it out, thanks for letting me know. And yes, 2020.2 is unfortunately packed with bugs at the moment, the package manager especially is a complete mess :( Best to stay on more stable versions for now - I'd recommend the latest 2019.4.x.
     
  8. FNRocha

    FNRocha

    Joined:
    May 30, 2015
    Posts:
    7
    Hi, I am having some issues creating a MeleeWeapon, I started following the tutorial in this link : https://corgi-engine-docs.moremountains.com/weapons.html#weapon-laser-sight

    Goal:
    -Create a melee attack that prevents any kind of movement during the attack animation (jumping, crouching, walking...)

    Issue:
    1- It is also possible to jump, dash and perform other actions during this animation.
    (The sliding problem is already fixed by turning off "TimeBetweenUses".)



    My solution was to use an animation behaviour, like the following:
    /----------------------------------------------------------------------------------------------------------------/
    /----------------------------------------------------------------------------------------------------------------/
    public class Custom_StopMoving : StateMachineBehaviour
    {
    protected Character _character;

    // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
    override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
    _character = animator.GetComponentInParent<Character>();
    _character.Freeze();
    }

    override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
    _character.UnFreeze();
    }
    /----------------------------------------------------------------------------------------------------------------/
    /----------------------------------------------------------------------------------------------------------------/

    But I am getting this error:
    " The type or namespace name 'Character' could not be found (are you missing a using directive or an assembly reference?)"

    The error seems to be referring to this line "protected Character _character;".

    Should I be using the Freeze() Method for this problem?
    How should I reference the character script?
    Does anyone have any suggestions?
     
    Last edited: Jan 5, 2021
  9. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
    @FNRocha > Prevent Movement only has an impact on the CharacterHorizontalMovement ability, it prevents that movement, it doesn't prevent other abilities from being triggered, and these abilities may well have an impact on movement themselves.That's not only while the button is held though (at least not if you setup your weapon correctly for that goal). Hard to tell what's wrong in your case just from a video, but I'd recommend looking at the RetroComboSword weapon (or its parts, the combo doesn't matter in that context), it does prevent movement as expected, even if you just tap it.

    As for your second question, as your error suggests, did you add the using directive to use the CorgiEngine namespace in your new class? Usually in most IDEs you can just right click on that line (or on Character) and it'll do it for you.
     
    FNRocha likes this.
  10. neapolitanstudios

    neapolitanstudios

    Joined:
    Feb 17, 2011
    Posts:
    63
    Thanks!
    Another question. I've been playing with the automovement scripts, and so far it's amazing. Everything as working as I require almost out of the box. My only issue is that I can't find where to disable the horizontal movement (in the demo scene, you can still control the player using "a" and "d"). Disabling the horizontal movement script prevents automovement and crouching. I tried removing the keybinds from the input settings, but there is still some connection occuring. Did you have any ideas? Thanks!
     
  11. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
    @neapolitanstudios > that's not a feature at the moment, it's something you'd have to implement, but I can add it to the todo list if you'd like.
     
    javi_unity402 likes this.
  12. neapolitanstudios

    neapolitanstudios

    Joined:
    Feb 17, 2011
    Posts:
    63
    Thanks, that would definitely be useful! In the meantime I’ll keep digging around in the code and see if I can prevent movement somehow.
     
    reuno likes this.
  13. javi_unity402

    javi_unity402

    Joined:
    Nov 29, 2018
    Posts:
    33
    @neapolitanstudios Hope this helps in some way

    I also freeze character after shooting a ranged weapon.

    I get it with a combination of this:

    1.- Weapon -> Movement -> Modify Movement While Attacking ( 0 multiplier) + Prevent Horizontal Movement While in Use.

    2.- Disable Jump while weapon in use with this script (Character Ability) (excuse additional commented lines).

    Code (CSharp):
    1. using UnityEngine;
    2. using System.Collections;
    3. using MoreMountains.Tools;
    4.  
    5. namespace MoreMountains.CorgiEngine // you might want to use your own namespace here
    6. {
    7.     /// <summary>
    8.     /// TODO_DESCRIPTION
    9.     /// </summary>
    10.     [AddComponentMenu("Corgi Engine/Character/Abilities/Character Jump Prevent")]
    11.     public class CharacterJumpPrevent : CharacterAbility
    12.     {
    13.         /// This method is only used to display a helpbox text
    14.         /// at the beginning of the ability's inspector
    15.         public override string HelpBoxText() { return "Character can't jump after shooting"; }
    16.  
    17.         [Header("TODO_HEADER")]
    18.         /// declare your parameters here
    19.  
    20.         protected Weapon _weapon;
    21.  
    22.         /// <summary>
    23.         /// Here you should initialize our parameters
    24.         /// </summary>
    25.         protected override void Initialization()
    26.         {
    27.             base.Initialization();
    28.         }
    29.  
    30.         /// <summary>
    31.         /// Every frame, we check if we're crouched and if we still should be
    32.         /// </summary>
    33.         public override void ProcessAbility()
    34.         {
    35.             base.ProcessAbility();
    36.             ExitDisableJumpShooting();
    37.             DisableJumpShooting();
    38.         }
    39.  
    40.         /// <summary>
    41.         /// Called at the start of the ability's cycle, this is where you'll check for input
    42.         /// </summary>
    43.         protected override void HandleInput()
    44.         {
    45.  
    46.         }
    47.  
    48.         /// <summary>
    49.         /// If we're pressing up, we check for a few conditions to see if we can perform our action
    50.         /// </summary>
    51.         protected virtual void DisableJumpShooting()
    52.         {
    53.             // if weapon is reloading after shooting
    54.             if (_character.GetComponent<CharacterHandleWeapon>().CurrentWeapon.WeaponState.CurrentState == Weapon.WeaponStates.WeaponDelayBetweenUses)
    55.             {
    56.                 // if jump ability is already disabled, we do nothing
    57.                 if(!_character.GetComponent<CharacterJump>().AbilityPermitted)
    58.                 {
    59.                     return;
    60.                 }
    61.                 // disable jumping ability
    62.                 _character.GetComponent<CharacterJump>().AbilityPermitted = false;
    63.             }
    64.         }
    65.  
    66.         protected virtual void ExitDisableJumpShooting()
    67.         {
    68.             Debug.Log(_character.GetComponent<CharacterHandleWeapon>().CurrentWeapon.WeaponID);
    69.          
    70.             if ((_character.GetComponent<CharacterHandleWeapon>().CurrentWeapon.WeaponState.CurrentState != Weapon.WeaponStates.WeaponDelayBetweenUses)
    71.                 || !_character.GetComponent<CharacterHandleWeapon>().CurrentWeapon)
    72.             {
    73.                 if(_character.GetComponent<CharacterJump>().AbilityPermitted)
    74.                 {
    75.                     return;
    76.                 }
    77.                 // enable jumping abitily
    78.                 _character.GetComponent<CharacterJump>().AbilityPermitted = true;
    79.             }
    80.         }
    81.  
    82.         /// <summary>
    83.         /// Adds required animator parameters to the animator parameters list if they exist
    84.         /// </summary>
    85.         protected override void InitializeAnimatorParameters()
    86.         {
    87.             //RegisterAnimatorParameter ("TODO_ANIMATOR_PARAMETER_NAME", AnimatorControllerParameterType.Bool);
    88.             //RegisterAnimatorParameter (_headUpAnimationParameterName, AnimatorControllerParameterType.Bool, out _headUpAnimationParameter);
    89.         }
    90.         /// <summary>
    91.         /// At the end of the ability's cycle,
    92.         /// we send our current crouching and crawling states to the animator
    93.         /// </summary>
    94.         public override void UpdateAnimator()
    95.         {
    96.             //MMAnimatorExtensions.UpdateAnimatorBool(_animator, _headUpAnimationParameter, IsHeadUp, _character._animatorParameters);
    97.             //MMAnimatorExtensions.UpdateAnimatorBool(_animator, _facingRightAnimationParameter, IsFacingRight, _animatorParameters);
    98.         }
    99.     }
    100. }
    @reuno +1 to add some extra features to Weapon -> Movement

    *Edit typo
     
    Boom_Shaka and reuno like this.
  14. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
  15. neapolitanstudios

    neapolitanstudios

    Joined:
    Feb 17, 2011
    Posts:
    63
    @javi_unity402 Thanks for sharing! I’ll give that a crack when I get the chance.

    @reuno Thank you! That was fast! Is there any ETA on the next release?

    Also, if you’re wanting feedback on the auto movement feature. Another thing I added was the ability to resume moving from stop zones. I did this using the pausemovement and resumemovement functions in the auto movement script. I added an additional option to the drop down box in the trigger script and call the resume function when the jump input is pressed. Now it works like it does in super Mario run. I imagine this would be pretty easy for you to implement if you wanted to. :)
     
  16. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
    @neapolitanstudios > Yes, for once I have an ETA for the release. It's right now.

    So good news everyone, v6.7 of the Corgi Engine is now available on the Asset Store. As usual, it fixes all reported bugs to date, and brings quite a few new features : a complete loot system, character persistency, magnets, aim markers, inventory improvements, performance enhancements, and more! It has the same version requirements as 6.6 (Unity 2019.3.3f1 or higher), and hopefully should be available for download soon. Here are the full release notes :

    - Adds a new Loot system, letting you have enemies (and anything else) drop loot on death, or damage, or when prompted. The spawn position, area and settings can be customized entirely. Comes with a loot table system, and loot can be defined per spawning object, or globally, and an example of it in action in the RetroForest demo scene, where killed enemies now drop coins, stimpacks or extra lives at (controlled) random.
    - Adds the CharacterPersistency ability, that will allow you to keep the exact state of your character when moving from scene to scene
    - Adds Bouncy Projectiles, and an example of them in action in the Mountains demo scene.
    - Adds MMApplicationQuit, a simple class you can use to exit your game, easily pluggable to a UnityEvent slot
    - Adds MMAutoExecution, a simple class lets you trigger Unity events automatically, on Awake, Enable, Disable, Start, or on instantiate
    - Adds the LayerManager, a static class that holds ready-to-use references to layers and layermasks, and provides auto initialization for all public layermasks throughout the engine
    - Adds AIActionSetLastKnownPositionAsTarget, a new action that lets you use the last known position of your target as the new target (useful when, for example, you want a character to go where its prey was last seen)
    - Adds the Magnetic class that you can add on any object, and that will let it automatically move towards any target of your choice when it enter its range. Useful for magnetic coins, for example
    - Adds the MagneticEnabler class, that lets you automatically pick sleeping magnetic objects in range (for situations where you'd rather not have the magnetic objects perform range detection themselves)
    - Adds the AimMarker component, that you can use in conjunction with WeaponAutoAim to display an aim marker on, next to, or around your target. Adds an example of it in action in the FeaturesWeapons demo scene (pick the Hitscan Gun).
    - Adds a Random float animation parameter, that updates every frame, randomly between 0 and 1, and that you can use to add variations to your animations when entering a new state
    - Adds a new Curve mode to MMWiggle
    - Adds the RandomConstant int animation parameter, a random int (between 0 and 1000), generated at Start and that'll remain constant for the entire lifetime of this animator, useful to have different characters of the same type behave differently.
    - Adds the ForceStop public method to CharacterHandleWeapon to allow AIs to force exit
    - Adds an option to have the controller run on FixedUpdate rather than Update to accomodate very low framerates
    - Adds remap options and a better inspector to the float and shader controllers
    - Improves the way inventory item drop works. Items created on previous versions will need to have their drop properties redefined.
    - Adds an option to InventoryDetails to display details globally, regardless of target inventory
    - Adds a public method to add proximity managed objects at runtime
    - Adds MMFeedbacks hooks to all steps of the Teleporter sequence
    - Adds an option to AIActionPatrol to detect obstacles via custom layermasks and not just the controller's. This allows, for example, for AIs that change direction when encountering other AIs.
    - Adds options to FinishLevel and GoToLevelEntryPoint to customize fade, delay and freeze (time or character)
    - Adds support for HDR colors to the ShaderController
    - Improves MMDebug's methods' performance
    - Adds an option to the AutoMovement ability to disable horizontal input
    - Adds separate (and optional) deceleration values to the controller, to define unique deceleration values for air and ground movement, in addition of the existing acceleration ones
    - Adds options to CharacterInventory, InventoryWeapon and PickableWeapon to specify what HandleWeapon ability should equip the weapon
    - Adds delay support to AIActionFlyPatrol.
    - Adds the InvertHorizontalAimWhenWallclinging option to CharacterHandleWeapon, that lets you shoot away from a wall when wallclinging.
    - Adds a Stunned condition state
    - Adds an option to WeaponAutoAim to have the aim origin be either set to the weapon or its owner.
    - Adds options to CharacterInventory to automatically add items on init to inventories, and to add and equip a weapon
    - Adds a public method to the Zipline to reset its position (and a debug button in its inspector to test it).
    - Projectiles now move on FixedUpdate
    - AppearDisappear's ChangeState method is now public
    - Adds extra security checks to CharacterInventory
    - Improves jetpack's performance when consuming fuel/refueling
    - Improves all abilities' ResetAbility, making the node swap ability safer.
    - MMHealthBar's initialization now happens at Awake
    - Weapons in ReloadNeeded state now force the weapon to turn off
    - Stompable's detection now runs at LateUpdate
    - Fixes the crouch collider size on the RectangleWithInventory prefab
    - Fixes the MinimalRocketLauncher's aim settings
    - Fixes a missing teleporter fade transition in RetroAdventureLevel1
    - Fixes a bug that would cause gravity points to work incorrectly when the CorgiController's StickToSlopes mode was on
    - Fixes a wrong setup in the Brobro demo character's swappable abilities that would cause the weapon to not flip correctly sometimes
    - Fixes a wrong touch button binding in the Lava demo scene
    - Fixes a potential null exception on AIShootOnSight if only AIs were present in the scene.
    - Fixes a layer issue with the two doors in the RetroPush demo scene
    - Fixes a wrong layer setup in the MinimalMovingPlatforms demo scene
    - Fixes a bug that could cause the weapon to not flip and rotate correctly for a frame
    - Fixes a typo in the billboard displaying the controls at the start of Mesa1
    - Weapon's ForceWhileInUse now takes facing direction into account
    - Fixes a bug that would cause weapons to keep firing after grabbing a ladder with shoot from ladders disabled.
    - Fixes a bug that would cause MMMonoBehaviours inspectors to not draw correctly
    - Fixes a bug that could cause multiple weapons to get equip requests if the inventory contains multiple weapon clones
    - Fixes a bug that would prevent Character.FindAbility to return true for extended versions of abilities when looking for their parent
    - Fixes a bug that could occur when unequipping a weapon from a main inventory while a clone of it was equipped
    - Fixes a bug that could cause AIDecisions to grab their associated AIBrain too late in the initialization cycle
    - Adds the Cinemachine Pixel Perfect extension to all cameras in the RetroVania demo scene
    - Tweaks a few enemy AI behaviours in RetroAI
    - All ButtonActivated classes (Teleporter, DialogueZone, FinishLevel, TimeZone, KeyOperatedZone, etc) now use inspector groups for improved readability
    - Centers the MinimalLevel objects in the scene
    - Tweaks the collider settings of the Retro AIs
    - CharacterJump's JumpTimeWindow delay setting is renamed CoyoteTime
    - Removes unused PickAsMuchQuantityAsPossible attribute in ItemPicker
    - Updates Cinemachine to v2.7.1

    I hope you'll like this new update!
     
  17. javi_unity402

    javi_unity402

    Joined:
    Nov 29, 2018
    Posts:
    33
    reuno likes this.
  18. teasymith

    teasymith

    Joined:
    May 30, 2020
    Posts:
    9
    Hey there, just purchased the Engine and so far loving it. New to the whole game dev stuff but trying my best.
    I have specific question/request though. Are you planning to upgrade switch character/model by adding specific input (instead of seq. or random) to change, or is that it? If it is possible for you and think it might be useful for the general public, of course. Just asking if I should try to workaround this by modifying the script myself and its input although you just released a new patch (awesome updates btw) so it is highly unlikely to make it in time, but perhaps, for my future projects.
    Either way, have a nice day and a new year!
     
  19. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
    @fhaaruk > As far as I can tell that's the first time such a feature is requested. I can add it to the todo list of course. I'd say unless a lot of people suddenly start also requesting it, it's unlikely to make it into the next release. Let me know if you have issues implementing it yourself.
     
    teasymith likes this.
  20. teasymith

    teasymith

    Joined:
    May 30, 2020
    Posts:
    9
    @reuno Thanks! I haven't had the time yet, but reading Switch manager code, I am thinking of adding multiple inputs (&inputmanager) to the update() which will be fed to the switchcharacter coroutine which should change to a specific index based on that. But again, I am new to C# and programming in general, so there may be a better way to pull it off. However,if I write code in them, I am guessing next time I import them in a new project they won't be there. Can you suggest me a solution how to avoid that? (Simple copy/paste to a new folder?)
     
  21. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
    teasymith likes this.
  22. teasymith

    teasymith

    Joined:
    May 30, 2020
    Posts:
    9
    @reuno Ah, completely forgot about inheritance. Thanks for the link!
    Not exactly sure about how I implement it. Do I make a new script that inherits (eg : CharacterSwitchManager) and just add the necessary override functions, while both scripts are part of the character in the inspector.
    Or, is there a way to call the parent class (like base.xyz but the whole class) and just add the extended script to the inspector? Maybe something like CharacterSwitchManager xyz = new CharacterSwitchManager(); add it to the Update() and then override?

    Sorry for bugging you with the questions man, your help is really appreciated!
     
  23. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
    @fhaaruk > Yes, usually you'll extend the base class, override the methods you're interested in. Or you could create a new class that "pilots" the parent class. You'll find examples of the former in the engine itself, CharacterDamageDash for example.
     
  24. teasymith

    teasymith

    Joined:
    May 30, 2020
    Posts:
    9
    @reuno Thanks for that example, seeing in actual practice cleared lots of things. However, one question I asked is still a little relevant. DamageDash overrides 3 functions, but the ones it overrides does not have inputs. Does this mean both Dash and DamageDash script has to be present in the prefab's inspector (so it can get inputs from Dash)? Or, just because it inherits, it will automatically call all the functions by itself with the overridden versions? I'm sorry couldn't find DamageDash in any demo level (perhaps I missed it) to check it how it is implemented in-game.
     
  25. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
    @fhaaruk > No, you'd only need one. The methods that are not overridden are left unchanged. I'd recommend reading Unity's documentation about how inheritance to learn more about it, links are in the Corgi Engine documentation I linked earlier.
     
    teasymith likes this.
  26. teasymith

    teasymith

    Joined:
    May 30, 2020
    Posts:
    9
    @reuno Alright, thank you again!
     
    reuno likes this.
  27. teasymith

    teasymith

    Joined:
    May 30, 2020
    Posts:
    9
    welp, for anyone wondering, this is how I solved it for now. It is possible that this is not the most elegant solution and because I don't know which key combination would work best, I wanted quick access *to edit the keys. Add this instead of the original manager to a new game object.
    Might help someone:
    Code (CSharp):
    1. using UnityEngine;
    2. using System.Collections;
    3. using MoreMountains.Tools;
    4. using System.Collections.Generic;
    5. using MoreMountains.InventoryEngine;
    6.  
    7. namespace MoreMountains.CorgiEngine
    8. {
    9.     public class CustomCharacterSwitch : CharacterSwitchManager
    10.     {
    11.         public KeyCode[] customSwitch;
    12.  
    13.         protected override void Update()
    14.         {
    15. //by not including base.Update(), it simply bypasses "P" key
    16.             for (int i = 0; i < customSwitch.Length; i++)
    17.             {
    18.                 if (Input.GetKeyDown(customSwitch[i]))
    19.                 {
    20.                     StartCoroutine(SwitchCharacter(i));
    21.                 }
    22.             }
    23.         }
    24.     }
    25. }
    Much thanks again to @reuno for his help! (and for the awesome engine ofc)

    Edit: realised new int variable is pointless. Even shorter
     
    Last edited: Jan 7, 2021
    Boom_Shaka and reuno like this.
  28. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
    @fhaaruk > That's a very good way to do it
     
    teasymith likes this.
  29. teasymith

    teasymith

    Joined:
    May 30, 2020
    Posts:
    9
    Thanks!
     
  30. FNRocha

    FNRocha

    Joined:
    May 30, 2015
    Posts:
    7
    OH it worked nicely! I forgot the "using MoreMountains.CorgiEngine;"
    As always you provide great support, very quick to answer and on point.
    Thank you, this is a great engine.
    I will make sure to leave a good review in asset store.
     
    reuno likes this.
  31. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
    @FNRocha > I'm glad it's working now, thanks for letting me know!
     
  32. unity_YoaP2NCvxCuybA

    unity_YoaP2NCvxCuybA

    Joined:
    Mar 16, 2019
    Posts:
    17
    "- Adds separate (and optional) deceleration values to the controller, to define unique deceleration values for air and ground movement, in addition of the existing acceleration ones"

    Can I make Mario like inertia, movement when he "skids" after changing directions after running?
     
  33. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
  34. matttardiff

    matttardiff

    Joined:
    Feb 27, 2018
    Posts:
    28
    I'm using the Unity Xbox controller mapping reference from online. I'm fairly comfortable moving around the Input manager and while this is not necessarily a Corgi Engine issue, I'm hoping someone from this community can help. My character crouches as expected pull back on the left stick. But she won't play the crawl animation unless I press on the stick (joystick button 8) The problem is, I can not find it anywhere in the Input Manager where I can change or stop that from happening. I've checked the vertical in player 1-4 slots. Any ideas? I wish so bad that you could do a search within the Input Manager
     
  35. teasymith

    teasymith

    Joined:
    May 30, 2020
    Posts:
    9
    @reuno hey it's me again, just a theoretical question**. I would like to make a grappling hook weapon, but ALL of the tutorials ask for rigidbodies and joints, in other words, physics -- which the engine does not have. Because I'm a newbie, I don't want to mess a lot with the engine, and add 412321 feature I cannot produce on my own, but rather make games with 2-3% improvements each time and learn from that.
    **The question: is it possible to do a grappling weapon with the raycast methods (aka without physics, rigidbody, joints)?
    I don't want to modify the engine by adding physics just for one single feature, nor not sure how to exactly implement or how it would collide with already built-in systems. Not asking you how to do it (although quite welcome:D) but rather, can you think of a way in a moment to implement a grappling gun? A simple yes or no is also sufficient. If no, I don't think there is a point of 'inventing' something this early in my """""career""""" . Either way, thanks for reading and much thanks if you reply!
     
  36. Boom_Shaka

    Boom_Shaka

    Joined:
    Aug 31, 2017
    Posts:
    141
    @fhaaruk - full disclaimer: this one is over my head, but sometimes I try to answer these questions to test my own knowledge/skill

    Take a look at the zipline code. It seems to me you can place "grip" on the enemy and set your pull speed, then place "anchors" on both player and enemy.

    You'd have to figure out a way to trigger it - maybe have the objects disabled until the weapon "fires"? - but that's where I'd start.

    Discord channel can probably give you some better pointers.
     
  37. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
    @fhaaruk > Yes, it's possible, it's just a matter of computing trajectories. Most "good" grappling hooks in 2D games are not using physics. Some people on Discord have done so, maybe you could ask over there.
     
  38. teasymith

    teasymith

    Joined:
    May 30, 2020
    Posts:
    9
    @reuno @Boom_Shaka thanks for the response! I’ll try my luck in Discord tomorrow. Not sure if I should post here if I can come up with solution, to not clutter the forum:D
     
    reuno likes this.
  39. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
  40. unity_YoaP2NCvxCuybA

    unity_YoaP2NCvxCuybA

    Joined:
    Mar 16, 2019
    Posts:
    17
    - Adds the InvertHorizontalAimWhenWallclinging option to CharacterHandleWeapon, that lets you shoot away from a wall when wallclinging.

    Question, I have a character with 2 weapons, one is Melee weapon. and other one is Gun tipe weapoin, I am trying to test the "InvertHorizontalAimWhenWallclinging" by clicking on "Invert Horizontal Aim When Wallclinging" Checkbox on both Character Can handle Weapons, with no results. It just keeps shooting at the wall with both weapons, what do I have to do? Thanks!
     
  41. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
    @unity_YoaP2NCvxCuybA > That shouldn't be the case.

    Just gave it a try :
    - fresh install of 2019.4.17f1
    - import Corgi Engine v6.7
    - open the FeaturesWeapons demo scene
    - select the RectangleWithInventory prefab in your Project panel, check InvertHorizontalAim on its CharacterHandleWeapon component
    - press play, grab the machine gun to your right, equip it, run to the wall to the left, shoot while clinging to the wall
    - aim is reversed as expected

    Looking at the code, I can't see any reason why it wouldn't work, unless of course if your weapon can't aim.
    If your issue persists, please use the support form and provide repro steps like these, ideally in any of the demos, and I'll be happy to investigate more for you.
     
  42. andrin_man

    andrin_man

    Joined:
    Mar 9, 2014
    Posts:
    28
    Having an issue updating to v 6.7. The package manager window says I have 6.7 downloaded. I deleted the corgi engine folder and then installed from the package manager but version 6.6 installs again. I have done this 3 times now with the same result. Any thoughts?
     
  43. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
    @andrin_man > I guess you're using 2020.1 or 2020.2, which are unfortunately riddled with bugs right now. The package manager especially is barely usable, as it downloads almost systematically now wrong versions of assets. I'd recommend emptying your package manager's cache, and sticking to a more stable release (2019.4).
     
    Grafos likes this.
  44. liquidsht

    liquidsht

    Joined:
    Jun 4, 2020
    Posts:
    49
    Is there a demo scene where there is an example of using the SaveLoadManager? preferably working together with the inventory system, ie saving the game with inventory?
    I am not very good at programming and having trouble to understand where to start with the Save/Load system and also how to integrate it with inventory. Thanks.
     
  45. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
  46. XavierSubsonic

    XavierSubsonic

    Joined:
    Jan 18, 2020
    Posts:
    8
    Hi Reuno, I'm trying to build a character from scratch using the 2D animation tool that comes with unity and the bone system. I've just added the Corgi Controller and I have only one Idle animation on it for now.

    So when I press play it stands in an idle animation on the platform which is fine but the whole character has a little up and down shake and the value circled in red in the screenshot keep switching. It swaps between grounded and falling and the Colliding Below switch from True to False too.
    Not sure how to fix this or what is causing this, any guess would be appreciated. thx

    upload_2021-1-23_0-2-44.png
     

    Attached Files:

  47. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
  48. XavierSubsonic

    XavierSubsonic

    Joined:
    Jan 18, 2020
    Posts:
    8
    Ok thx for your quick reply, on some online videos they say its better to have a circle collider for the buttom part to create less friction in slopes but I figured that with your setup since the rays are casted from the box collider that I should delete the circle collider. In the latest version I have only a box collider and it still shakes. I already checked that page and watched that video few times. I'll re-check if I can find the problem.
     
  49. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,211
    @XavierSubsonic > From your screenshots, it seems like there are many issues, and that your character got created very differently than how it should have been. Check the documentation, look at the many examples provided in the asset, and you'll fix your problem. If your issues persist, please don't hestiate to use the support form, and provide exact steps to reproduce your issue, I'll be happy to help.
     
  50. XavierSubsonic

    XavierSubsonic

    Joined:
    Jan 18, 2020
    Posts:
    8
    yeah well I'm trying something different in unity instead of just replacing sprit I have a full rigged character inside unity so I followed few different sources of infos, I might have broken somthing. thanks much I'll start over .
     
unityunity