Skip to content

New extension: Carousel Behavior - #2283

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
extension/NicolasDemangeat/2282
Open

github-actions[bot] wants to merge 1 commit into
mainfrom
extension/NicolasDemangeat/2282

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

Description

Adds a Carousel behavior that turns sprites object with animations into a looping, sliding carousel item.

Calling Next() or Previous():

  1. Smoothly tweens the current item off-screen
  2. Switches to the next or previous animation index
  3. Tweens the new item back into view

Configurable properties (visible directly in the Scene Editor, per instance):

  • MinIndex / MaxIndex : the range of animation indexes to cycle through
  • Loop : wrap around at the ends instead of stopping
  • SlideDistance : how far the item slides off-screen
  • Duration : how long each slide takes, in seconds

The Tween behavior is required and added automatically when Carousel is added to an object (nothing extra to set up).
Can work with the swipe gesture extension.

How to use the extension

Put the Carousel behavior on a sprite with multiple animations to build:

  • A level-select screen, cycling through level previews
  • A character or skin picker
  • Any settings screen cycling through a small set of choices (difficulty, region, theme...)

Setup:

  1. Set MinIndex and MaxIndex to match the number of animations on your object (0-based: the first animation is index 0)
  2. Enable Loop if the carousel should wrap around at the ends
  3. Call Next() / Previous() from your arrow buttons
  4. Read CurrentIndex() to update the rest of your UI (labels, lock icons, star ratings...)
  5. Use IsBusy() to know if the Carousel is playing tween.

Checklist

  • I've followed all of the best practices.
  • I confirm that this extension can be integrated to this GitHub repository, distributed and MIT licensed.
  • I am aware that the extension may be updated by anyone, and do not need my explicit consent to do so.

AI usage

  • I used an AI to generate some part of the code.
  • I don't understand the generated code or I don't feel able to modify it.

Example file

Carousel-example.zip

Extension file

Carousel.zip


Extension by @NicolasDemangeat

You can update the extension on this "Pull Request" by commenting the update command: in the comment field, type !update, then drag and drop a zip file with your extension file in the commenting field, like how you initially submitted the extension. It should look like this:

!update [MyExtension.zip](https://github.com/GDevelopApp/GDevelop-extensions/files/12709661/MyExtension.zip)

It can take a few seconds for the file to fully upload and show as the above. Once it is like shown above, click "Comment" and let the bot do the rest!

@github-actions
github-actions Bot requested a review from a team as a code owner October 1, 2026 11:58
@github-actions github-actions Bot added the ✨ New extension A new extension label Oct 1, 2026
@github-actions github-actions Bot changed the title New extension: <title> New extension: Carousel Behavior Oct 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ New extension A new extension

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant