Commit 53d8922
[DOCS-13875] Add Unity Feature Flags documentation (#35341)
* Add Unity Feature Flags documentation
Add comprehensive Unity Feature Flags documentation with two implementations:
1. unity.md - Direct FlagsClient API (current implementation)
- Uses DdFlags.CreateClient() and direct FlagsClient methods
- Synchronous flag evaluation (GetBooleanValue, GetStringValue, etc.)
- Simpler API without async/await
2. unity-openfeature.md - OpenFeature integration (future/alternative)
- Uses OpenFeature Api.Instance.GetClient()
- Async flag evaluation methods
- Standards-based approach
Both pages:
- Include cross-links to each other for easy navigation
- Follow the structure of Android/iOS feature flags docs
- Include installation, setup, evaluation, and advanced config sections
- Add Unity card to feature flags client navigation
The documentation is ready for preview and user feedback.
* Simplify Unity Feature Flags docs to placeholders
Replace full documentation with minimal placeholder pages to test CI:
- Keep navigation links and cross-references
- Add 'Documentation coming soon' message
- Reduce from ~270 lines to ~28 lines each
- Test if minimal changes pass all CI checks
Full documentation will be added incrementally after CI validation.
* Add Overview, Installation, and Initialize SDK sections to OpenFeature docs
Incremental update to unity-openfeature.md:
- Add detailed Overview explaining OpenFeature integration
- Add complete Installation instructions (EDM4U, Unity package, Android setup)
- Add Initialize SDK section with reference to Unity Monitoring Setup
- Add reference links at bottom
File size: 27 → 68 lines (+41 lines)
* Restore full OpenFeature docs for Unity Feature Flags
Add back all sections to unity-openfeature.md:
- Enable flags
- Create and retrieve a client
- Set the evaluation context
- Evaluate flags (boolean, string, integer, double, object)
- Flag evaluation details
- Advanced configuration
Also fixes duplicate further_reading partial and adds
OpenFeature external link to further_reading frontmatter.
* Restore full Unity Feature Flags direct API documentation
Add back all sections to unity.md:
- Overview
- Installation
- Initialize the SDK
- Enable flags
- Create and retrieve a client
- Set the evaluation context
- Evaluate flags (boolean, string, integer, double, object)
- Flag evaluation details
- Advanced configuration
* Remove preview callout from Unity Feature Flags docs
Feature flags are no longer in preview. Removed the callout
from both unity.md and unity-openfeature.md to match the
other SDK pages (android, ios, javascript, react).
* Update Unity Feature Flags docs with correct API and Getting Started section
- FlagsConfiguration is now immutable (constructor-based, not object initializer)
- Add Getting Started quickstart section to unity.md
- Fix DdFlags.Instance.CreateClient() throughout unity.md
- Update parameter names to match constructor signatures (camelCase)
- Add EvaluationFlushIntervalSeconds clamp range [1, 60] to both pages
* Fix Unity OpenFeature docs to match openfeature SDK worktree
- Revert FlagsConfiguration to object initializer syntax (mutable properties, PascalCase)
- Restore DdFlags.SetEvaluationContext() as static method (not on client)
- DdFlags.CreateClient() returns void; OpenFeature client retrieved via Api.Instance.GetClient()
- Add Getting Started quickstart section
- Restore correct advanced config property names (PascalCase)
* Rewrite Unity OpenFeature docs to match intended API design
- DdFlags is an instance class with immutable FlagsConfiguration (constructor syntax)
- DdFlags.Instance.CreateProvider() returns provider for registration with OpenFeature
- Provider registered via Api.Instance.SetProviderAsync(provider)
- Evaluation context set via OpenFeature standard EvaluationContext.Builder()
- No Datadog-specific context types or direct provider method calls
- Rename "Create and retrieve a client" section to "Register the provider"
* Fix Unity OpenFeature docs to match intended API design
- Evaluation context set via client.SetEvaluationContext(FlagsEvaluationContext) not OpenFeature context builder
- DdFlags.Instance.CreateClient() returns FlagsClient (held for context setting); OpenFeature client retrieved separately via Api.Instance.GetClient()
- Show Unity coroutine pattern (WaitUntil) for async flag evaluation — MonoBehaviour does not support await
- Fix named provider registration: Api.Instance.SetProviderAsync("domain", provider)
- Add Getting Started as full MonoBehaviour example
- Remove unused openfeature.dev footnote
* Consolidate Unity Feature Flags into a single page
- Merge unity.md and unity-openfeature.md into one page, OpenFeature-first
- Add aliases for old unity-openfeature URLs
- Direct FlagsClient API moved to collapsed advanced section at the bottom
- Drop FlagDetails documentation (FlagDetails<T> and FlagEvaluationError are now internal)
- Flag evaluation details section uses OpenFeature FlagEvaluationDetails types only
- Delete unity-openfeature.md and unity.md.bak
* Remove openfeature URL aliases from Unity docs
* Update Unity Feature Flags docs for PR #210 API changes
- new DatadogFeatureProvider(client) replaces DdFlags.Instance.CreateProvider()
- DatadogFeatureProvider is in separate com.datadoghq.unity.flags.openfeature package
- using Datadog.Unity.Flags.OpenFeature namespace required
- DdFlags.Instance is always non-null (static readonly singleton)
- CreateClient() returns IFlagsClient (public interface)
- FlagDetails<T> and FlagEvaluationError are public — restore detail methods in direct API section
- Installation section updated for two-package architecture and NuGetForUnity
* Fix installation: NuGetForUnity is a transitive UPM dep, not a manual install step
* Rewrite Unity Feature Flags docs: direct API only, no OpenFeature
- Remove all OpenFeature references and the openfeature package install steps
- Follow iOS page structure: Enable → Create client → Set context → Evaluate → Advanced config
- DdFlags.Enable() / DdFlags.Instance.CreateClient() / client.SetEvaluationContext()
- Synchronous typed getters: GetBooleanValue, GetStringValue, GetIntegerValue, GetDoubleValue, GetObjectValue
- FlagDetails<T> detail methods documented
- FlagsConfiguration uses constructor syntax (immutable)
- Backup of previous state at typo/unity-feature-flags-docs-openfeature-backup
* add new Unity page to side nav
* Address joepeeples review comments on unity.md
- Remove /feature_flags/setup/unity/ alias (URL never existed)
- Simplify Git URL installation step wording
- ensure -> help ensure (Vale rule)
- once the -> after the (Vale rule)
---------
Co-authored-by: Joe Peeples <joe.peeples@datadoghq.com>1 parent 23b01bd commit 53d8922
3 files changed
Lines changed: 247 additions & 0 deletions
File tree
- content/en/feature_flags/client
- layouts/partials/feature_flags
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5866 | 5866 | | |
5867 | 5867 | | |
5868 | 5868 | | |
| 5869 | + | |
| 5870 | + | |
| 5871 | + | |
| 5872 | + | |
| 5873 | + | |
5869 | 5874 | | |
5870 | 5875 | | |
5871 | 5876 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
68 | 75 | | |
69 | 76 | | |
70 | 77 | | |
| |||
0 commit comments