Skip to content

iOS port - #1767

Draft
Markos-Th09 wants to merge 4 commits into
hedge-dev:mainfrom
Markos-Th09:ios
Draft

iOS port#1767
Markos-Th09 wants to merge 4 commits into
hedge-dev:mainfrom
Markos-Th09:ios

Conversation

@Markos-Th09

@Markos-Th09Markos-Th09 commented Jun 6, 2026

Copy link
Copy Markdown

Overview

I am working on porting Unleashed Recompiled to iOS. Since this is currently early stage I am opening this for feedback and evaluating the possibility of including this upstream. This is currently not in a mergeable state and is intended for technical review, testing, and collaborative debugging.

This also requires modifications to submodules. I am already working on upstreaming the changes to plume to make it compatible with iOS (renderbag/plume#102). However, for nativefiledialog-extended, it would be unlikely that this could be upstreamed or accepted as the current implementation is very much incomplete and mobile operating systems don't seem to be within the scope of the library. How should this be handled? I have identified the following options

  1. Strip the iOS-specific NFD API implementation out of the submodule tree completely and compile it directly as part of this project's core source directories instead of linking against the actual NFD for iOS.
  2. Fork nativefiledialog-extended and include these changes
  3. Use an iOS specific implementation instead completely bypassing NFD

Known Blocking Issues

I have outlined all currently known in detail at my fork's issues page but to summarize:

Compatibility

Since the game utilizes DXT/BC compressed textures, only very recent iOS devices natively support them. Specifically according to the Metal feature set tables:

  • A17 Pro or later, A18-series or later (Apple9 Family GPUs or later)
  • Apple M-series chips (M1, M2, M3, M4 or newer)

This corresponds to:

  • iPhone 15 Pro / 15 Pro Max and newer
  • iPhone 16 / 16 Plus / 16 Pro / 16 Pro Max / 16e and newer
  • iPad mini (A17 Pro) and newer
  • iPad Pro models with M-series chips (M1 / 11-inch 3rd gen / 12.9-inch 5th gen or newer)
  • iPad Air models with M-series chips (M1 / 5th gen or newer)

The possibility of transcoding textures at installation time to another format like ASTC to improve compatibility could be considered in the future, but this adds significant complexity.

@Markos-Th09

Copy link
Copy Markdown
Author

Will it have controller support, Xbox, Razer Kishi, GameSir?

Yes, the only way to play this currently is using either by connecting a controller or keyboard and mouse to your device.

@Markos-Th09

Markos-Th09 commented Jul 22, 2026

Copy link
Copy Markdown
Author

I’m happy to announce the first playable release of this port intended for testing. You can download the IPA from the releases page of my fork. Anyone is welcome to report bugs and issues either here or in the issues page of the fork.

You WILL need a controller or mouse/keyboard to play this.

@ghost

Copy link
Copy Markdown

Which one do I download? I'm new here

@Markos-Th09

Copy link
Copy Markdown
Author

Which one do I download? I'm new here

You can download Unleashed.ipa from here. Please note this is early stage so expect to find issues.
https://github.com/Markos-Th09/UnleashedRecomp/releases/tag/v1.0.3-beta%2Bios

@Markos-Th09

Copy link
Copy Markdown
Author

Do you need a pc to get this working?

Have you sideloaded anything before? If you already know how to do that you don’t need a pc. In order not to fill this thread with unrelated things, you can message me on discord (MarkosTh09) for assistance or open a discussion in my fork.

@ghost

Copy link
Copy Markdown

Didn't I say I was new? Okay then lol

Markos-Th09and others added 4 commits July 23, 2026 14:00
Co-authored-by: Isaac Marovitz <isaacryu@icloud.com>
…mitives
Fixes synchronization issues observed only in iOS
Use main.cpp as the sole application entry point via SDL_main.h
and remove UnleashedRecompIOSLauncher to avoid duplicated build
logic.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Markos-Th09@squidbus
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
iOS port by Markos-Th09 · Pull Request #1767 · hedge-dev/UnleashedRecomp · GitHub
Skip to content

iOS port - #1767

Draft
Markos-Th09 wants to merge 4 commits into
hedge-dev:mainfrom
Markos-Th09:ios
Draft

iOS port#1767
Markos-Th09 wants to merge 4 commits into
hedge-dev:mainfrom
Markos-Th09:ios

Conversation

@Markos-Th09

@Markos-Th09Markos-Th09 commented Jun 6, 2026

Copy link
Copy Markdown

Overview

I am working on porting Unleashed Recompiled to iOS. Since this is currently early stage I am opening this for feedback and evaluating the possibility of including this upstream. This is currently not in a mergeable state and is intended for technical review, testing, and collaborative debugging.

This also requires modifications to submodules. I am already working on upstreaming the changes to plume to make it compatible with iOS (renderbag/plume#102). However, for nativefiledialog-extended, it would be unlikely that this could be upstreamed or accepted as the current implementation is very much incomplete and mobile operating systems don't seem to be within the scope of the library. How should this be handled? I have identified the following options

  1. Strip the iOS-specific NFD API implementation out of the submodule tree completely and compile it directly as part of this project's core source directories instead of linking against the actual NFD for iOS.
  2. Fork nativefiledialog-extended and include these changes
  3. Use an iOS specific implementation instead completely bypassing NFD

Known Blocking Issues

I have outlined all currently known in detail at my fork's issues page but to summarize:

Compatibility

Since the game utilizes DXT/BC compressed textures, only very recent iOS devices natively support them. Specifically according to the Metal feature set tables:

  • A17 Pro or later, A18-series or later (Apple9 Family GPUs or later)
  • Apple M-series chips (M1, M2, M3, M4 or newer)

This corresponds to:

  • iPhone 15 Pro / 15 Pro Max and newer
  • iPhone 16 / 16 Plus / 16 Pro / 16 Pro Max / 16e and newer
  • iPad mini (A17 Pro) and newer
  • iPad Pro models with M-series chips (M1 / 11-inch 3rd gen / 12.9-inch 5th gen or newer)
  • iPad Air models with M-series chips (M1 / 5th gen or newer)

The possibility of transcoding textures at installation time to another format like ASTC to improve compatibility could be considered in the future, but this adds significant complexity.

@Markos-Th09

Copy link
Copy Markdown
Author

Will it have controller support, Xbox, Razer Kishi, GameSir?

Yes, the only way to play this currently is using either by connecting a controller or keyboard and mouse to your device.

@Markos-Th09

Markos-Th09 commented Jul 22, 2026

Copy link
Copy Markdown
Author

I’m happy to announce the first playable release of this port intended for testing. You can download the IPA from the releases page of my fork. Anyone is welcome to report bugs and issues either here or in the issues page of the fork.

You WILL need a controller or mouse/keyboard to play this.

@ghost

Copy link
Copy Markdown

Which one do I download? I'm new here

@Markos-Th09

Copy link
Copy Markdown
Author

Which one do I download? I'm new here

You can download Unleashed.ipa from here. Please note this is early stage so expect to find issues.
https://github.com/Markos-Th09/UnleashedRecomp/releases/tag/v1.0.3-beta%2Bios

@Markos-Th09

Copy link
Copy Markdown
Author

Do you need a pc to get this working?

Have you sideloaded anything before? If you already know how to do that you don’t need a pc. In order not to fill this thread with unrelated things, you can message me on discord (MarkosTh09) for assistance or open a discussion in my fork.

@ghost

Copy link
Copy Markdown

Didn't I say I was new? Okay then lol

Markos-Th09and others added 4 commits July 23, 2026 14:00
Co-authored-by: Isaac Marovitz <isaacryu@icloud.com>
…mitives
Fixes synchronization issues observed only in iOS
Use main.cpp as the sole application entry point via SDL_main.h
and remove UnleashedRecompIOSLauncher to avoid duplicated build
logic.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Markos-Th09@squidbus
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' iOS port by Markos-Th09 · Pull Request #1767 · hedge-dev/UnleashedRecomp · GitHub
Skip to content

iOS port - #1767

Draft
Markos-Th09 wants to merge 4 commits into
hedge-dev:mainfrom
Markos-Th09:ios
Draft

iOS port#1767
Markos-Th09 wants to merge 4 commits into
hedge-dev:mainfrom
Markos-Th09:ios

Conversation

@Markos-Th09

@Markos-Th09Markos-Th09 commented Jun 6, 2026

Copy link
Copy Markdown

Overview

I am working on porting Unleashed Recompiled to iOS. Since this is currently early stage I am opening this for feedback and evaluating the possibility of including this upstream. This is currently not in a mergeable state and is intended for technical review, testing, and collaborative debugging.

This also requires modifications to submodules. I am already working on upstreaming the changes to plume to make it compatible with iOS (renderbag/plume#102). However, for nativefiledialog-extended, it would be unlikely that this could be upstreamed or accepted as the current implementation is very much incomplete and mobile operating systems don't seem to be within the scope of the library. How should this be handled? I have identified the following options

  1. Strip the iOS-specific NFD API implementation out of the submodule tree completely and compile it directly as part of this project's core source directories instead of linking against the actual NFD for iOS.
  2. Fork nativefiledialog-extended and include these changes
  3. Use an iOS specific implementation instead completely bypassing NFD

Known Blocking Issues

I have outlined all currently known in detail at my fork's issues page but to summarize:

Compatibility

Since the game utilizes DXT/BC compressed textures, only very recent iOS devices natively support them. Specifically according to the Metal feature set tables:

  • A17 Pro or later, A18-series or later (Apple9 Family GPUs or later)
  • Apple M-series chips (M1, M2, M3, M4 or newer)

This corresponds to:

  • iPhone 15 Pro / 15 Pro Max and newer
  • iPhone 16 / 16 Plus / 16 Pro / 16 Pro Max / 16e and newer
  • iPad mini (A17 Pro) and newer
  • iPad Pro models with M-series chips (M1 / 11-inch 3rd gen / 12.9-inch 5th gen or newer)
  • iPad Air models with M-series chips (M1 / 5th gen or newer)

The possibility of transcoding textures at installation time to another format like ASTC to improve compatibility could be considered in the future, but this adds significant complexity.

@Markos-Th09

Copy link
Copy Markdown
Author

Will it have controller support, Xbox, Razer Kishi, GameSir?

Yes, the only way to play this currently is using either by connecting a controller or keyboard and mouse to your device.

@Markos-Th09

Markos-Th09 commented Jul 22, 2026

Copy link
Copy Markdown
Author

I’m happy to announce the first playable release of this port intended for testing. You can download the IPA from the releases page of my fork. Anyone is welcome to report bugs and issues either here or in the issues page of the fork.

You WILL need a controller or mouse/keyboard to play this.

@ghost

Copy link
Copy Markdown

Which one do I download? I'm new here

@Markos-Th09

Copy link
Copy Markdown
Author

Which one do I download? I'm new here

You can download Unleashed.ipa from here. Please note this is early stage so expect to find issues.
https://github.com/Markos-Th09/UnleashedRecomp/releases/tag/v1.0.3-beta%2Bios

@Markos-Th09

Copy link
Copy Markdown
Author

Do you need a pc to get this working?

Have you sideloaded anything before? If you already know how to do that you don’t need a pc. In order not to fill this thread with unrelated things, you can message me on discord (MarkosTh09) for assistance or open a discussion in my fork.

@ghost

Copy link
Copy Markdown

Didn't I say I was new? Okay then lol

Markos-Th09and others added 4 commits July 23, 2026 14:00
Co-authored-by: Isaac Marovitz <isaacryu@icloud.com>
…mitives
Fixes synchronization issues observed only in iOS
Use main.cpp as the sole application entry point via SDL_main.h
and remove UnleashedRecompIOSLauncher to avoid duplicated build
logic.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Markos-Th09@squidbus
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' iOS port by Markos-Th09 · Pull Request #1767 · hedge-dev/UnleashedRecomp · GitHub
Skip to content

iOS port - #1767

Draft
Markos-Th09 wants to merge 4 commits into
hedge-dev:mainfrom
Markos-Th09:ios
Draft

iOS port#1767
Markos-Th09 wants to merge 4 commits into
hedge-dev:mainfrom
Markos-Th09:ios

Conversation

@Markos-Th09

@Markos-Th09Markos-Th09 commented Jun 6, 2026

Copy link
Copy Markdown

Overview

I am working on porting Unleashed Recompiled to iOS. Since this is currently early stage I am opening this for feedback and evaluating the possibility of including this upstream. This is currently not in a mergeable state and is intended for technical review, testing, and collaborative debugging.

This also requires modifications to submodules. I am already working on upstreaming the changes to plume to make it compatible with iOS (renderbag/plume#102). However, for nativefiledialog-extended, it would be unlikely that this could be upstreamed or accepted as the current implementation is very much incomplete and mobile operating systems don't seem to be within the scope of the library. How should this be handled? I have identified the following options

  1. Strip the iOS-specific NFD API implementation out of the submodule tree completely and compile it directly as part of this project's core source directories instead of linking against the actual NFD for iOS.
  2. Fork nativefiledialog-extended and include these changes
  3. Use an iOS specific implementation instead completely bypassing NFD

Known Blocking Issues

I have outlined all currently known in detail at my fork's issues page but to summarize:

Compatibility

Since the game utilizes DXT/BC compressed textures, only very recent iOS devices natively support them. Specifically according to the Metal feature set tables:

  • A17 Pro or later, A18-series or later (Apple9 Family GPUs or later)
  • Apple M-series chips (M1, M2, M3, M4 or newer)

This corresponds to:

  • iPhone 15 Pro / 15 Pro Max and newer
  • iPhone 16 / 16 Plus / 16 Pro / 16 Pro Max / 16e and newer
  • iPad mini (A17 Pro) and newer
  • iPad Pro models with M-series chips (M1 / 11-inch 3rd gen / 12.9-inch 5th gen or newer)
  • iPad Air models with M-series chips (M1 / 5th gen or newer)

The possibility of transcoding textures at installation time to another format like ASTC to improve compatibility could be considered in the future, but this adds significant complexity.

@Markos-Th09

Copy link
Copy Markdown
Author

Will it have controller support, Xbox, Razer Kishi, GameSir?

Yes, the only way to play this currently is using either by connecting a controller or keyboard and mouse to your device.

@Markos-Th09

Markos-Th09 commented Jul 22, 2026

Copy link
Copy Markdown
Author

I’m happy to announce the first playable release of this port intended for testing. You can download the IPA from the releases page of my fork. Anyone is welcome to report bugs and issues either here or in the issues page of the fork.

You WILL need a controller or mouse/keyboard to play this.

@ghost

Copy link
Copy Markdown

Which one do I download? I'm new here

@Markos-Th09

Copy link
Copy Markdown
Author

Which one do I download? I'm new here

You can download Unleashed.ipa from here. Please note this is early stage so expect to find issues.
https://github.com/Markos-Th09/UnleashedRecomp/releases/tag/v1.0.3-beta%2Bios

@Markos-Th09

Copy link
Copy Markdown
Author

Do you need a pc to get this working?

Have you sideloaded anything before? If you already know how to do that you don’t need a pc. In order not to fill this thread with unrelated things, you can message me on discord (MarkosTh09) for assistance or open a discussion in my fork.

@ghost

Copy link
Copy Markdown

Didn't I say I was new? Okay then lol

Markos-Th09and others added 4 commits July 23, 2026 14:00
Co-authored-by: Isaac Marovitz <isaacryu@icloud.com>
…mitives
Fixes synchronization issues observed only in iOS
Use main.cpp as the sole application entry point via SDL_main.h
and remove UnleashedRecompIOSLauncher to avoid duplicated build
logic.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Markos-Th09@squidbus
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' iOS port by Markos-Th09 · Pull Request #1767 · hedge-dev/UnleashedRecomp · GitHub
Skip to content

iOS port - #1767

Draft
Markos-Th09 wants to merge 4 commits into
hedge-dev:mainfrom
Markos-Th09:ios
Draft

iOS port#1767
Markos-Th09 wants to merge 4 commits into
hedge-dev:mainfrom
Markos-Th09:ios

Conversation

@Markos-Th09

@Markos-Th09Markos-Th09 commented Jun 6, 2026

Copy link
Copy Markdown

Overview

I am working on porting Unleashed Recompiled to iOS. Since this is currently early stage I am opening this for feedback and evaluating the possibility of including this upstream. This is currently not in a mergeable state and is intended for technical review, testing, and collaborative debugging.

This also requires modifications to submodules. I am already working on upstreaming the changes to plume to make it compatible with iOS (renderbag/plume#102). However, for nativefiledialog-extended, it would be unlikely that this could be upstreamed or accepted as the current implementation is very much incomplete and mobile operating systems don't seem to be within the scope of the library. How should this be handled? I have identified the following options

  1. Strip the iOS-specific NFD API implementation out of the submodule tree completely and compile it directly as part of this project's core source directories instead of linking against the actual NFD for iOS.
  2. Fork nativefiledialog-extended and include these changes
  3. Use an iOS specific implementation instead completely bypassing NFD

Known Blocking Issues

I have outlined all currently known in detail at my fork's issues page but to summarize:

Compatibility

Since the game utilizes DXT/BC compressed textures, only very recent iOS devices natively support them. Specifically according to the Metal feature set tables:

  • A17 Pro or later, A18-series or later (Apple9 Family GPUs or later)
  • Apple M-series chips (M1, M2, M3, M4 or newer)

This corresponds to:

  • iPhone 15 Pro / 15 Pro Max and newer
  • iPhone 16 / 16 Plus / 16 Pro / 16 Pro Max / 16e and newer
  • iPad mini (A17 Pro) and newer
  • iPad Pro models with M-series chips (M1 / 11-inch 3rd gen / 12.9-inch 5th gen or newer)
  • iPad Air models with M-series chips (M1 / 5th gen or newer)

The possibility of transcoding textures at installation time to another format like ASTC to improve compatibility could be considered in the future, but this adds significant complexity.

@Markos-Th09

Copy link
Copy Markdown
Author

Will it have controller support, Xbox, Razer Kishi, GameSir?

Yes, the only way to play this currently is using either by connecting a controller or keyboard and mouse to your device.

@Markos-Th09

Markos-Th09 commented Jul 22, 2026

Copy link
Copy Markdown
Author

I’m happy to announce the first playable release of this port intended for testing. You can download the IPA from the releases page of my fork. Anyone is welcome to report bugs and issues either here or in the issues page of the fork.

You WILL need a controller or mouse/keyboard to play this.

@ghost

Copy link
Copy Markdown

Which one do I download? I'm new here

@Markos-Th09

Copy link
Copy Markdown
Author

Which one do I download? I'm new here

You can download Unleashed.ipa from here. Please note this is early stage so expect to find issues.
https://github.com/Markos-Th09/UnleashedRecomp/releases/tag/v1.0.3-beta%2Bios

@Markos-Th09

Copy link
Copy Markdown
Author

Do you need a pc to get this working?

Have you sideloaded anything before? If you already know how to do that you don’t need a pc. In order not to fill this thread with unrelated things, you can message me on discord (MarkosTh09) for assistance or open a discussion in my fork.

@ghost

Copy link
Copy Markdown

Didn't I say I was new? Okay then lol

Markos-Th09and others added 4 commits July 23, 2026 14:00
Co-authored-by: Isaac Marovitz <isaacryu@icloud.com>
…mitives
Fixes synchronization issues observed only in iOS
Use main.cpp as the sole application entry point via SDL_main.h
and remove UnleashedRecompIOSLauncher to avoid duplicated build
logic.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Markos-Th09@squidbus
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' iOS port by Markos-Th09 · Pull Request #1767 · hedge-dev/UnleashedRecomp · GitHub
Skip to content

iOS port - #1767

Draft
Markos-Th09 wants to merge 4 commits into
hedge-dev:mainfrom
Markos-Th09:ios
Draft

iOS port#1767
Markos-Th09 wants to merge 4 commits into
hedge-dev:mainfrom
Markos-Th09:ios

Conversation

@Markos-Th09

@Markos-Th09Markos-Th09 commented Jun 6, 2026

Copy link
Copy Markdown

Overview

I am working on porting Unleashed Recompiled to iOS. Since this is currently early stage I am opening this for feedback and evaluating the possibility of including this upstream. This is currently not in a mergeable state and is intended for technical review, testing, and collaborative debugging.

This also requires modifications to submodules. I am already working on upstreaming the changes to plume to make it compatible with iOS (renderbag/plume#102). However, for nativefiledialog-extended, it would be unlikely that this could be upstreamed or accepted as the current implementation is very much incomplete and mobile operating systems don't seem to be within the scope of the library. How should this be handled? I have identified the following options

  1. Strip the iOS-specific NFD API implementation out of the submodule tree completely and compile it directly as part of this project's core source directories instead of linking against the actual NFD for iOS.
  2. Fork nativefiledialog-extended and include these changes
  3. Use an iOS specific implementation instead completely bypassing NFD

Known Blocking Issues

I have outlined all currently known in detail at my fork's issues page but to summarize:

Compatibility

Since the game utilizes DXT/BC compressed textures, only very recent iOS devices natively support them. Specifically according to the Metal feature set tables:

  • A17 Pro or later, A18-series or later (Apple9 Family GPUs or later)
  • Apple M-series chips (M1, M2, M3, M4 or newer)

This corresponds to:

  • iPhone 15 Pro / 15 Pro Max and newer
  • iPhone 16 / 16 Plus / 16 Pro / 16 Pro Max / 16e and newer
  • iPad mini (A17 Pro) and newer
  • iPad Pro models with M-series chips (M1 / 11-inch 3rd gen / 12.9-inch 5th gen or newer)
  • iPad Air models with M-series chips (M1 / 5th gen or newer)

The possibility of transcoding textures at installation time to another format like ASTC to improve compatibility could be considered in the future, but this adds significant complexity.

@Markos-Th09

Copy link
Copy Markdown
Author

Will it have controller support, Xbox, Razer Kishi, GameSir?

Yes, the only way to play this currently is using either by connecting a controller or keyboard and mouse to your device.

@Markos-Th09

Markos-Th09 commented Jul 22, 2026

Copy link
Copy Markdown
Author

I’m happy to announce the first playable release of this port intended for testing. You can download the IPA from the releases page of my fork. Anyone is welcome to report bugs and issues either here or in the issues page of the fork.

You WILL need a controller or mouse/keyboard to play this.

@ghost

Copy link
Copy Markdown

Which one do I download? I'm new here

@Markos-Th09

Copy link
Copy Markdown
Author

Which one do I download? I'm new here

You can download Unleashed.ipa from here. Please note this is early stage so expect to find issues.
https://github.com/Markos-Th09/UnleashedRecomp/releases/tag/v1.0.3-beta%2Bios

@Markos-Th09

Copy link
Copy Markdown
Author

Do you need a pc to get this working?

Have you sideloaded anything before? If you already know how to do that you don’t need a pc. In order not to fill this thread with unrelated things, you can message me on discord (MarkosTh09) for assistance or open a discussion in my fork.

@ghost

Copy link
Copy Markdown

Didn't I say I was new? Okay then lol

Markos-Th09and others added 4 commits July 23, 2026 14:00
Co-authored-by: Isaac Marovitz <isaacryu@icloud.com>
…mitives
Fixes synchronization issues observed only in iOS
Use main.cpp as the sole application entry point via SDL_main.h
and remove UnleashedRecompIOSLauncher to avoid duplicated build
logic.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Markos-Th09@squidbus
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' iOS port by Markos-Th09 · Pull Request #1767 · hedge-dev/UnleashedRecomp · GitHub
Skip to content

iOS port - #1767

Draft
Markos-Th09 wants to merge 4 commits into
hedge-dev:mainfrom
Markos-Th09:ios
Draft

iOS port#1767
Markos-Th09 wants to merge 4 commits into
hedge-dev:mainfrom
Markos-Th09:ios

Conversation

@Markos-Th09

@Markos-Th09Markos-Th09 commented Jun 6, 2026

Copy link
Copy Markdown

Overview

I am working on porting Unleashed Recompiled to iOS. Since this is currently early stage I am opening this for feedback and evaluating the possibility of including this upstream. This is currently not in a mergeable state and is intended for technical review, testing, and collaborative debugging.

This also requires modifications to submodules. I am already working on upstreaming the changes to plume to make it compatible with iOS (renderbag/plume#102). However, for nativefiledialog-extended, it would be unlikely that this could be upstreamed or accepted as the current implementation is very much incomplete and mobile operating systems don't seem to be within the scope of the library. How should this be handled? I have identified the following options

  1. Strip the iOS-specific NFD API implementation out of the submodule tree completely and compile it directly as part of this project's core source directories instead of linking against the actual NFD for iOS.
  2. Fork nativefiledialog-extended and include these changes
  3. Use an iOS specific implementation instead completely bypassing NFD

Known Blocking Issues

I have outlined all currently known in detail at my fork's issues page but to summarize:

Compatibility

Since the game utilizes DXT/BC compressed textures, only very recent iOS devices natively support them. Specifically according to the Metal feature set tables:

  • A17 Pro or later, A18-series or later (Apple9 Family GPUs or later)
  • Apple M-series chips (M1, M2, M3, M4 or newer)

This corresponds to:

  • iPhone 15 Pro / 15 Pro Max and newer
  • iPhone 16 / 16 Plus / 16 Pro / 16 Pro Max / 16e and newer
  • iPad mini (A17 Pro) and newer
  • iPad Pro models with M-series chips (M1 / 11-inch 3rd gen / 12.9-inch 5th gen or newer)
  • iPad Air models with M-series chips (M1 / 5th gen or newer)

The possibility of transcoding textures at installation time to another format like ASTC to improve compatibility could be considered in the future, but this adds significant complexity.

@Markos-Th09

Copy link
Copy Markdown
Author

Will it have controller support, Xbox, Razer Kishi, GameSir?

Yes, the only way to play this currently is using either by connecting a controller or keyboard and mouse to your device.

@Markos-Th09

Markos-Th09 commented Jul 22, 2026

Copy link
Copy Markdown
Author

I’m happy to announce the first playable release of this port intended for testing. You can download the IPA from the releases page of my fork. Anyone is welcome to report bugs and issues either here or in the issues page of the fork.

You WILL need a controller or mouse/keyboard to play this.

@ghost

Copy link
Copy Markdown

Which one do I download? I'm new here

@Markos-Th09

Copy link
Copy Markdown
Author

Which one do I download? I'm new here

You can download Unleashed.ipa from here. Please note this is early stage so expect to find issues.
https://github.com/Markos-Th09/UnleashedRecomp/releases/tag/v1.0.3-beta%2Bios

@Markos-Th09

Copy link
Copy Markdown
Author

Do you need a pc to get this working?

Have you sideloaded anything before? If you already know how to do that you don’t need a pc. In order not to fill this thread with unrelated things, you can message me on discord (MarkosTh09) for assistance or open a discussion in my fork.

@ghost

Copy link
Copy Markdown

Didn't I say I was new? Okay then lol

Markos-Th09and others added 4 commits July 23, 2026 14:00
Co-authored-by: Isaac Marovitz <isaacryu@icloud.com>
…mitives
Fixes synchronization issues observed only in iOS
Use main.cpp as the sole application entry point via SDL_main.h
and remove UnleashedRecompIOSLauncher to avoid duplicated build
logic.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Markos-Th09@squidbus
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); iOS port by Markos-Th09 · Pull Request #1767 · hedge-dev/UnleashedRecomp · GitHub
Skip to content

iOS port - #1767

Draft
Markos-Th09 wants to merge 4 commits into
hedge-dev:mainfrom
Markos-Th09:ios
Draft

iOS port#1767
Markos-Th09 wants to merge 4 commits into
hedge-dev:mainfrom
Markos-Th09:ios

Conversation

@Markos-Th09

@Markos-Th09Markos-Th09 commented Jun 6, 2026

Copy link
Copy Markdown

Overview

I am working on porting Unleashed Recompiled to iOS. Since this is currently early stage I am opening this for feedback and evaluating the possibility of including this upstream. This is currently not in a mergeable state and is intended for technical review, testing, and collaborative debugging.

This also requires modifications to submodules. I am already working on upstreaming the changes to plume to make it compatible with iOS (renderbag/plume#102). However, for nativefiledialog-extended, it would be unlikely that this could be upstreamed or accepted as the current implementation is very much incomplete and mobile operating systems don't seem to be within the scope of the library. How should this be handled? I have identified the following options

  1. Strip the iOS-specific NFD API implementation out of the submodule tree completely and compile it directly as part of this project's core source directories instead of linking against the actual NFD for iOS.
  2. Fork nativefiledialog-extended and include these changes
  3. Use an iOS specific implementation instead completely bypassing NFD

Known Blocking Issues

I have outlined all currently known in detail at my fork's issues page but to summarize:

Compatibility

Since the game utilizes DXT/BC compressed textures, only very recent iOS devices natively support them. Specifically according to the Metal feature set tables:

  • A17 Pro or later, A18-series or later (Apple9 Family GPUs or later)
  • Apple M-series chips (M1, M2, M3, M4 or newer)

This corresponds to:

  • iPhone 15 Pro / 15 Pro Max and newer
  • iPhone 16 / 16 Plus / 16 Pro / 16 Pro Max / 16e and newer
  • iPad mini (A17 Pro) and newer
  • iPad Pro models with M-series chips (M1 / 11-inch 3rd gen / 12.9-inch 5th gen or newer)
  • iPad Air models with M-series chips (M1 / 5th gen or newer)

The possibility of transcoding textures at installation time to another format like ASTC to improve compatibility could be considered in the future, but this adds significant complexity.

@Markos-Th09

Copy link
Copy Markdown
Author

Will it have controller support, Xbox, Razer Kishi, GameSir?

Yes, the only way to play this currently is using either by connecting a controller or keyboard and mouse to your device.

@Markos-Th09

Markos-Th09 commented Jul 22, 2026

Copy link
Copy Markdown
Author

I’m happy to announce the first playable release of this port intended for testing. You can download the IPA from the releases page of my fork. Anyone is welcome to report bugs and issues either here or in the issues page of the fork.

You WILL need a controller or mouse/keyboard to play this.

@ghost

Copy link
Copy Markdown

Which one do I download? I'm new here

@Markos-Th09

Copy link
Copy Markdown
Author

Which one do I download? I'm new here

You can download Unleashed.ipa from here. Please note this is early stage so expect to find issues.
https://github.com/Markos-Th09/UnleashedRecomp/releases/tag/v1.0.3-beta%2Bios

@Markos-Th09

Copy link
Copy Markdown
Author

Do you need a pc to get this working?

Have you sideloaded anything before? If you already know how to do that you don’t need a pc. In order not to fill this thread with unrelated things, you can message me on discord (MarkosTh09) for assistance or open a discussion in my fork.

@ghost

Copy link
Copy Markdown

Didn't I say I was new? Okay then lol

Markos-Th09and others added 4 commits July 23, 2026 14:00
Co-authored-by: Isaac Marovitz <isaacryu@icloud.com>
…mitives
Fixes synchronization issues observed only in iOS
Use main.cpp as the sole application entry point via SDL_main.h
and remove UnleashedRecompIOSLauncher to avoid duplicated build
logic.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Markos-Th09@squidbus