Testing on Handhelds When You Don't Own a Handheld
A closer look for the community on Game Package Manager and Game Profiles updates, as well as a wide-ranging Q&A on handheld testing.
Game dev can be hard. There's a lot to learn, social networks to build, and always new problems to solve. XBOX wants as many game developers to succeed as possible, and we want to help you on your journey. That's why, every Friday morning at 11:00 AM Pacific, we invite the game development community to join us on our official Discord for Office Hours. By creating an open and welcoming community space, one where you can make connections with real industry professionals and ask questions about the issues that are most important to you, we're making more resources accessible to developers of all sizes from across the globe. Each week, we invite an experienced game developer to join us, tell their story, and answer any questions you might have about their work. If you'd like to keep up with who will be joining us and what topic we'll be covering, join our Discord server and keep an eye on the #announcements channel for calendar updates!
On Friday, May 8, Clint Woon ran us through the two big developer-experience blog posts that dropped this week, then opened the floor for one of the most wide-ranging Office Hours we've had in a while. I got to sit next to him in the office for it, which was a treat.
Our Hosts:
- Jen Nichol: Jen Nichol is an XBOX veteran with over 15 years in gaming and tech, working closely with the XBOX Developer Relations team to champion developer advocacy, engagement, and education. Passionate about ensuring the developer's voice is heard, Jen has spent her career bridging the gap between product and community, helping developers thrive across the XBOX ecosystem.
- Clint Woon: Veteran member of the XBOX Developer Relations team in charge of developer education, events, and outreach which includes growing our global community of XBOX game devs online. If you have feedback how to make XBOX to the best place to make games, make sure you get that to Clint, his team, and this community to make your voices heard.
Here's what we covered.
This Week's Blog Posts: Game Package Manager and Game Profiles
The first half of the session was Clint walking through the two articles we published this week. Both are worth your time, but here's the short version.
Game Package Manager is the module inside Microsoft Partner Center that handles your packages: uploads, cert, playtest, sandboxes, retail. The team just shipped a massive UI refresh, performance fixes through the flow, and a much friendlier first-run experience.
Clint, who's color-blind, pointed out something easy to miss: the old version had contrast issues and dense text. The new one is dramatically more approachable for anyone coming in fresh, and for anyone who just doesn't want to become a Partner Center savant.
There's a toggle at the top to flip back to the old experience. About 1% of people who've tried the new module are still using the old module; mostly developers mid-publish and just wanted the familiar buttons. The real reason to be on the new interface, is forward-looking: "We have new features coming that will be built on that. You'll see new modules come in that fix the flow, take out the pain and the annoyances that are in there, and then build new features on top of that new UX flow."
Game Profiles is the thing I've been the most excited to talk about publicly. Here's how it works: when you ship a handheld-compatible game and you're in the Game Pass program, there's a chance Microsoft will publish a tuned default game profile for your title. When the game launches from the store on an ASUS ROG XBOX Ally or Ally X, the profile auto-applies and locks in the TDP, frame rate, and resolution that hit the sweet spot between "looks great" and "lasts on battery."
Clint described the testing rig. "There's specialized test equipment that measures power draw off of the device to test unplug and replug." That's the kind of instrumentation that lets the team produce a profile you can actually trust, not just one that feels faster. If you saw the matrix of testing required to do this by hand, well, you'd be skeptical of any of the crowdsourced settings floating around on community sites.
The blog post we published lists a sample of titles with profiles live today. It's not exhaustive. Check the store for the full list.
Tweaking Your Profile (and the Warframe Story)
User [Bullet Kenny] brought up a great real-world example: when Warframe moved over to XBOX-branded handheld profiles, it ran into stability issues with particle effects. "We have had issues with games early on where the profile wasn't dialed in just right. Lowering the TDP too much created some stability problems that we had to adjust."
The point he made next is worth flagging if you're ever tempted to trust someone's three-minute YouTube tuning video: "If you're only measuring during the intro scene, you may actually be looking at the video player and not the actual engine gameplay. And if you play for three hours, you may actually hit a scene that has a lot of particle effects in a big spike. Then if you optimize for that, you make the rest of the game worse." That's why the published profiles take weeks, but long-term the goal is to empower game developers to do this themselves with the right tools.
Testing on Handhelds When You Don't Own a Handheld
Bullet Kenny (shout out to other game devs in Scotland) brought one of the best questions of the session: can game devs lean on trusted XBOX Insiders to do testing on ROG devices when the studio itself doesn't own the hardware?
There's also tooling you can use today even without owning a handheld. Clint pointed at our handheld development docs (https://aka.ms/hhperfintro) and the sample that lets you detect at runtime that your title is on an XBOX-branded device. That's the first lever. Profile tuning is the second.
The answer is that XBOX has a rich set of tools to run private BETAs and Flights with the XBOX Insider audience for ID@XBOX devs. We will follow-up in a future session with the program owners to explain how to take advantage of these programs.
Here's the shape of what's possible today:
Q: Can I AB test specific builds with specific players on specific devices?
A: Yes, a lot of it. You can already generate codes, restrict by build, revoke access at any time, AB test, even constrain by IP range. What we don't have is a "give me a pool of trusted players on this device" surface. Yet.
Willem's ID@XBOX Doc Request (Live Triage)
Willem came on stage with a Partner Center form that was asking him for an XBOX Services configuration document. He hasn't been concept-approved for ID@XBOX, and the form shouldn't be blocking him.
The root cause was an old issue with developers who have applied to, but not completed Concept Approval being flagged as ID@XBOX publishers. This makes the system assume you have access to services, even when you may not be fully onboarded yet and opens you up to the system asking quetsions you cannot answer yet. ID Account Management and Setup support teams will resolve the issue on our end.
The bigger lesson Clint flagged for the rest of you: there’s a backlog of bugs and gaps we’re specifically watching for as we publish articles about new features. If the bug you're hitting touches something we've recently announced, that's exactly when his team wants to hear about it, let us know in the Discord.
Porting Old GFWL Achievements to a New GDK Title
Ray dropped what Clint called one of his favorite questions of the year: if I own the publishing rights to an old Games for Windows Live title, how would I modernize it or port to a new title and bring the original achievement list along?
Clint broke down what an "achievement" actually is, which is worth knowing whether you have a GFWL catalog or not:
- Service-side configuration. The metadata that defines the achievement, the gamer score reward, the image, the title-facing rules. Lives in the cloud.
- Client-side trigger. Pre-XBOX One, you'd upload a stat that triggered the achievement. From XBOX One on, you fire an API with the metadata and that triggers whichever achievement matches in the cloud config.
The client side is easy. You rewrite or port the trigger calls. The harder question is the service-side metadata, because that's data that lives in Microsoft's systems and we can't just hand it out to anyone who asks.
Q: So can I get my GFWL achievement metadata exported into the new format?
A: In principle, yes, if you can prove ownership. "If you have the rights or are working on behalf of the original seller ID, it's going to be less of a problem." Send Clint (and me, on a group chat please) the title ID. He'll work with the team to investigate what format the data is in, whether it still exists, and whether it can be exported to a current schema.
"If you could just download the original achievement metadata, give it the schema for the new format, and then have it convert, you'd be done in seconds. The catch is making sure the data still lives somewhere we can pull it from. GFWL reached end of live years ago. “
Bullet Kenny made a sharper point on top of it: "In a world where data is being commoditized, those rules are the only thing we have left. It's not who creates the data anymore. It's who owns it in the end." File that one away.
Project Greenleaf, Briefly
A question came in about Project Greenleaf. No major announcements this week, but Clint shared why the program matters and how we're approaching it.
The thesis: small efficiency changes in how games use the CPU on the device they ship on can move the needle on global CO2 output by a real, measurable amount. Millions of cubic meters per year, according to the data the team's been looking at. The platform team's job is partly to surface the awareness and partly to make sure that if we ask developers to do something, there's a return for you, whether monetary, esoteric, or philosophical.
"We're trying to make sure we have the best message we can first, and then we'll reach out to developers to do things." Partners are already involved in proving it out. The win comes when every developer feels like they can play a part. Learn more at https://aka.ms/sustainablegamedev
Ask Learn, the Copilot You Already Have
Side note from the session that's worth pulling out: on the Microsoft Game Dev documentation site, there's an Ask Learn button on the top right of any content page. That's Copilot, indexed against the public game dev documentation. If you're hunting through the docs for an answer to something specific, that button is genuinely faster than scrolling. If it fails to answer something it should, that's a bug worth reporting, not a sign that the docs don't have the answer.
Where Office Hours Is Going Next
Clint and I closed with two things we want feedback on. Please actually give us this feedback. It changes the program.
Time zones. 60% of you join from outside the US time zone, and the 11:00 AM Pacific Friday slot doesn't work for everyone. We want to run a Discord poll on alternate times, including evening slots in the US for the folks joining after work. If our poll bot is working again, expect that soon.
Special Editions in your city. My team travels a lot. When we're at events (PAX, regional shows, schools, anywhere with a real dev community), we want to host a local Office Hours instead of doing it remotely from the studio. If you live somewhere with a strong, reachable game dev community (students, local university devs, indie crews), and you'd be willing to be a city advocate, tell us. We go through a vetting and sign-off process, and if everything lines up, we'll bring a few folks out, host something at a school or hotel, and tape an episode.
We want to hear about Akron, OH. We want to hear about Halifax. We went to South Africa earlier this year and it changed how I think about who we're reaching. Our blog post views are great. That's not the same as being face to face withthe communities that matter.
Discord revamp. We have updated the layout for the Microsoft Game Dev Discord, including a better surface for ID@XBOX questions. These changes have gone live, hopefully they will provide a cleaner Discord experience.
Thanks to Clint Woon for hosting , to everyone who jumped in the chat and on stage this week (Willem, Bullet Kenny, Ray, Michael, Manuel, Barajo, Coffee & Tap, Night Hero, Rob, and the rest of you), and to everyone who joined late at night and far far away, we appreciate you.
If you want to keep up with what's coming, join us on the Microsoft Game Dev Discord, watch the #announcements channel, and we'll see you next Friday at 11:00 AM Pacific.