Repository files navigation

ArcCast — Trajectory & Landing Preview

Unreal Engine 5.8 · one runtime module · Win64

The throw arc you can actually ship: bounce-chained trajectory prediction with a landing verdict, a splash ring conformed to the geometry, and occlusion-aware drawing — on UCanvas, so it survives a Shipping build.

The engine already predicts the path. It just cannot draw it: the only renderer is DrawDebugLine, and ENABLE_DRAW_DEBUG is 0 in Shipping. ArcCast draws through AHUD instead — no material, no mesh, no Niagara, no asset of any kind.

ArcCast does not throw anything. No projectile, no damage, no replication. It shows where the thing your game is about to launch would end up.


Quick start

  1. Copy ArcCast/ into your project's Plugins/ folder, restart the editor.
  2. Add the ArcCast component to the actor that aims. Attach it to the hand or the muzzle.
  3. Leave Profile empty — the built-in Grenade profile is used, so an arc appears immediately.

The arc is visible in PIE and in a packaged build through whatever HUD class you already have, and in the editor viewport with no play session — for that last one press G for Game View, because the editor path hangs off the engine's Game show flag.

To throw for real, hand Get Launch Location and Get Launch Velocity to your spawn — then the projectile follows the arc that was drawn.


What it does past the engine's own prediction

  • Bounce chain — the simulation continues past the first hit; later stretches draw thinner and fainter.
  • Landing verdictValid / TooSteep / Blocked / OutOfRange / NoGround, colouring the arc and broadcast as an event. With the navigation check on, it is a teleport target indicator.
  • Conformed splash ring — every ring point is probed onto the surface, so the ring lies on stairs and slopes instead of hovering through them.
  • Occlusion-aware drawing — hidden stretches are drawn faint and dashed, not removed.
  • Prediction with no drawingPredict Arc returns the whole result and draws nothing.

Console commands

ArcCast.Test · ArcCast.Bounces <n> · ArcCast.Occlusion 0|1 · ArcCast.Style solid|dashed|dots|clear · ArcCast.Clear · ArcCast.Stats [0|1]


Documentation

Online, free and without an account: https://github.com/SimulatedFlow/documentation

Full documentation: Docs/DOCUMENTATION.md Store description and honest limits: Docs/Fab-Store-Description.md

Online: https://github.com/SimulatedFlow/ue-plugin-ArcCast Support: mailto:teufelsilvan@gmail.com

Copyright 2026 Silvan Teufel. All Rights Reserved.

🛒 Source-available — see before you buy

This repository contains the full source of a commercial Unreal Engine plugin. It is source-available, not open source: read it, evaluate it, then buy a license to use it. See the Fab Content License Agreement / Unreal Engine EULA (purchase required).

Get it / Buy:

This plugin does not have its own Fab listing yet — the store link above is where everything we currently sell lives.

📬 Free UE5 Snippet-Pack

10 ready-to-use C++/Blueprint building blocks (subsystems, versioned saves, async nodes, editor tooling) — MIT licensed. Get it by joining the newsletter — plus a heads-up when something new ships. Double opt-in, unsubscribe in one click, no address sharing.

👉 Get the free pack

© 2026 Silvan Teufel. All rights reserved.

About

Throw and projectile trajectory preview for Unreal Engine 5 - bounce-chained arc prediction with a landing verdict and a splash ring conformed to the geometry, drawn on UCanvas so it survives a Shipping build. One runtime module, no Niagara, no mesh, no material.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n 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;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

ArcCast — Trajectory & Landing Preview

Unreal Engine 5.8 · one runtime module · Win64

The throw arc you can actually ship: bounce-chained trajectory prediction with a landing verdict, a splash ring conformed to the geometry, and occlusion-aware drawing — on UCanvas, so it survives a Shipping build.

The engine already predicts the path. It just cannot draw it: the only renderer is DrawDebugLine, and ENABLE_DRAW_DEBUG is 0 in Shipping. ArcCast draws through AHUD instead — no material, no mesh, no Niagara, no asset of any kind.

ArcCast does not throw anything. No projectile, no damage, no replication. It shows where the thing your game is about to launch would end up.


Quick start

  1. Copy ArcCast/ into your project's Plugins/ folder, restart the editor.
  2. Add the ArcCast component to the actor that aims. Attach it to the hand or the muzzle.
  3. Leave Profile empty — the built-in Grenade profile is used, so an arc appears immediately.

The arc is visible in PIE and in a packaged build through whatever HUD class you already have, and in the editor viewport with no play session — for that last one press G for Game View, because the editor path hangs off the engine's Game show flag.

To throw for real, hand Get Launch Location and Get Launch Velocity to your spawn — then the projectile follows the arc that was drawn.


What it does past the engine's own prediction

  • Bounce chain — the simulation continues past the first hit; later stretches draw thinner and fainter.
  • Landing verdictValid / TooSteep / Blocked / OutOfRange / NoGround, colouring the arc and broadcast as an event. With the navigation check on, it is a teleport target indicator.
  • Conformed splash ring — every ring point is probed onto the surface, so the ring lies on stairs and slopes instead of hovering through them.
  • Occlusion-aware drawing — hidden stretches are drawn faint and dashed, not removed.
  • Prediction with no drawingPredict Arc returns the whole result and draws nothing.

Console commands

ArcCast.Test · ArcCast.Bounces <n> · ArcCast.Occlusion 0|1 · ArcCast.Style solid|dashed|dots|clear · ArcCast.Clear · ArcCast.Stats [0|1]


Documentation

Online, free and without an account: https://github.com/SimulatedFlow/documentation

Full documentation: Docs/DOCUMENTATION.md Store description and honest limits: Docs/Fab-Store-Description.md

Online: https://github.com/SimulatedFlow/ue-plugin-ArcCast Support: mailto:teufelsilvan@gmail.com

Copyright 2026 Silvan Teufel. All Rights Reserved.

🛒 Source-available — see before you buy

This repository contains the full source of a commercial Unreal Engine plugin. It is source-available, not open source: read it, evaluate it, then buy a license to use it. See the Fab Content License Agreement / Unreal Engine EULA (purchase required).

Get it / Buy:

This plugin does not have its own Fab listing yet — the store link above is where everything we currently sell lives.

📬 Free UE5 Snippet-Pack

10 ready-to-use C++/Blueprint building blocks (subsystems, versioned saves, async nodes, editor tooling) — MIT licensed. Get it by joining the newsletter — plus a heads-up when something new ships. Double opt-in, unsubscribe in one click, no address sharing.

👉 Get the free pack

© 2026 Silvan Teufel. All rights reserved.

About

Throw and projectile trajectory preview for Unreal Engine 5 - bounce-chained arc prediction with a landing verdict and a splash ring conformed to the geometry, drawn on UCanvas so it survives a Shipping build. One runtime module, no Niagara, no mesh, no material.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

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

Repository files navigation

ArcCast — Trajectory & Landing Preview

Unreal Engine 5.8 · one runtime module · Win64

The throw arc you can actually ship: bounce-chained trajectory prediction with a landing verdict, a splash ring conformed to the geometry, and occlusion-aware drawing — on UCanvas, so it survives a Shipping build.

The engine already predicts the path. It just cannot draw it: the only renderer is DrawDebugLine, and ENABLE_DRAW_DEBUG is 0 in Shipping. ArcCast draws through AHUD instead — no material, no mesh, no Niagara, no asset of any kind.

ArcCast does not throw anything. No projectile, no damage, no replication. It shows where the thing your game is about to launch would end up.


Quick start

  1. Copy ArcCast/ into your project's Plugins/ folder, restart the editor.
  2. Add the ArcCast component to the actor that aims. Attach it to the hand or the muzzle.
  3. Leave Profile empty — the built-in Grenade profile is used, so an arc appears immediately.

The arc is visible in PIE and in a packaged build through whatever HUD class you already have, and in the editor viewport with no play session — for that last one press G for Game View, because the editor path hangs off the engine's Game show flag.

To throw for real, hand Get Launch Location and Get Launch Velocity to your spawn — then the projectile follows the arc that was drawn.


What it does past the engine's own prediction

  • Bounce chain — the simulation continues past the first hit; later stretches draw thinner and fainter.
  • Landing verdictValid / TooSteep / Blocked / OutOfRange / NoGround, colouring the arc and broadcast as an event. With the navigation check on, it is a teleport target indicator.
  • Conformed splash ring — every ring point is probed onto the surface, so the ring lies on stairs and slopes instead of hovering through them.
  • Occlusion-aware drawing — hidden stretches are drawn faint and dashed, not removed.
  • Prediction with no drawingPredict Arc returns the whole result and draws nothing.

Console commands

ArcCast.Test · ArcCast.Bounces <n> · ArcCast.Occlusion 0|1 · ArcCast.Style solid|dashed|dots|clear · ArcCast.Clear · ArcCast.Stats [0|1]


Documentation

Online, free and without an account: https://github.com/SimulatedFlow/documentation

Full documentation: Docs/DOCUMENTATION.md Store description and honest limits: Docs/Fab-Store-Description.md

Online: https://github.com/SimulatedFlow/ue-plugin-ArcCast Support: mailto:teufelsilvan@gmail.com

Copyright 2026 Silvan Teufel. All Rights Reserved.

🛒 Source-available — see before you buy

This repository contains the full source of a commercial Unreal Engine plugin. It is source-available, not open source: read it, evaluate it, then buy a license to use it. See the Fab Content License Agreement / Unreal Engine EULA (purchase required).

Get it / Buy:

This plugin does not have its own Fab listing yet — the store link above is where everything we currently sell lives.

📬 Free UE5 Snippet-Pack

10 ready-to-use C++/Blueprint building blocks (subsystems, versioned saves, async nodes, editor tooling) — MIT licensed. Get it by joining the newsletter — plus a heads-up when something new ships. Double opt-in, unsubscribe in one click, no address sharing.

👉 Get the free pack

© 2026 Silvan Teufel. All rights reserved.

About

Throw and projectile trajectory preview for Unreal Engine 5 - bounce-chained arc prediction with a landing verdict and a splash ring conformed to the geometry, drawn on UCanvas so it survives a Shipping build. One runtime module, no Niagara, no mesh, no material.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

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

Repository files navigation

ArcCast — Trajectory & Landing Preview

Unreal Engine 5.8 · one runtime module · Win64

The throw arc you can actually ship: bounce-chained trajectory prediction with a landing verdict, a splash ring conformed to the geometry, and occlusion-aware drawing — on UCanvas, so it survives a Shipping build.

The engine already predicts the path. It just cannot draw it: the only renderer is DrawDebugLine, and ENABLE_DRAW_DEBUG is 0 in Shipping. ArcCast draws through AHUD instead — no material, no mesh, no Niagara, no asset of any kind.

ArcCast does not throw anything. No projectile, no damage, no replication. It shows where the thing your game is about to launch would end up.


Quick start

  1. Copy ArcCast/ into your project's Plugins/ folder, restart the editor.
  2. Add the ArcCast component to the actor that aims. Attach it to the hand or the muzzle.
  3. Leave Profile empty — the built-in Grenade profile is used, so an arc appears immediately.

The arc is visible in PIE and in a packaged build through whatever HUD class you already have, and in the editor viewport with no play session — for that last one press G for Game View, because the editor path hangs off the engine's Game show flag.

To throw for real, hand Get Launch Location and Get Launch Velocity to your spawn — then the projectile follows the arc that was drawn.


What it does past the engine's own prediction

  • Bounce chain — the simulation continues past the first hit; later stretches draw thinner and fainter.
  • Landing verdictValid / TooSteep / Blocked / OutOfRange / NoGround, colouring the arc and broadcast as an event. With the navigation check on, it is a teleport target indicator.
  • Conformed splash ring — every ring point is probed onto the surface, so the ring lies on stairs and slopes instead of hovering through them.
  • Occlusion-aware drawing — hidden stretches are drawn faint and dashed, not removed.
  • Prediction with no drawingPredict Arc returns the whole result and draws nothing.

Console commands

ArcCast.Test · ArcCast.Bounces <n> · ArcCast.Occlusion 0|1 · ArcCast.Style solid|dashed|dots|clear · ArcCast.Clear · ArcCast.Stats [0|1]


Documentation

Online, free and without an account: https://github.com/SimulatedFlow/documentation

Full documentation: Docs/DOCUMENTATION.md Store description and honest limits: Docs/Fab-Store-Description.md

Online: https://github.com/SimulatedFlow/ue-plugin-ArcCast Support: mailto:teufelsilvan@gmail.com

Copyright 2026 Silvan Teufel. All Rights Reserved.

🛒 Source-available — see before you buy

This repository contains the full source of a commercial Unreal Engine plugin. It is source-available, not open source: read it, evaluate it, then buy a license to use it. See the Fab Content License Agreement / Unreal Engine EULA (purchase required).

Get it / Buy:

This plugin does not have its own Fab listing yet — the store link above is where everything we currently sell lives.

📬 Free UE5 Snippet-Pack

10 ready-to-use C++/Blueprint building blocks (subsystems, versioned saves, async nodes, editor tooling) — MIT licensed. Get it by joining the newsletter — plus a heads-up when something new ships. Double opt-in, unsubscribe in one click, no address sharing.

👉 Get the free pack

© 2026 Silvan Teufel. All rights reserved.

About

Throw and projectile trajectory preview for Unreal Engine 5 - bounce-chained arc prediction with a landing verdict and a splash ring conformed to the geometry, drawn on UCanvas so it survives a Shipping build. One runtime module, no Niagara, no mesh, no material.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

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

Repository files navigation

ArcCast — Trajectory & Landing Preview

Unreal Engine 5.8 · one runtime module · Win64

The throw arc you can actually ship: bounce-chained trajectory prediction with a landing verdict, a splash ring conformed to the geometry, and occlusion-aware drawing — on UCanvas, so it survives a Shipping build.

The engine already predicts the path. It just cannot draw it: the only renderer is DrawDebugLine, and ENABLE_DRAW_DEBUG is 0 in Shipping. ArcCast draws through AHUD instead — no material, no mesh, no Niagara, no asset of any kind.

ArcCast does not throw anything. No projectile, no damage, no replication. It shows where the thing your game is about to launch would end up.


Quick start

  1. Copy ArcCast/ into your project's Plugins/ folder, restart the editor.
  2. Add the ArcCast component to the actor that aims. Attach it to the hand or the muzzle.
  3. Leave Profile empty — the built-in Grenade profile is used, so an arc appears immediately.

The arc is visible in PIE and in a packaged build through whatever HUD class you already have, and in the editor viewport with no play session — for that last one press G for Game View, because the editor path hangs off the engine's Game show flag.

To throw for real, hand Get Launch Location and Get Launch Velocity to your spawn — then the projectile follows the arc that was drawn.


What it does past the engine's own prediction

  • Bounce chain — the simulation continues past the first hit; later stretches draw thinner and fainter.
  • Landing verdictValid / TooSteep / Blocked / OutOfRange / NoGround, colouring the arc and broadcast as an event. With the navigation check on, it is a teleport target indicator.
  • Conformed splash ring — every ring point is probed onto the surface, so the ring lies on stairs and slopes instead of hovering through them.
  • Occlusion-aware drawing — hidden stretches are drawn faint and dashed, not removed.
  • Prediction with no drawingPredict Arc returns the whole result and draws nothing.

Console commands

ArcCast.Test · ArcCast.Bounces <n> · ArcCast.Occlusion 0|1 · ArcCast.Style solid|dashed|dots|clear · ArcCast.Clear · ArcCast.Stats [0|1]


Documentation

Online, free and without an account: https://github.com/SimulatedFlow/documentation

Full documentation: Docs/DOCUMENTATION.md Store description and honest limits: Docs/Fab-Store-Description.md

Online: https://github.com/SimulatedFlow/ue-plugin-ArcCast Support: mailto:teufelsilvan@gmail.com

Copyright 2026 Silvan Teufel. All Rights Reserved.

🛒 Source-available — see before you buy

This repository contains the full source of a commercial Unreal Engine plugin. It is source-available, not open source: read it, evaluate it, then buy a license to use it. See the Fab Content License Agreement / Unreal Engine EULA (purchase required).

Get it / Buy:

This plugin does not have its own Fab listing yet — the store link above is where everything we currently sell lives.

📬 Free UE5 Snippet-Pack

10 ready-to-use C++/Blueprint building blocks (subsystems, versioned saves, async nodes, editor tooling) — MIT licensed. Get it by joining the newsletter — plus a heads-up when something new ships. Double opt-in, unsubscribe in one click, no address sharing.

👉 Get the free pack

© 2026 Silvan Teufel. All rights reserved.

About

Throw and projectile trajectory preview for Unreal Engine 5 - bounce-chained arc prediction with a landing verdict and a splash ring conformed to the geometry, drawn on UCanvas so it survives a Shipping build. One runtime module, no Niagara, no mesh, no material.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

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

Repository files navigation

ArcCast — Trajectory & Landing Preview

Unreal Engine 5.8 · one runtime module · Win64

The throw arc you can actually ship: bounce-chained trajectory prediction with a landing verdict, a splash ring conformed to the geometry, and occlusion-aware drawing — on UCanvas, so it survives a Shipping build.

The engine already predicts the path. It just cannot draw it: the only renderer is DrawDebugLine, and ENABLE_DRAW_DEBUG is 0 in Shipping. ArcCast draws through AHUD instead — no material, no mesh, no Niagara, no asset of any kind.

ArcCast does not throw anything. No projectile, no damage, no replication. It shows where the thing your game is about to launch would end up.


Quick start

  1. Copy ArcCast/ into your project's Plugins/ folder, restart the editor.
  2. Add the ArcCast component to the actor that aims. Attach it to the hand or the muzzle.
  3. Leave Profile empty — the built-in Grenade profile is used, so an arc appears immediately.

The arc is visible in PIE and in a packaged build through whatever HUD class you already have, and in the editor viewport with no play session — for that last one press G for Game View, because the editor path hangs off the engine's Game show flag.

To throw for real, hand Get Launch Location and Get Launch Velocity to your spawn — then the projectile follows the arc that was drawn.


What it does past the engine's own prediction

  • Bounce chain — the simulation continues past the first hit; later stretches draw thinner and fainter.
  • Landing verdictValid / TooSteep / Blocked / OutOfRange / NoGround, colouring the arc and broadcast as an event. With the navigation check on, it is a teleport target indicator.
  • Conformed splash ring — every ring point is probed onto the surface, so the ring lies on stairs and slopes instead of hovering through them.
  • Occlusion-aware drawing — hidden stretches are drawn faint and dashed, not removed.
  • Prediction with no drawingPredict Arc returns the whole result and draws nothing.

Console commands

ArcCast.Test · ArcCast.Bounces <n> · ArcCast.Occlusion 0|1 · ArcCast.Style solid|dashed|dots|clear · ArcCast.Clear · ArcCast.Stats [0|1]


Documentation

Online, free and without an account: https://github.com/SimulatedFlow/documentation

Full documentation: Docs/DOCUMENTATION.md Store description and honest limits: Docs/Fab-Store-Description.md

Online: https://github.com/SimulatedFlow/ue-plugin-ArcCast Support: mailto:teufelsilvan@gmail.com

Copyright 2026 Silvan Teufel. All Rights Reserved.

🛒 Source-available — see before you buy

This repository contains the full source of a commercial Unreal Engine plugin. It is source-available, not open source: read it, evaluate it, then buy a license to use it. See the Fab Content License Agreement / Unreal Engine EULA (purchase required).

Get it / Buy:

This plugin does not have its own Fab listing yet — the store link above is where everything we currently sell lives.

📬 Free UE5 Snippet-Pack

10 ready-to-use C++/Blueprint building blocks (subsystems, versioned saves, async nodes, editor tooling) — MIT licensed. Get it by joining the newsletter — plus a heads-up when something new ships. Double opt-in, unsubscribe in one click, no address sharing.

👉 Get the free pack

© 2026 Silvan Teufel. All rights reserved.

About

Throw and projectile trajectory preview for Unreal Engine 5 - bounce-chained arc prediction with a landing verdict and a splash ring conformed to the geometry, drawn on UCanvas so it survives a Shipping build. One runtime module, no Niagara, no mesh, no material.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

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

Repository files navigation

ArcCast — Trajectory & Landing Preview

Unreal Engine 5.8 · one runtime module · Win64

The throw arc you can actually ship: bounce-chained trajectory prediction with a landing verdict, a splash ring conformed to the geometry, and occlusion-aware drawing — on UCanvas, so it survives a Shipping build.

The engine already predicts the path. It just cannot draw it: the only renderer is DrawDebugLine, and ENABLE_DRAW_DEBUG is 0 in Shipping. ArcCast draws through AHUD instead — no material, no mesh, no Niagara, no asset of any kind.

ArcCast does not throw anything. No projectile, no damage, no replication. It shows where the thing your game is about to launch would end up.


Quick start

  1. Copy ArcCast/ into your project's Plugins/ folder, restart the editor.
  2. Add the ArcCast component to the actor that aims. Attach it to the hand or the muzzle.
  3. Leave Profile empty — the built-in Grenade profile is used, so an arc appears immediately.

The arc is visible in PIE and in a packaged build through whatever HUD class you already have, and in the editor viewport with no play session — for that last one press G for Game View, because the editor path hangs off the engine's Game show flag.

To throw for real, hand Get Launch Location and Get Launch Velocity to your spawn — then the projectile follows the arc that was drawn.


What it does past the engine's own prediction

  • Bounce chain — the simulation continues past the first hit; later stretches draw thinner and fainter.
  • Landing verdictValid / TooSteep / Blocked / OutOfRange / NoGround, colouring the arc and broadcast as an event. With the navigation check on, it is a teleport target indicator.
  • Conformed splash ring — every ring point is probed onto the surface, so the ring lies on stairs and slopes instead of hovering through them.
  • Occlusion-aware drawing — hidden stretches are drawn faint and dashed, not removed.
  • Prediction with no drawingPredict Arc returns the whole result and draws nothing.

Console commands

ArcCast.Test · ArcCast.Bounces <n> · ArcCast.Occlusion 0|1 · ArcCast.Style solid|dashed|dots|clear · ArcCast.Clear · ArcCast.Stats [0|1]


Documentation

Online, free and without an account: https://github.com/SimulatedFlow/documentation

Full documentation: Docs/DOCUMENTATION.md Store description and honest limits: Docs/Fab-Store-Description.md

Online: https://github.com/SimulatedFlow/ue-plugin-ArcCast Support: mailto:teufelsilvan@gmail.com

Copyright 2026 Silvan Teufel. All Rights Reserved.

🛒 Source-available — see before you buy

This repository contains the full source of a commercial Unreal Engine plugin. It is source-available, not open source: read it, evaluate it, then buy a license to use it. See the Fab Content License Agreement / Unreal Engine EULA (purchase required).

Get it / Buy:

This plugin does not have its own Fab listing yet — the store link above is where everything we currently sell lives.

📬 Free UE5 Snippet-Pack

10 ready-to-use C++/Blueprint building blocks (subsystems, versioned saves, async nodes, editor tooling) — MIT licensed. Get it by joining the newsletter — plus a heads-up when something new ships. Double opt-in, unsubscribe in one click, no address sharing.

👉 Get the free pack

© 2026 Silvan Teufel. All rights reserved.

About

Throw and projectile trajectory preview for Unreal Engine 5 - bounce-chained arc prediction with a landing verdict and a splash ring conformed to the geometry, drawn on UCanvas so it survives a Shipping build. One runtime module, no Niagara, no mesh, no material.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

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

Repository files navigation

ArcCast — Trajectory & Landing Preview

Unreal Engine 5.8 · one runtime module · Win64

The throw arc you can actually ship: bounce-chained trajectory prediction with a landing verdict, a splash ring conformed to the geometry, and occlusion-aware drawing — on UCanvas, so it survives a Shipping build.

The engine already predicts the path. It just cannot draw it: the only renderer is DrawDebugLine, and ENABLE_DRAW_DEBUG is 0 in Shipping. ArcCast draws through AHUD instead — no material, no mesh, no Niagara, no asset of any kind.

ArcCast does not throw anything. No projectile, no damage, no replication. It shows where the thing your game is about to launch would end up.


Quick start

  1. Copy ArcCast/ into your project's Plugins/ folder, restart the editor.
  2. Add the ArcCast component to the actor that aims. Attach it to the hand or the muzzle.
  3. Leave Profile empty — the built-in Grenade profile is used, so an arc appears immediately.

The arc is visible in PIE and in a packaged build through whatever HUD class you already have, and in the editor viewport with no play session — for that last one press G for Game View, because the editor path hangs off the engine's Game show flag.

To throw for real, hand Get Launch Location and Get Launch Velocity to your spawn — then the projectile follows the arc that was drawn.


What it does past the engine's own prediction

  • Bounce chain — the simulation continues past the first hit; later stretches draw thinner and fainter.
  • Landing verdictValid / TooSteep / Blocked / OutOfRange / NoGround, colouring the arc and broadcast as an event. With the navigation check on, it is a teleport target indicator.
  • Conformed splash ring — every ring point is probed onto the surface, so the ring lies on stairs and slopes instead of hovering through them.
  • Occlusion-aware drawing — hidden stretches are drawn faint and dashed, not removed.
  • Prediction with no drawingPredict Arc returns the whole result and draws nothing.

Console commands

ArcCast.Test · ArcCast.Bounces <n> · ArcCast.Occlusion 0|1 · ArcCast.Style solid|dashed|dots|clear · ArcCast.Clear · ArcCast.Stats [0|1]


Documentation

Online, free and without an account: https://github.com/SimulatedFlow/documentation

Full documentation: Docs/DOCUMENTATION.md Store description and honest limits: Docs/Fab-Store-Description.md

Online: https://github.com/SimulatedFlow/ue-plugin-ArcCast Support: mailto:teufelsilvan@gmail.com

Copyright 2026 Silvan Teufel. All Rights Reserved.

🛒 Source-available — see before you buy

This repository contains the full source of a commercial Unreal Engine plugin. It is source-available, not open source: read it, evaluate it, then buy a license to use it. See the Fab Content License Agreement / Unreal Engine EULA (purchase required).

Get it / Buy:

This plugin does not have its own Fab listing yet — the store link above is where everything we currently sell lives.

📬 Free UE5 Snippet-Pack

10 ready-to-use C++/Blueprint building blocks (subsystems, versioned saves, async nodes, editor tooling) — MIT licensed. Get it by joining the newsletter — plus a heads-up when something new ships. Double opt-in, unsubscribe in one click, no address sharing.

👉 Get the free pack

© 2026 Silvan Teufel. All rights reserved.

About

Throw and projectile trajectory preview for Unreal Engine 5 - bounce-chained arc prediction with a landing verdict and a splash ring conformed to the geometry, drawn on UCanvas so it survives a Shipping build. One runtime module, no Niagara, no mesh, no material.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages