Search Unity

  1. Get the latest news, tutorials and offers directly to your inbox with our newsletters. Sign up now.
    Dismiss Notice

[RELEASED] Corgi Engine - Complete 2D/2.5D Platformer [new v6.6 : ability split, recoil, hitscan...]

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

  1. CheMBurN

    CheMBurN

    Joined:
    Dec 13, 2020
    Posts:
    7
    Hi Reuno! Just bought the asset and it seems excellent!

    A quick question (sorry if its already been asked). I imported the asset into an existing project I've been working on for a while now - basically I bought the asset to say goodbye to physics based controls (which was giving me a real hard time) and to implement a controller like yours.

    What is the best way to ease the implementation into an existing project? Basically, I already have an extensive framework set up so I at the moment all I would need is a character controller using the Input System. I would very much prefer not to have to work with the asset's level manager class (from a refactoring perspective) What are the bare minimum components required to get my character to move left and right?

    I don't need a complete solution or anything, just an idea of this is possible and I'll try and proceed from there.

    Ninja Edit: Played around a bit. The minimum components seem to be an Input system manager, Character and CorgiController and CharacterHorizontalMovement. Am I correct?
     
    Last edited: Apr 22, 2021
  2. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @CheMBurN > Like all "complete projects" assets on the store, it's best to install it in an empty project, that's how they're intended to be used. Usually you'll want to port anything else into it afterwards.
    If that's not possible, you'll have to merge all project settings into your project. Any diff tool will do the job for that, they're just text files.
    As for minimum scene requirements, there's a section of the documentation dedicated to that : https://corgi-engine-docs.moremountains.com/minimal-scene-requirements.html
     
  3. CheMBurN

    CheMBurN

    Joined:
    Dec 13, 2020
    Posts:
    7
    Thanks for the quick response!

    Damn how'd I miss that. It says the LevelManager is mandatory however the very basic movement seems to work without it. Is it mandatory if I'm using just the basic movement abilities?
     
  4. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @CheMBurN > Nothing is really "mandatory" if you replace systems with others. The level manager is only mandatory if you want things to work out of the box. If you reimplement its scope, or replace it with something else, you can do without it.
     
    CheMBurN likes this.
  5. CheMBurN

    CheMBurN

    Joined:
    Dec 13, 2020
    Posts:
    7
    Hi Reuno! Managing to make some decent headway in implementing CE into my project. A quick question, I'm trying to extend the InputManager class to accomodate my own InputActions asset - I've used your BindButton method and added my buttons to the MMInput. However, this still triggers a null reference on the character abilities when it attempts to get button state [if(_inputManager.DashButton.State.CurrentState == MMInput.ButtonStates.ButtonDown)]. Any idea what I might be missing?
     
  6. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @CheMBurN > No, without any detail, no idea. I'd recommend looking at the "new input system" integration that is included in the engine, for a reference of how to extend the InputManager. There's also a Control Freak 2 extension in the extensions repo you could look at.
     
  7. mk7gwc

    mk7gwc

    Joined:
    Mar 3, 2016
    Posts:
    21
    thanks reuno

    The advice helped me achieve my goal.
     
    reuno likes this.
  8. tbs9

    tbs9

    Joined:
    Oct 5, 2020
    Posts:
    2
    Hi Reuno. Bought the asset on 12/4/21 and it's my 2nd one from you (I bought the runner engine as well). I've ran into 3 issues regarding the RetroAdventure Demo project, tried checking the detailed documentation (which I recommend everyone should) but couldn't find a solution.

    Unity Version 2019.4.11f1
    Corgi Engine version 6.7

    Issue 1
    I duplicated RetroAdventure1 scene & renamed it as RetroAdventure2 and deleted the original RetroAdventure2. Then when playing & completing RetroAdventure2, clicking next level brings me back to RetroAdventure2. So now, I'm not sure what I must modify to make sure that this duplicated RetroAdventure2 will bring me to RetroAdventure3 when completed. Common sense would tell me to go to the LevelComplete Splash screen and edit the 'Next Level' button, but in it there's nothing to change.

    Issue 2
    Quite a similar issue to above but in RetroAdventureLevel Selection scene. I duplicated Level 5 node and renamed it as Level 6. Changed scene name to RetroAdventure6 in its component. Edited the RetroAdventureProgressManager(in Level Selection scene and Prefab) to add a 6th scene as well. In project section, I duplicated RetroAdventure3 and renamed as RetroAdventure6, then added it in build settings. But completing RetroAdventure6 will bring me to RetroAdventure4 instead of 7. So, I'm stuck there.

    Issue 3
    After completing Level 5, clicking next level will bring me back to the Level Select scene instead of the next level. You mentioned in an older post to ScotianWolf that it's because the exit scene in that level wasn't changed but I can't find that 'exit scene'. Was wondering if you could help on that too?

    Thank you Reuno.
     
  9. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @tbs9 > Please use the support form to report issues, thanks.

    1. Probably a ProgressManager conflict somewhere.
    2. Probably the same issue as above, make sure all ProgressManagers across all scenes in your flow are consistent.
    3. Same issue as the 2 points above, I'd guess.

    You'll want to make sure all your ProgressManagers have the same settings. They're supposed to be a prefab, but the CharacterSelection and LevelSelection ones aren't right now (the next update uses ScriptableObjects for that instead, so you - and I - can't go wrong anymore). The best way to go is to put the same prefab in all scenes, and edit only once.
     
    tbs9 likes this.
  10. tbs9

    tbs9

    Joined:
    Oct 5, 2020
    Posts:
    2

    Thank you Reuno for the speedy reply! And my apologies, any future issues I'll use the support forum. Have a good day!
     
    reuno likes this.
  11. cficara

    cficara

    Joined:
    Sep 27, 2017
    Posts:
    15
    I'm wondering something and not planning to reinvent the wheel.

    Is there a way to ignore certain bullet collisions at runtime?

    Players and enemies uses the same bullets. I would like the enemy bullets to ignore other enemies but hit the player. I know this can be done by layers and creating specific bullets, but don't want to do two different set of the same bullets.

    It should be easy to do it via code. Not sure where, on the Health() component? Thanks tons!

    EDIT: I see
    _ignoredGameObjects
    on
    DamageOnTouch.cs
    which might do the trick, but this means I need to hack my way in. Is there another way?
     
    Last edited: Apr 29, 2021
  12. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
  13. cficara

    cficara

    Joined:
    Sep 27, 2017
    Posts:
    15
    Alrighty, thank you. So, the idea is more or less like this:

    1. Create a script, like BulletIgnore.cs, attached to bullet prefab.
    2. That script grabs the owner of the weapon that is shooting this bullet.
    3. If the owner is an enemy, then IgnoreGameObject for all enemies.
    Something like that? If there's some example, it would be super helpful, as this might be a common occurence. Thanks!
     
  14. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @cficara > No, there is no example, and you're the first person to mention this in 6 years :)
    It seems quite specific, I think the best approach would be to simply implement a dedicated system for this, it doesn't even have to interact with any of the engine's classes, it's unrelated. Just the layer API would be enough.
     
  15. cazoulable

    cazoulable

    Joined:
    Dec 19, 2020
    Posts:
    1
    Hello ! I have this weird inspector bug when I use
    MMInformation
    . Basically the next property will not display.
    You can see multiple examples in the screenshot.
    Usually, I should see
    DebugSpawn
    before the
    LevelStart
    checkpoint prefab. Or
    Intro Fade Duration
    at the beginning of the "Intro and Outro durations" section...

    I don't know if this is a known bug, or if there is an easy fix... If anyone can think of a solution... I tried but couldn't figure it out by myself.
    Thanks :)
     

    Attached Files:

  16. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @cazoulable > This is due to a Unity bug (next update will include a workaround until this gets fixed, if it ever does).
    In the meantime an easy fix is to either remove the attributes, or rollback to the safe shores of Unity 2019.4.x if you can.
     
    cazoulable likes this.
  17. cficara

    cficara

    Joined:
    Sep 27, 2017
    Posts:
    15
    Solved it :D


    Same bullets for both, circle ignores collision depending on who is shooting. Added a very small change on
    Colliding
    over DamageOnTouch.cs

    Yay :)
     
  18. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @cficara > Good job! That's a trippy circle!
     
  19. matttardiff

    matttardiff

    Joined:
    Feb 27, 2018
    Posts:
    28
    I don't believe this has anything to do with the Corgi Engine but I have to ask just in case I'm wrong.
    Has anyone had issues with, after build then loading the game where the controller has to be unplugged and plugged back again before it works? There are other people online with similar issues that don't use this engine but I have to rule it out.
     
  20. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @matttardiff > Nobody's reported that related to the engine.
    The engine is "just" reading input from the Unity Input API, it doesn't have the "power" to cause that. Could be a bug in Unity, or a driver issue, for example.
     
  21. matttardiff

    matttardiff

    Joined:
    Feb 27, 2018
    Posts:
    28
    Thanks @reuno I'm wondering if it would be wise to switch to their new input system. But it also terrifies me to make any big adjustments like that mid project. I'll gather advice around the net before I make any rash decisions.
     
  22. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @matttardiff > in the current state of that system, I wouldn't recommend it. The engine will work with both though.
     
  23. matttardiff

    matttardiff

    Joined:
    Feb 27, 2018
    Posts:
    28
    @reuno Good to know, I'll ask the programmer to figure it out.
     
  24. Bleumion

    Bleumion

    Joined:
    Aug 5, 2020
    Posts:
    1
    Anyone has the same problem as me? I get a warning message when importing Corgi Engine. Message is "Mesh 'default' was larger than 65k vertices but uses 16 bit index format. Split into 2 parts: 'default_MeshPart1'." Unity version : 2019.4.20f1 Personal, Corgi Engine - 2D +2.5D Version: v6.7 • Jan 6, 2021. No other assets installed into the project. SCapture.PNG
     
  25. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @Bleumion > That's a (very) harmless import warning, simply clear the console and you'll never see it again.
     
  26. cficara

    cficara

    Joined:
    Sep 27, 2017
    Posts:
    15
    Minor question, is there a way to adjust the pitch of all sounds played by SoundManager ?

    Basically, I'd like to adjust sounds when slow motion is on. Thanks tons <3
     
  27. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @cficara > No, right now there isn't.
     
  28. nitekrawler

    nitekrawler

    Joined:
    Dec 8, 2013
    Posts:
    11
    How can I update a touch button's state from a script of my own?
     
  29. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @nitekrawler > I assume you're referring to a MMTouchButton?
    If yes, its CurrentState is public, you can access it from anywhere. Modifying its state via script is definitely not something I'd recommend, but it's possible if you want to.
     
  30. nitekrawler

    nitekrawler

    Joined:
    Dec 8, 2013
    Posts:
    11
    I seem unable to do so. It gives me an error that that states the set accessor is inaccessible.

    I really just want to activate abilities jump, jetpack, etc. I thought the easiest way would be changing the MMTouchButton state in the script that rolls my own touch controls. What would you recommend?
     
  31. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @nitekrawler > That'd be possible, but quite hard to maintain and even setup. These buttons read input, you could fake their various states, but it'd be a lot of work, comparatively.
    You could try calling their OnPointerDown, OnPointerUp methods though. I have to admit I've never tried it, but could be worth a shot, and easier than targeting states themselves.

    If all you want to do is activate abiltiies though, you'll find plenty of examples throughout the engine. AI abilities for example would be a good reference. It usually comes down to getting a reference to the player (the LevelManager provides you with that), then (usually) caching abilities and calling the methods you're after.
     
    nitekrawler likes this.
  32. nitekrawler

    nitekrawler

    Joined:
    Dec 8, 2013
    Posts:
    11
    Thank you. Grabbing the reference to the player's abilities was exactly what I needed.
     
  33. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
  34. starvanger

    starvanger

    Joined:
    Oct 4, 2010
    Posts:
    17
    Hi reuno,

    just got into your engine as a contractor and got of course my seat.
    We will have a robot character. So far as 2d spriteanimation.
    But now we need to evaluate, how to set it up best.

    The character should be able to run/crouch and while running/crouching, throwing a grenade, with one arm doing a throw animation.
    To be able to have the running and throwing animation independently, I think it gets hard to do that with sprites?
    I am not sure, if it is possible to handle sprite animations with a second layer in the animator using your engine?
    Of course I know, it would be possible to use something like spine, but that is not how we started our setup.

    What do you think would be best to use with your engine in this case?

    Thanks in advance

    Starry
     
  35. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @starvanger > the engine doesn't do any animation, Unity does, so that problem could be tackled like in any other Unity project. I suppose I'd go with Spine for something like this, but there are plenty of other options. Multiple animators that you replicate, for example.
     
  36. starvanger

    starvanger

    Joined:
    Oct 4, 2010
    Posts:
    17
    Well, I just wondered, if I could control e.g. a second layer with corgi.
    Thanks for the quick answer.

    Starry
     
  37. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @starvanger > The engine just updates animation parameters, so you can absolutely use them on separate layers, no problem there :)
     
    starvanger likes this.
  38. ifhd

    ifhd

    Joined:
    Jul 20, 2020
    Posts:
    5
    How Can you Add collapsible platforms and Walls.
    They collapse after few seconds from being touched by the player and will respawn after few seconds. I saw
    Appear and Disappear platform with AppearDisappear.cs in RetroForest. I can change the start to player contact witch made them only start to disappear after I step on them but, when i fell, they started to appear and disappear with out the player contact.
     
    Last edited: May 12, 2021 at 8:35 PM
  39. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @ifhd > right now the engine comes with the Appear/Disappear script you've already found. Feel free to extend it to implement your own specific rules.
     
  40. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    Good news everyone, I've just pushed v7.0 of the Corgi Engine to the asset store.

    This major update comes packed with new features : roll ability, procedural generation, advanced sound management, damage floaties, a brand new MMFeedbacks system, latest Inventory Engine, latest Nice Touch, etc.
    As usual, it also fixes all known issues to date. Expect a few days until it hits the store. Here are the full release notes :

    - Adds the roll ability, and an example of it on the RetroCorgi demo character. The roll ability will let you (optionnally) dodge attacks, and acts like a grounded dash that follows slopes.
    - Adds the MMSoundManager, a brand new sound manager packed with features and optimized for performance. It'll let you play/stop/pause/resume/manage sounds, with a massive amount of (optional) parameters. It comes with built-in pooling, audio mixer support, ready made tracks (master, music, sfx, UI), track controls to mute/pause/etc entire tracks, save and load mechanics, fades, solo mode, and a very pretty inspector.
    - Adds the MMSoundManager Sound Feedback, that lets you play a sound with full control over its settings
    - Adds the MMSoundManager Sound Control Feedback, which lets you play/pause/resume/stop/free a specific sound
    - Adds the MMSoundManager Sound Fade Feedback, to fade a specific sound to a destination volume
    - Adds the MMSoundManager Track Control Feedback, to play/pause/resume/stop/free an entire track at once
    - Adds the MMSoundManager Track Fade Feedback, to fade an entire track to a destination volume
    - Adds the MMSoundManager Save & Load Feedback, to save or load sound settings without a line of code
    - Adds the MMSoundManager All Sounds Control Feedback, to control all sounds playing in the MMSoundManager at once
    - Adds an example of procedurally generated levels using various tilemap grid generators. Adds an example of it in the RetroProcedural demo scene
    - Adds MMFeedbackCorgiEngineFloatingText, that lets you display damage text from a Health component, and an example of that on the enemies in the RetroAI demo scene
    - Adds reflective water in room 7 of the RetroVania demo scene
    - Adds the MMInputExecution helper, a class used to store MMInputExecution bindings, associating a target keycode to UnityEvents
    - Adds MMFaderDirectional, a new type of fader that slides a panel from or to the top/left/bottom/right
    - Adds the MMAdditiveLoadingScreen, a new loading manager, that offers plenty of options and events for full customization
    - Adds MMFaceDirection helper
    - Adds AIActionReload and AIDecisionReloadNeeded, which will let your AIs interact with reload mechanics
    - Adds MMFeedbacks v2.0, packed with a ton of new content
    - Adds Inventory Engine v2.0
    - Adds Nice Touch v1.5
    - Adds new methods to the LevelManager to define what loading method to use, what loading scene, and what loading settings.
    - Adds built-in support for additive scene loading to the LevelManager, and an example of it in the RetroProcedural demo scene
    - Adds public init method to MMPath
    - Adds an option to MMHealthBars to set an initial rotation to drawn bars
    - Adds ForceFlipTowardsDirection option to CharacterWallJump, an option to force the character to face its jump direction without input
    - Adds ForceAnchorToGroundOnExit option to the Ladder ability
    - Adds a SetCanJumpStop(bool) method to CharacterJump, to prevent the current jump from being proportional (releasing won't cancel the jump/current momentum)
    - Adds TimeSinceLastButtonDown and TimeSinceLastButtonUp to MMInput
    - Adds Input Buffer Duration to the CharacterJump ability : if the character lands, and the jump button's been pressed during that InputBufferDuration, a new jump will be triggered, and an example of that on the Rectangle demo character
    - Adds a new option to checkpoints to let them force themselves as the new checkpoint when encountered.
    - Adds a new checkpoint mode to the LevelManager, to have checkpoints not be ordered only by position, but by their specific order ID. This allows for non linear level checkpoint layouts, great for metroidvanias.
    - Adds options to AutoRespawn to bind an agent to one or more specific checkpoints
    - Adds (optional) amount limitations to AutoRespawn, to define how many times an agent can respawn
    - The Room system and points of entry can now be used together
    - Adds a SetDamage(int) method to the Projectile class, letting you control or randomize its damage on spawn
    - Adds (local) multiplayer support to the CharacterSwitchManager
    - Adds options to WeaponAim and WeaponAutoAim to add slope orientation angles or not (and dynamically toggle these based on whether or not a target is locked or not)
    - Adds an option to AIActionSwapBrain to pass the old brain's Target to the new one on swap
    - Adds start/stop following debug buttons to both camera controllers
    - Adds an example of an "enemy as a platform" in the MovingPlatfroms demo scene
    - Adds ArrivedHereFeedback to the Teleporter class, a feedback triggered on a Teleporter when something teleports into it
    - MMFPSCounter can now show instant fps, moving average, or both
    - Adds options to the LevelSelector class to optionnally trigger save and fade
    - Adds options to AIWalk, AIActionPatrol, AIActionFlyPatrol to reset position (or not) on revive
    - The LoadingSceneManager is renamed to MMSceneLoadingManager
    - CharacterHorizontalMovement's JustGotGrounded feedback check now ignores time spent static (on a ladder, gripping, on a ledge, etc).
    - Improves a float comparison precision in the controller's CastRayToTheSides method
    - Adds an extra sanity check to DamageOnTouch
    - Adds a new, mandatory damage direction parameter to Health's Damage method
    - The Character class now has an option to avoid performing sanity checks when updating animator parameters. Slight gain of performance, at the cost of having to make sure your animators have all the required animator parameters you need (you'll get warnings otherwise)
    - AnimatorExtensions methods now use hashsets instead of lists
    - Adds extra sanity checks to MMProgressBar's OnEnable
    - Adds a new PointsOfEntry struct array to LevelManager, to replace the simple Transform array used previously. This allows to bind dedicated feedbacks for each PoE, to play when entering a level by a certain point. WARNING : all data will have to be setup again. The old array has been kept for convenience but will be removed in a future update.
    - Improves the robustness of teleporters when dealing with multiple teleportees at once
    - Unifies prefab use across all RetroAdventure scenes
    - The LevelManager now instantiates the Player character(s) at the start of its Start routine (and not on Awake anymore). Updates a few other classes (CameraController, AIFollow...) to rely on events and not on Awake/Start to grab the Player.
    - The DialogueZone class now exposes the DialogueBoxPrefab instead of loading it from Resources. WARNING : this will have to be manually set on all existing dialogue zones in your project. That'll be the first field under the Dialogue Look section. You can drag your own prefab into it, or use the one found at Common/Prefabs/GUI/DialogueBox
    - Fixes a bug that could cause decisions to not reinitialize correctly on respawn on certain versions of Unity
    - Fixes a comment typo in CharacterHorizontalMovement
    - Fixes multiple bugs that could cause CharacterPersistence and points of entries to not behave as expected
    - Fixes a bug that could cause a Teleporter to trigger its Activation feedback twice under certain activation conditions
    - Fixes a bug that would cause the Character class to unnecessarily rename and parent custom camera targets.
    - Fixes a bug that would cause incorrect weapon recoil parameters to be used in certain use cases.
    - Fixes/unifies game manager settings across the RetroAdventure pre level flow
    - Fixes a bug that would let a character wallcling to one way platforms in certain conditions
    - Fixes a bug that would cause issues with fixedDeltaTime in MMTimeManager
    - Fixes hardcoded Time.time in FloatController that would cause some of its modes to not work correctly when in unscaled time
    - Fixes a bug that could prevent the CorgiController's safety boxcast to perform as expected on certain build targets
    - Fixes a bug that would cause CharacterLedgeHang to not compute positions correctly when used on a split ability node
    - Fixes a potential wrong health grab in CharacterAbility's OnEnable that could lead to issues on revive when splitting abilities across nodes
    - Fixes a typo in a comment and tooltip in CharacterDash
    - Fixes a bug that would cause ladder climbing to not detect ladder top correctly after swapping abilities multiple times.
    - Fixes a typo in CharacterHorizontalMovement that would have the ground deceleration be set incorrectly if a separate deceleration in air was specified
    - Unifies the scale of the Rectangle prefab and its parts
    - Renames the CharacterPersistency ability to CharacterPersistence
    - Adds Inventory Engine v2.0
    - Adds MMFeedbacks v2.0
    - Adds Nice Touch v1.5
    - Updates package dependencies to their latest versions

    I hope you'll like this new update!
     
    Muppo and javi_unity402 like this.
  41. javi_unity402

    javi_unity402

    Joined:
    Nov 29, 2018
    Posts:
    33
    Every time that I get into my email and I found that @reuno has released a new version of corgi

     
    reuno likes this.
  42. ifhd

    ifhd

    Joined:
    Jul 20, 2020
    Posts:
    5
    congratulation on v7.0 did not expect it to be this fast. Good thing that your working on procedurally generated level system. I had difficulties implementing my system especially in loading order
     
    Last edited: May 15, 2021 at 12:26 AM
    reuno likes this.
  43. cficara

    cficara

    Joined:
    Sep 27, 2017
    Posts:
    15
    Congrats on v 7.0!!

    I'm having an issue for quite a few months now, but now is time that I kinda solve this. I'm having issues when the character walks down a slope. Tried everything I could think of, sticking to surface, not sticking, change lenght of rays and tweaking different params with no luck. Here's a video:



    Do you know what might be causing this issue? I also tried different collider types (edge, polygon, etc), no luck either.
     
  44. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @cficara > Hard to tell from that video, it doesn't show any setting, collision setup or anything.
    I'm not aware of any issue with slopes at the moment, but if you can reproduce the issue in any of the demo scenes, please use the support form and provide repro steps. I'll be happy to have a look for you.
     
  45. cficara

    cficara

    Joined:
    Sep 27, 2017
    Posts:
    15
    In order to reproduce it, needs a custom terrain not available in the demos. I can do that custom terrain and send it over support email or something?

    I noticed something that perhaps would lead to a solution. In the problematic areas, a red rectangle appears in editor window. What's the cause of this?




    Terrain is on the simple side. Not crazy shapes at all.

    If you provide more information about this red box, perhaps I can solve it myself. If not, can I send a reproduction package over support? I can't ship the game like this. Thanks a lot!

    PS: Here's my setup:


    PS2: Movement stutter also happens with original unmodified Rectangle.prefab:

     
    Last edited: May 18, 2021 at 12:42 AM
  46. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @cficara > As I said in my previous message, please use the support form and provide repro steps.
    If you can't reproduce it in any of the demo scenes, or using any of the demo prefabs, then the issue is likely on your end. Comparing your colliders with any of the demo ones will likely help fix your issue. I do not know what that red rectangle is, it doesn't seem to come from the engine though, if that helps.
     
  47. cficara

    cficara

    Joined:
    Sep 27, 2017
    Posts:
    15
    Ok, I will be sending a package there asap, as it also happens with original prefabs.

    EDIT: Said red rectangle appears/dissapear if Stick to slopes is enabled/disabled
     
  48. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @cficara > No need for a package, just written repro steps, in any of the demos, from a fresh install, will be enough for me to help.
     
  49. cficara

    cficara

    Joined:
    Sep 27, 2017
    Posts:
    15
    Oh, too late :)

    I just sent a small scene that uses your original prefabs. You absolutely need a custom terrain in order to check it. Looks like this:



    If you walk around these spots, you'll notice the character gets inside the ground, or gets ejected violently upwards, or stutters.
     
    reuno likes this.
  50. reuno

    reuno

    Joined:
    Sep 22, 2014
    Posts:
    4,163
    @cficara > I wonder why.
    upload_2021-5-17_20-17-28.png

    I'll answer your email, but please, just stick to the support form, no need to duplicate all messages, thanks!

    Edit : Forgot to add the link to this section of the documentation, which hopefully will help provide alternative ways of doing correct level design.
     
    Last edited: May 18, 2021 at 2:02 AM
unityunity