Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice

Official Unity Answers shutdown - canceled

Discussion in 'Announcements' started by LeonhardP, Jun 9, 2022.

Thread Status:
Not open for further replies.
  1. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,084
    Maybe you just like wasting time watching videos or searching several discord channels.
     
  2. NotaNaN

    NotaNaN

    Joined:
    Dec 14, 2018
    Posts:
    324
    I just found out about the "UA shutdown" decision (and cancelled or not) I'm appalled an idea like this could even make it through focus group testing.

    You guys do focus group testing... right? RIGHT?
     
    keith801, Alic, tcmeric and 5 others like this.
  3. chantey

    chantey

    Joined:
    Mar 5, 2017
    Posts:
    49
    This is still an issue that needs solving, having a split of community/content between Unity Answers and Stack Overflow is good for nobody.

    The way I see it we can have our cake and eat it too. Unity could get on the phone with SO and work on migrating the Unity Answers database over to SO.

    There are lots of options for how to assign an account to each post, probably depending on your Terms of Service:
    • All posts from a locked `UnityAnswers` account
    • All posts from a locked `UnityAnswers (userName)` account
    • An opt-in account link flow.
    Good luck Unity Team and thank you for being bold and trying to improve our community.
     
  4. Bunny83

    Bunny83

    Joined:
    Oct 18, 2010
    Posts:
    3,604
    I don't quite understand what you're suggesting here. First of all, there are many Answers sites out there that are based on the StackExchange engine, not just StackOverflow. As it was mentioned before, UA used to be based on the StackExchange engine but they had to switch to a different engine / backend because they (StackExchange) changed their business model that was not compatible with what Unity needed / wanted. Keep in mind that there's almost always a huge difference between free, private usecases of such a software / service and a business / commercial usage. There are restrictions, license fees and what not. You can read about the switch in this old Answer. Here's another one about the switch.
     
  5. celaeno

    celaeno

    Joined:
    Jan 31, 2013
    Posts:
    64
    EDIT: At this moment UnityAnswers seems to be back online, thanks Unity!! Please keep it online!!!

    This is so bad!!!

    I found this thread because I was searching for a Unity3d problem with google. I got a lot of search results all at UnityAnswers, but all I saw was bad gateway 502 screens. When I searched the exact same keywords at Unity Forums I got ZERO search results!!!
     
    Last edited: Jul 1, 2022
  6. BradZoob

    BradZoob

    Joined:
    Feb 12, 2014
    Posts:
    66
    Oh wow, this feels like new ground, over the past decade I've been flabbergasted by the increasingly frequently amateurish approach to problem solving sometimes exhibited by Unity with apparently no long term thinking or at least 1 person in the room capable of telling a team manager that something is a bad idea because of this this and this, but this is a sign of hope. I hope the age of hiding problems (ie, the perception of unanswered questions as a failure to support customers, which it isn't, it acts as a forum / comments, even if not relevant to currency of the system, some folks work in legacy editions and even if there is bad advice it's always better to have history on a complex product, which works in your favour re: support, and the convolution of answers helps demonstrate some depth of the features and also draws out reasons why) instead of dealing with them head on is in the past and a holistic approach to implementation can be fostered going forward. Still love ya unity, just have you on pause until you sort your S*** out.
     
  7. chantey

    chantey

    Joined:
    Mar 5, 2017
    Posts:
    49
    I'm suggesting we reduce community fragmentation, regardless of how we got here.
     
    Darkgaze and DragonCoder like this.
  8. mstevenson

    mstevenson

    Joined:
    Sep 24, 2009
    Posts:
    189
    Just wanted to toss in my 2¢. I've been using Unity professionally, and almost exclusively, since 2008. I remember getting tech support directly from the CEO when the whole organization was only a dozen people.

    A couple weeks ago I was stuck on a tough problem that I couldn't work through. Some quick googling led me to a years-old post in Unity Answers that very clearly laid out a solution to my exact problem, complete with reasoning and a working code sample. The brevity, simplicity, and discoverability of Unity Answers represents a priceless repository of institutional knowledge that should never be lost. A forum post with 20+ pages of rambling, or a Discord that relies on the limited knowledge of its current active users, can not fulfill the same function of storing and preserving collective knowledge.

    Over the years I've felt a progressive disconnect from Unity and its developers, marked by what appears to be hasty, poorly researched, and opaque decisions which often drop very suddenly after years of languid or directionless reactions to customer feedback. I appreciate the quick reversal of this particular decision, but the frequency and severity of these kinds of disconnects has become increasingly disheartening.

    Thank you for preserving Unity Answers, and I hope that whoever inherits my codebase in the future can rely on the URLs that I provided in comments for them to learn from.
     
  9. BasicallyGames

    BasicallyGames

    Joined:
    Aug 31, 2018
    Posts:
    91
    Glad this decision was reversed, but just wanted to pop in and say that today I found this: https://answers.unity.com/questions/1273879/local-point-to-world-point-without-transformpoint.html

    This is exactly what I needed to get something working how I wanted. From what I see, all other search results I got do not have this information, most don't even pertain to the same question. It's six years old, but still perfectly applicable to the latest versions of Unity.

    I can't imagine how long I could have been banging my head against a wall looking for a solution had this been deleted.
     
  10. celaeno

    celaeno

    Joined:
    Jan 31, 2013
    Posts:
    64
    Nothing needs to be solved!

    It's good for everybody that there are different forums and no monopoly. I search with google, when I searched on the Unity forum for a particular keyword, it found nothing, while google gave the results. I had to search with google to find the results on the Unity forum.

    What do you mean with "we"? Are you from Unity3d?

    If a company wants too much cake and wants to excel in all areas, it can turn out wrong. Unity3d made that mistake more than once.

    Really, really bad idea!!

    I'm only seeing things getting messed up this way. I find the unity3d forum terribly unclear and I search with google. Also see the posts from BasicallyGames and mstevenson above this post :)
     
    Last edited: Jul 5, 2022
  11. andybak

    andybak

    Joined:
    Jan 14, 2017
    Posts:
    566
    Hopefully someone at Unity is old enough to remember this: https://www.w3.org/Provider/Style/URI

    It's still good advice and it's sad people need to be continually reminded of it.

    There's is very few situations where removing content from the web is the right thing to do. Sometimes it's unavoidable (bankruptcy, legal issues). This is NOT one of those situations and I'm disappointed that "burn it all down" was even considered for a moment.
     
    mstevenson and NotaNaN like this.
  12. Bunny83

    Bunny83

    Joined:
    Oct 18, 2010
    Posts:
    3,604
    Well, in that case the few SO users could move over to UA since they are in the minority ^^. There are 5 times more questions on UA than there are questions tagged unity on SO. Also UA has about 30% of the questions unanswered while SO has about 40% unanswered. So it's clear that UA is actually more actively used compared to SO.

    Sure, the StackExchange engine has many technical improvements / advantages which would be nice to have. However SO as a platform has quite strict rules and a lot of toxic people. As a result a lot people have left SO behind. See this just as an example. The first response recommends to use a specialized forum instead, which UA is. You find countless of examples of people complaining about SO, even on it's own meta 8 years ago.

    As I said, UA used the stack exchange engine in the past and moved away from it. So moving back doesn't make too much sense.
     
  13. Zapan15

    Zapan15

    Joined:
    Apr 11, 2011
    Posts:
    179
    Hi,

    I do not want to get too emotional in this post, but from my perspective you made some very bad moves in the past weeks.

    One of the strength of unity was the community. If you want to delete this gold nugget of information and knowledge (Unity Answers) then this would be a very big failure.

    I know, cutting costs is important for now, but to be hornsest, I do believe that there must be a very cost efficient wait to keep Unity Answers in a read only mode for some years.

    Please, do not delete it! If you lost interest on it, it is okay, just do it like with the other things, do not care about it…

    Sorry
    André

    EDIT:
    I read that you are not going to delete it! +1 Thanks!
     
    Last edited: Jul 5, 2022
  14. Darkgaze

    Darkgaze

    Joined:
    Apr 3, 2017
    Posts:
    376
    Following the thread, this is what I think would help:
    • Improve search in forums, make it easy and fast to use... not a long form with infinite lists to choose from, etc.
    • Improve Unity Answers text editor and formatting to make it look much better than it does now.
    • Have somebody working on it or allow higher level members of the community to clean up the mess organically, allowing to mark bad answers and delete dirt, and merging similar questions.
    • Allow duplicated questions to be marked and located while writing a new one, so that it is not filled with repeated questions
    • Additionally, making the community participate by giving rewards for helping, editing posts, improving readability just like Stack Overflow does.
    Those things would help enormously, make UA very popular and good looking and keep forums for longer discussions and other type of conversations. Forum posts difficult to search and take longer to read and find the answers.
     
  15. Vincent454

    Vincent454

    Joined:
    Oct 26, 2014
    Posts:
    163
    In all honesty though - How completely out of touch do you have to be with your user base to think you should just shut probably the most important site for getting quick help down? I can't imagine what I would do without it??

    Decisions like this make me consider using a different engine every time I see them. Especially seeing how much power the company that makes the engine has over the end result with decisions like this that can severely impact development of anyones game

    I only saw this because garry newman wrote about this https://garry.blog/unity-2022/ I recommend reading through this, its quite interesting. Makes me scared for the future of Unity more and more. What's next, completely removing the built-in rp? Anything could happen with this company it seems.
     
    Alic, Ghosthowl, Energy0124 and 6 others like this.
  16. andybak

    andybak

    Joined:
    Jan 14, 2017
    Posts:
    566
    God, the search UI is shocking. Trying to search a single forum is painful.
     
    Ghosthowl and Vincent454 like this.
  17. andybak

    andybak

    Joined:
    Jan 14, 2017
    Posts:
    566
    This is the most important point here. Stack-style sites need moderation. It's critical to nudge people to use them correctly and there's been almost no effort put into this side of things on Unity Answers. It's full of duplicates, non-questions, people posting new questions as answers to existing ones. You don't just start a Stack site then walk away and hope for the best.
     
  18. JesOb

    JesOb

    Joined:
    Sep 3, 2012
    Posts:
    1,083
    Just don't use any internal tools use Google!
    to search only this topic type in browser address bar:
    site:forum.unity.com/threads/unity-answers-shutdown-canceled.1293360 read the OP
     
  19. Bunny83

    Bunny83

    Joined:
    Oct 18, 2010
    Posts:
    3,604
    Well, yes, partially. However there's a huge issue and debate where to draw the line what is considered a good question and what is not. I would essentially say there are two measures that apply to questions: The quality and importance of the topic and the other is the quality of the expression of the question. If we have really basic questions that are poorly written we usually delete them. However if you plot those two categories in a 2x2 grid we have the issue with the two diagonal corner cases. What about good / important topic questions which are poorly written / expressed and what about the kinda basic questions which are written very well and detailed. In the end we all want to have good information out there. Killing of a question because it's "too basic" but actually well written is a not really good.

    Just as some arbitrary examples that come to my mind, there was this kinda poorly written and really general vague question which essentially said: How to do any kind of editor scripting. I took that as a reason to write my IMGUI crash course. There were really odd niche questions which are almost off topic like this FFT question. Sometimes out of the most generic questions we get some great results. Like Eric's circular progress bar. Others have ask about quite obscure in depth topics that most people probably never have to worry about like creating a projection matrix from scratch. I took that as an opportunity to explain matrices in general and how they apply to transforming and projecting space.

    So it's quite difficult to properly sort out "bad questions". We still have tons of questions in the reported queue (about 300) some quite old, but it takes a lot of time to actually look through all them and decide what to do. Most the time when I've looking through the reported queue I cut out the clear spammers and bots and make decisions on one or two of the older reports. One of the issues is that there are just a few passionate active members on UA and we get like 100 new user accounts a day on UA. I'm / was on UA mainly to answer questions. I don't really like to decide if a question is good or bad. Yes, we have the moderator guidelines, but it's actually difficult to properly apply them. There are so many variations. Just looking at the last created questions right now they range from "ellipse generating function", over "Wave function collapse code" to questions that state that "touch Raycasts are imprecise". Others ask about "how to use a generic method in C#" or "How to create a custom pivot without a parent gameobject". All in all those are all valid questions and the range of topics is endless.

    As I mentioned above, by which criteria do you want to kick out questions?. Yes, we have added the "Help Room" which was meant as a seperate place were we would move questions which just ask for help with some of their code. However even here we have so many blends between topics that you can not clearly say where it belongs. As a result we have people asking really good questions in the help room where they actually don't belong and most "noob" questions still end up in the default space. As a result it just created much more work for the moderators and more fragmentation. You would need probably a few people who just moderate the site. However in order to decide where a question belongs you need at least a decent amount of expertise. Though those with expertise probably don't want to spend the whole time just shifting questions around.

    One issue with moderating UA is, we can use the reporting functionality to properly delete wrong posts which would actually revert the bump. However in that case we can't post an answer to explain it to the poster as this would again bump the question. The system is not that great.
     
    Alic and Hellium like this.
  20. TimHeijden2

    TimHeijden2

    Joined:
    Aug 11, 2016
    Posts:
    86
    Just found out about the original intention to shutdown UA, very glad it wasn't for all the reasons mentioned by the others. I have to say what particularly suprised me about this original intention is the VERY short notice we would have had... less than two weeks of notice is quite insane to me.

    Feels a bit like that time years ago when Unity randomly decided they wanted a new awful forum back-end (IIRC also without any notice) and everything broke for about a week until they reverted back to the original.
     
    Alic and Vincent454 like this.
  21. Thygrrr

    Thygrrr

    Joined:
    Sep 23, 2013
    Posts:
    675
    How about you:
    A) don't shut down UA.
    B) Update/replace the Forum software here and redesign the subforum layout, ffs.
     
  22. Rodolfo-Rubens

    Rodolfo-Rubens

    Joined:
    Nov 17, 2012
    Posts:
    1,196
    This has been done in the past, and that was a mess, lots of illegible fonts and colors, then they reverted to this design...
    Source
     
    Last edited: Jul 15, 2022
    akuno likes this.
  23. andrew-lukasik

    andrew-lukasik

    Joined:
    Jan 31, 2013
    Posts:
    243
    I posted too much. Understandable. Clever, even.
    Screenshot 2022-10-03 223317.png
     
  24. mgear

    mgear

    Joined:
    Aug 3, 2010
    Posts:
    9,058
    andrew-lukasik likes this.
  25. Bunny83

    Bunny83

    Joined:
    Oct 18, 2010
    Posts:
    3,604
    I just reloaded UA (I always have UA and the scripting forum open ^^) and it loaded without issues for me. Of course there may be loadbalancers or other local differences. So not everyone on this planet has necessary the same experience.
     
    andrew-lukasik likes this.
  26. andrew-lukasik

    andrew-lukasik

    Joined:
    Jan 31, 2013
    Posts:
    243
    It shows me this screen for many weeks now. Looks like my local provider (or router?) is blocked. I think I will let it go this time. They aren't fixing it, so why should I care either.

    I was annoyed for like a month but that feeling has passed eventually and I started spending my pass-time elsewhere. I made my peace.

    Tried that. Same everything but different ISP made it work.
     
    Last edited: Oct 4, 2022
  27. berniegp

    berniegp

    Unity Technologies

    Joined:
    Sep 9, 2020
    Posts:
    42
    Hey @andrew-lukasik , please try to clear your browser cache (or open the site in an Incognito window). I know this sounds like generic advice, but I've seen these steps fix similar issues first hand.
     
  28. SurreyMuso

    SurreyMuso

    Joined:
    Mar 16, 2020
    Posts:
    63
    I've had this problem twice now with answers.unity.com. Turns out I was just too busy on the site. I was deleting masses of spam and answering a lot of questions with the result being that it was Answers that blocked IP, thinking I was spamming the site. Each time I reported to it Unity support and they got the technical team to free my IP address.

    During this time, I was able to get on using a VPN (hence a new ISP working for you). I did ask that the team provide a better solution but I don't know if that's being implemented or not.
     
    andrew-lukasik likes this.
  29. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,084
    Last edited: Jan 7, 2023
    Ruslank100, -chris, ModLunar and 4 others like this.
  30. Shizola

    Shizola

    Joined:
    Jun 29, 2014
    Posts:
    452
    That bug almost has a creepy vibe to it. Hope they can fix it.
     
    ModLunar likes this.
  31. Spazius

    Spazius

    Joined:
    May 22, 2018
    Posts:
    13
    It seems if you replace "$$anonymous$$" with "hi", it becomes eligible again. My wild speculation is that they deleted a user by the name "hi", and their system attempted to delete all mentions of the name, to an unintended effect.
     
    -chris, ModLunar, NotaNaN and 5 others like this.
  32. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,084
    Yeah, seems like it. Script from different thread for tampermonkey, changed it to only replace it with hi:
    Code (CSharp):
    1. // ==UserScript==
    2. // @name         Eliminate $$anonymous$$
    3. // @version      1.0.5
    4. // @description  Replace $$anonymous$$ on Unity Answers!
    5. // @license      MIT
    6. // @author       murphyne
    7. // @namespace    https://github.com/murphyne
    8. // @match        https://answers.unity.com/*
    9. // @icon         https://www.google.com/s2/favicons?domain=answers.unity.com
    10. // @updateUrl    https://github.com/murphyne/unity-answers-anonymous/releases/latest/download/no-anonymous.meta.js
    11. // @downloadUrl  https://github.com/murphyne/unity-answers-anonymous/releases/latest/download/no-anonymous.user.js
    12. // @grant        GM_addStyle
    13. // @grant        GM_registerMenuCommand
    14. // @grant        GM_getValue
    15. // @grant        GM_setValue
    16. // ==/UserScript==
    17.  
    18. function eliminateAnonymous () {
    19.  
    20.   const cssStyle = `
    21.     span.anonymous {
    22.       -moz-text-decoration-line: underline;
    23.       -moz-text-decoration-style: dotted;
    24.       -moz-text-decoration-color: brown;
    25.       -webkit-text-decoration-line: underline;
    26.       -webkit-text-decoration-style: dotted;
    27.       -webkit-text-decoration-color: brown;
    28.       text-decoration-line: underline;
    29.       text-decoration-style: dotted;
    30.       text-decoration-color: brown;
    31.       text-decoration-thickness: 1px;
    32.       text-decoration-skip-ink: none;
    33.     }
    34.   `;
    35.  
    36.   function Config(key, defaultValue) {
    37.     this.key = key;
    38.     this.defaultValue = defaultValue;
    39.  
    40.     Object.defineProperty(this, "value", {
    41.       get() {
    42.         return GM_getValue(this.key, defaultValue);
    43.       },
    44.       set(value) {
    45.         GM_setValue(this.key, value);
    46.       },
    47.     });
    48.   }
    49.  
    50.   let isHighlightEnabled = new Config("isHighlightEnabled", true);
    51.  
    52.   let style = {
    53.     styleElement: null,
    54.     set enabled(value) {
    55.       if (value) { this.styleElement = GM_addStyle(cssStyle); }
    56.       else { this.styleElement?.remove(); }
    57.     }
    58.   };
    59.  
    60.   GM_registerMenuCommand('Toggle the highlight', function toggleHighlight () {
    61.     isHighlightEnabled.value = !isHighlightEnabled.value;
    62.     style.enabled = isHighlightEnabled.value;
    63.   });
    64.  
    65.   style.enabled = isHighlightEnabled.value;
    66.  
    67.   var replacements = [
    68. //  [ /(\$\$anonymous\$\$onoBehaviour)/g, "MonoBehaviour" ],
    69. //  [ /(Get\$\$anonymous\$\$eyDown)/g, "GetKeyDown" ],
    70. //  [ /(any\$\$anonymous\$\$eyDown)/g, "anyKeyDown" ],
    71. //  [ /(ANI\$\$anonymous\$\$ATION)/g, "ANIMATION" ],
    72. //  [ /(perfor\$\$anonymous\$\$g)/g, "performing" ],
    73. //  [ /(\$\$anonymous\$\$aterial)/g, "Material" ],
    74. //  [ /(lu\$\$anonymous\$\$ance)/g, "luminance" ],
    75. //  [ /(consu\$\$anonymous\$\$g)/g, "consuming" ],
    76. //  [ /(\$\$anonymous\$\$eyCode)/g, "KeyCode" ],
    77. //  [ /(WOR\$\$anonymous\$\$ING)/g, "WORKING" ],
    78. //  [ /(Wor\$\$anonymous\$\$ing)/g, "Working" ],
    79. //  [ /(wor\$\$anonymous\$\$ing)/g, "working" ],
    80. //  [ /(EXA\$\$anonymous\$\$PLE)/g, "EXAMPLE" ],
    81. //  [ /(\$\$anonymous\$\$essage)/g, "Message" ],
    82. //  [ /(\$\$anonymous\$\$anager)/g, "Manager" ],
    83. //  [ /(stem\$\$anonymous\$\$g)/g, "stemming" ],
    84. //  [ /(deter\$\$anonymous\$\$)/g, "determin" ],
    85. //  [ /(eli\$\$anonymous\$\$at)/g, "eliminat" ],
    86. //  [ /(THAN\$\$anonymous\$\$S)/g, "THANKS" ],
    87. //  [ /(\$\$anonymous\$\$odule)/g, "Module" ],
    88. //  [ /(INS\$\$anonymous\$\$D)/g, "INSTEAD" ],
    89. //  [ /(Ins\$\$anonymous\$\$d)/g, "Instead" ],
    90. //  [ /(ins\$\$anonymous\$\$d)/g, "instead" ],
    91. //  [ /(THAN\$\$anonymous\$\$)/g, "THANK" ],
    92. //  [ /(\$\$anonymous\$\$evin)/g, "Kevin" ],
    93. //  [ /(\$\$anonymous\$\$inda)/g, "Kinda" ],
    94. //  [ /(is\$\$anonymous\$\$ey)/g, "isKey" ],
    95. //  [ /(\$\$anonymous\$\$ouse)/g, "Mouse" ],
    96. //  [ /(\$\$anonymous\$\$athf)/g, "Mathf" ],
    97. //  [ /(I\$\$anonymous\$\$GUI)/g, "IMGUI" ],
    98. //  [ /(co\$\$anonymous\$\$g)/g, "coming" ],
    99. //  [ /(HO\$\$anonymous\$\$E)/g, "HOME" ],
    100. //  [ /(O\$\$anonymous\$\$FG)/g, "OMFG" ],
    101. //  [ /(\$\$anonymous\$\$eep)/g, "Keep" ],
    102. //  [ /(\$\$anonymous\$\$ath)/g, "Math" ],
    103. //  [ /(\$\$anonymous\$\$esh)/g, "Mesh" ],
    104. //  [ /(\$\$anonymous\$\$ove)/g, "Move" ],
    105. //  [ /(\$\$anonymous\$\$ode)/g, "Mode" ],
    106. //  [ /(\$\$anonymous\$\$ost)/g, "Most" ],
    107. //  [ /(\$\$anonymous\$\$ch)/g, "teach" ],
    108. //  [ /(\$\$anonymous\$\$in)/g, "Min" ],
    109. //  [ /(\$\$anonymous\$\$ax)/g, "Max" ],
    110. //  [ /(\$\$anonymous\$\$ey)/g, "Key" ],
    111. //  [ /(ND\$\$anonymous\$\$)/g, "NDK" ],
    112. //  [ /(SD\$\$anonymous\$\$)/g, "SDK" ],
    113. //  [ /(AR\$\$anonymous\$\$)/g, "ARM" ],
    114. //  [ /(I\$\$anonymous\$\$O)/g, "IMO" ],
    115. //  [ /(CO\$\$anonymous\$\$)/g, "COM" ],
    116. //  [ /(AP\$\$anonymous\$\$)/g, "APK" ],
    117. //  [ /(O\$\$anonymous\$\$G)/g, "OMG" ],
    118. //  [ /(\$\$anonymous\$\$d)/g, "mind" ],
    119. //  [ /(\$\$anonymous\$\$m)/g, "team" ],
    120. //  [ /(I\$\$anonymous\$\$)/g, "IK" ],
    121. //  [ /(O\$\$anonymous\$\$)/g, "OK" ],
    122. //  [ /(\$\$anonymous\$\$y)/g, "My" ],
    123.     [ /(\$\$anonymous\$\$)/g, "hi" ],
    124.   ];
    125.  
    126.   var nodes = traverseNodeTree(document.body).flat(Infinity);
    127.   processNodes(nodes);
    128.  
    129.   const documentObserver = new MutationObserver(function documentCallback (mutations) {
    130.     for (let i = 0; i < mutations.length; i++) {
    131.       const mutation = mutations[i];
    132.       for (let j = 0; j < mutation.addedNodes.length; j++) {
    133.         const root = mutation.addedNodes[j];
    134.         var nodes = traverseNodeTree(root).flat(Infinity);
    135.         processNodes(nodes);
    136.       }
    137.     }
    138.   });
    139.   documentObserver.observe(document, {subtree: true, childList: true});
    140.  
    141.   function processNodes (nodes) {
    142.     for (let node of nodes) {
    143.       if (node.nodeName === "A") {
    144.         if (checkAnonymous(node.href)) {
    145.           node.href = replaceAnonymous(node.href);
    146.         }
    147.       }
    148.  
    149.       if (node.nodeType === Node.TEXT_NODE) {
    150.         if (node.textContent.trim() !== "") {
    151.           if (checkAnonymous(node.textContent)) {
    152.             let fragment = new DocumentFragment();
    153.  
    154.             let tokens = tokenize(node.textContent);
    155.             for (let token of tokens) {
    156.               fragment.appendChild(createNode(token));
    157.             }
    158.  
    159.             node.replaceWith(fragment);
    160.           }
    161.         }
    162.       }
    163.     }
    164.   }
    165.  
    166.   function tokenize (textContent) {
    167.     let tokens = [{isAnonymous: false, before: textContent, after: textContent}];
    168.     for (let replacement of replacements) {
    169.       tokens = tokens.flatMap(function (token) {
    170.         if (token.isAnonymous) return [token];
    171.  
    172.         let newStrings = token.after.split(replacement[0]);
    173.         return newStrings.map(function (newString) {
    174.           return replacement[0].test(newString)
    175.             ? {isAnonymous: true, before: newString, after: newString.replaceAll(replacement[0], replacement[1])}
    176.             : {isAnonymous: false, before: newString, after: newString}
    177.         });
    178.       });
    179.     }
    180.     return tokens;
    181.   }
    182.  
    183.   function createNode (token) {
    184.     if (token.isAnonymous) {
    185.       let span = document.createElement("span");
    186.       span.classList.add("anonymous");
    187.       span.textContent = token.after;
    188.       span.title = `${token.before} → ${token.after}`;
    189.       return span;
    190.     }
    191.     else {
    192.       return document.createTextNode(token.after);
    193.     }
    194.   }
    195.  
    196.   function checkAnonymous (str) {
    197.     return str.includes("$$anonymous$$");
    198.   }
    199.  
    200.   function replaceAnonymous (str) {
    201.     for (let replacement of replacements) {
    202.       str = str.replaceAll(replacement[0], replacement[1]);
    203.     }
    204.     return str;
    205.   }
    206.  
    207.   function traverseNodeTree (root) {
    208.     if (root.childNodes.length > 0) {
    209.       var childNodes = Array.from(root.childNodes);
    210.       var childNodesDeep = childNodes.map(traverseNodeTree);
    211.       return [root].concat(childNodesDeep);
    212.     }
    213.     else {
    214.       return [root];
    215.     }
    216.   }
    217.  
    218. }
    219.  
    220. eliminateAnonymous();
    221.  
     
    chelnok, Novack, ModLunar and 3 others like this.
  33. anycolourulike

    anycolourulike

    Joined:
    Oct 14, 2017
    Posts:
    5
    Another load of $$anonymous$$ from the gang of $$anonymous$$ at Unity
     
    Vincent454 likes this.
  34. CreativePrismStudio

    CreativePrismStudio

    Joined:
    Nov 16, 2017
    Posts:
    7
    Thanks for keeping this around. This has been the most helpful place for answers to unique questions usually not found in many other places.
     
    chelnok and ModLunar like this.
  35. chelnok

    chelnok

    Joined:
    Jul 2, 2012
    Posts:
    680
    Easy to install from github, simple how to: https://forum.unity.com/threads/cer...ced-with-anonymous.960722/page-3#post-8833414
     
  36. Andy-Touch

    Andy-Touch

    A Moon Shaped Bool Unity Legend

    Joined:
    May 5, 2014
    Posts:
    1,455
    It looks like Unity Answers is currently down?
     
    Ony and ModLunar like this.
  37. ModLunar

    ModLunar

    Joined:
    Oct 16, 2016
    Posts:
    372
    Yeah, I'm getting a 502 Bad Gateway error when I try to access Unity Answers currently
     
  38. Bunny83

    Bunny83

    Joined:
    Oct 18, 2010
    Posts:
    3,604
    This happens every now and then. Is an internal issue of UA. Should come back on after some time. Other common issues are the expiration of the SSL certificate. The maintenance of UA is not what we would call "top notch"...
     
    Ryiah, Novack and ModLunar like this.
  39. Shizola

    Shizola

    Joined:
    Jun 29, 2014
    Posts:
    452
    Unity Answers being down must mean they're about to fix the anonymous issue :D
     
    Novack likes this.
  40. Predulus

    Predulus

    Joined:
    Feb 5, 2018
    Posts:
    90
    SMH at this company.
     
    unity_QJ7RazXzghZCzA likes this.
  41. Ultroman

    Ultroman

    Joined:
    Mar 10, 2014
    Posts:
    105
    Thanks for keeping it up <3

    The fact that Unity Answers still has solutions to bugs and annoyances that are over 10 years old and still prevalent, seems to indicate that other tasks should be prioritized over saving a few bucks by removing said solutions.

    Also, please do something about the auto-replace of every instance of "hi" with "$$anonymous$$". Is it not possible to do a find/replace to fix these things? It has destroyed many answers that are hardly legible anymore.
     
    Last edited: Mar 14, 2023
  42. unity_QJ7RazXzghZCzA

    unity_QJ7RazXzghZCzA

    Joined:
    Jul 9, 2021
    Posts:
    101
    Unity answers deprecated moment...
     
  43. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,229
    chelnok and Bunny83 like this.
  44. Ultroman

    Ultroman

    Joined:
    Mar 10, 2014
    Posts:
    105
  45. UnityJuju

    UnityJuju

    Unity Technologies

    Joined:
    Jun 15, 2021
    Posts:
    211
    Hi everyone,

    We have some exciting news to share with you!

    Unity Answers content will be migrated to a new Community platform and we are aiming to launch a public beta later in May. Before the beta starts, we will set Unity Answers to read-only mode in order to prepare for the migration so that the existing content is available on the new platform from the first day of public testing.

    For more information, please read our full announcement.
     
    chelnok, ModLunar, NotaNaN and 4 others like this.
Thread Status:
Not open for further replies.