I’m very close to releasing my first product on the Unity Asset Store and I’d love to have some feedback and guidance from you all. I’m going to ask a couple questions, then lay out the product and its intended use (quick start example). I know there’s a lot here, but I really appreciate your time and feedback. Thanks!
QUESTION 1 - For a small scripting API with a great big sample project provided, how much documentation would a customer expect? I was planning on releasing some additional examples, a quick start guide/video, and a documentation site. Is that overkill or just right?
QUESTION 2 - Given the above, would you expect all documentation (which will take me a couple weeks to produce) to be available immediately upon purchase or would you be understanding of a small developer wanting to get a product out ASAP and using a couple weeks after to polish the support side? Customers can email me at any time, of course.
OK, on to the PRODUCT itself - Please let me know if my description is lacking in telling you what you’d want to know about a scripting asset! (or if the name “FluidCards” makes you want to barf)
A Card Motion and Management System
ASSET STORE DESCRIPTION:
-
Fluid, beautiful card motions/animations - Robust and consistent, with customizable timing. Grab cards mid-animation. Drop and pick them up again. All transitions are smooth and seamless. Developed in Unity UI. Multi-touch supported.
-
Great for any card game - Turn-based, slow-paced, fast-paced; Classic (poker, solitaire) or complex (CCG, LCG, board games).
-
Great performance - Crisp, responsive animations and user interactions. Timing controlled by Unity’s Time.deltaTime and Time.timeScale.
-
Easy to Use! - Follows Unity UI conventions. Add behavior components to your GameObjects and tweak from there. Great customer support!
-
Purchase Includes - FluidCards.DLL with core card motion and management logic; Source code for the FluidCards Demo as seen in the promotional video; Documentation, examples, and email support (SOON) at https://onechanceproductions.com/FL.
-
COMING SOON - “tweak” default animations with your own custom/“guest” transformations.
MEDIA:
Watch the video:
ADDITIONAL DETAILS (to be provided at onechanceproductions.com/FL and Community Showcases - Unity Discussions)
-
Verified to work with Unity UI Canvas in both “Screen Space - Overlay” and “Screen Space - Camera” Render Modes
-
Works with any Unity UI card assets/prefabs, including those excellent ones available in the Unity Asset Store.
-
Does not force you to do things just one way. Layout your own card space and just tell FluidCards where everything should go.
-
Use the provided card deck logic/management scripts or replace with your own.
-
FluidCards supports typical card management use cases, including: draw cards, play from hand, deck peek-shuffle-and-putback, discard random from hand, remove X type from deck, remove cards from discard pile, etc.
-
Is NOT THREADSAFE - Please send me an email if this is an important feature for you! It does use and work great with coroutines, which for most developers are safer and more predictable than threads in Unity.
QUICK START
A hasty quick start guide just to show how it could be used. Does not make use of any of the included deck logic/management code. Animations/Motions only.
Prerequisites:
- The developer (customer) has created their own card types, art, and prefabs
- The developer has created their own deck setup/building strategy
Use the Inspector:
- Add DraggableCard (required) and SelectableCard (if necessary) components to each prefab GameObject. Tweak as desired.
- Create a Panel to serve as a “drop target”/play area for cards played from the hand. Add a DropTarget component to it.
- Create a Panel to contain the hand of cards. Add a FluidCardView component to it. Tweak as desired.
Scripting:
- Call FluidCardView.SetHand with the initial hand of DraggableCard. This will move the prefabs you set up into the FluidCardView rect, fitted into the rect according to the defined aspect ratio.
- Listen for DropTarget.CardDropped to handle “played” cards.
- Setup a button to call FluidCardView.CardsDrawn to animate cards being drawn from your initialized prefabs into the hand. Animation start position is configurable and in the demo its offscreen.
- Setup a button to call FluidCardView.CardsDiscarded to animate cards being discarded from the hand. Animation stop position is configurable and in the demo its offscreen.
Play It:
-
Drag one or more cards from the hand with touch or mouse button.
-
Drop on the “drop target”/play area to play them.
-
Release the mouse button anywhere else and watch the card zip back into the hand
-
Click your “draw cards” and “discard” buttons to watch cards zip into the hand and out again.

