Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create .NET Feature Flag in ConfigCat #10

Open
Nicole-Scalera opened this issue Feb 25, 2025 · 0 comments
Open

Create .NET Feature Flag in ConfigCat #10

Nicole-Scalera opened this issue Feb 25, 2025 · 0 comments
Assignees

Comments

@Nicole-Scalera
Copy link
Owner

Overview

  • As mentioned in another repository, I've been researching new tools to integrate into my game development workflow.
  • I found one called ConfigCat, a feature flag service in the GitHub Student Developer pack.
  • I'll break down details below, as well as my plans for experimenting with this new find.

My Understanding of ConfigCat

  • I'm actually writing this description directly after a 20-minute demo with a guy named Zoltan who works there.
  • He showed me in real-time how ConfigCat can safely toggle new features of a game/software on and off using the website dashboard.
    • You can also use code, I think, but I will create a new issue for that later on.
  • He used a basic .NET application by opening like 40 command consoles on his screen at once (it was crazy).
  • The background of the consoles appeared red.
  • But then, on the website he pointed out a feature flag that, when toggled "on", immediately turned all the backgrounds to green!
  • I sketched the photo below to help visualize it.

Feature Flags - Green Console Example

Why Does This Matter?

  • You might be wondering, "Nikki, why does this matter?"
  • Great question! Here's my thought process:
    • If I learn ConfigCat well enough, I'll be able to quickly deploy and toggle new features for games.
    • This can be done without the hassle of creating and merging all different and confusing branches on my repo.

Long-Lived Feature Branching

  • Granted, Git's standard branch-and-merge workflow completely revolutionized the world of software development (I will die on this hill!).

Long-Lived Branches Workflow

  • However, the beauty of GitHub (and the open-source community) is that it's okay to acknowledge that it has a time and place to be present.
  • Relying on long-lived feature branches can send you into integration hell.
  • Fortunately, millions of developers have banded together to enhance the traditional workflow.

Connecting to ConfigCat

  • That being said, I can avoid stabilization issues (like my most recent struggle) by using the tools provided by ConfigCat.
  • For example, if I decide that there's a feature I don't want to use at the moment, I can turn it on or off directly from the website's dashboard.
  • This is so much more useful than creating a new branch in which I try to surgically remove a feature that has been carefully implemented.

Goals

  • Although Zoltan's example was done with .NET, there's info on how to utilize it in Unity (which runs on the .NET framework).
  • Looking at the docs, it may require some extra effort, so I'll start with .NET, and then branch out to Unity.

 Stack Demo Git Bash

  • I plan to create detailed records of my learning journey with ConfigCat.
@Nicole-Scalera Nicole-Scalera self-assigned this Feb 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

1 participant